aboutsummaryrefslogtreecommitdiff
path: root/libbb/xconnect.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbb/xconnect.c')
-rw-r--r--libbb/xconnect.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/libbb/xconnect.c b/libbb/xconnect.c
index 2a96e03dc..6e78e6363 100644
--- a/libbb/xconnect.c
+++ b/libbb/xconnect.c
@@ -14,13 +14,34 @@
14#include <sys/un.h> 14#include <sys/un.h>
15#include "libbb.h" 15#include "libbb.h"
16 16
17int FAST_FUNC setsockopt_int(int fd, int level, int optname, int optval)
18{
19 return setsockopt(fd, level, optname, &optval, sizeof(int));
20}
21int FAST_FUNC setsockopt_1(int fd, int level, int optname)
22{
23 return setsockopt_int(fd, level, optname, 1);
24}
25int FAST_FUNC setsockopt_SOL_SOCKET_int(int fd, int optname, int optval)
26{
27 return setsockopt_int(fd, SOL_SOCKET, optname, optval);
28}
29int FAST_FUNC setsockopt_SOL_SOCKET_1(int fd, int optname)
30{
31 return setsockopt_SOL_SOCKET_int(fd, optname, 1);
32}
33
17void FAST_FUNC setsockopt_reuseaddr(int fd) 34void FAST_FUNC setsockopt_reuseaddr(int fd)
18{ 35{
19 setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &const_int_1, sizeof(const_int_1)); 36 setsockopt_SOL_SOCKET_1(fd, SO_REUSEADDR);
20} 37}
21int FAST_FUNC setsockopt_broadcast(int fd) 38int FAST_FUNC setsockopt_broadcast(int fd)
22{ 39{
23 return setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &const_int_1, sizeof(const_int_1)); 40 return setsockopt_SOL_SOCKET_1(fd, SO_BROADCAST);
41}
42int FAST_FUNC setsockopt_keepalive(int fd)
43{
44 return setsockopt_SOL_SOCKET_1(fd, SO_KEEPALIVE);
24} 45}
25 46
26#ifdef SO_BINDTODEVICE 47#ifdef SO_BINDTODEVICE