summaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-12-31 03:33:50 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-12-31 03:33:50 +0000
commit15c0b725849875c718b168a26e13872e163cde4c (patch)
tree687a5425953ae362ef285c6c671f09a05d3fa3c0 /libbb
parentccdc13d306c0a8d2735488bf8e46503f7e567767 (diff)
downloadbusybox-w32-1_13_2.tar.gz
busybox-w32-1_13_2.tar.bz2
busybox-w32-1_13_2.zip
Apply post 1.13.1 patches, bump to 1.13.21_13_2
Diffstat (limited to 'libbb')
-rw-r--r--libbb/xconnect.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libbb/xconnect.c b/libbb/xconnect.c
index d48c50339..27c7424b6 100644
--- a/libbb/xconnect.c
+++ b/libbb/xconnect.c
@@ -7,6 +7,7 @@
7 */ 7 */
8 8
9#include <netinet/in.h> 9#include <netinet/in.h>
10#include <net/if.h>
10#include "libbb.h" 11#include "libbb.h"
11 12
12void FAST_FUNC setsockopt_reuseaddr(int fd) 13void FAST_FUNC setsockopt_reuseaddr(int fd)
@@ -17,6 +18,20 @@ int FAST_FUNC setsockopt_broadcast(int fd)
17{ 18{
18 return setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &const_int_1, sizeof(const_int_1)); 19 return setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &const_int_1, sizeof(const_int_1));
19} 20}
21int FAST_FUNC setsockopt_bindtodevice(int fd, const char *iface)
22{
23 int r;
24 struct ifreq ifr;
25 strncpy(ifr.ifr_name, iface, IFNAMSIZ);
26 /* Actually, ifr_name is at offset 0, and in practice
27 * just giving char[IFNAMSIZ] instead of struct ifreq works too.
28 * But just in case it's not true on some obscure arch... */
29 r = setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr));
30 if (r)
31 bb_perror_msg("can't bind to interface %s", iface);
32 return r;
33}
34
20 35
21void FAST_FUNC xconnect(int s, const struct sockaddr *s_addr, socklen_t addrlen) 36void FAST_FUNC xconnect(int s, const struct sockaddr *s_addr, socklen_t addrlen)
22{ 37{