diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2006-11-22 23:22:06 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2006-11-22 23:22:06 +0000 |
commit | 48237b0c88343154d58854020c3a9c8b07c61b10 (patch) | |
tree | b36bc84f22dd797b45c8d665e50e2f6c690e1370 /networking/udhcp/arpping.c | |
parent | b40bdb383a6b7a7f0fd36d0b1cc24deb42cd5f0d (diff) | |
download | busybox-w32-48237b0c88343154d58854020c3a9c8b07c61b10.tar.gz busybox-w32-48237b0c88343154d58854020c3a9c8b07c61b10.tar.bz2 busybox-w32-48237b0c88343154d58854020c3a9c8b07c61b10.zip |
introduce setsockopt_reuseaddr(int fd), setsockopt_broadcast(int fd),
use them where appropriate. 200 bytes saved
Diffstat (limited to 'networking/udhcp/arpping.c')
-rw-r--r-- | networking/udhcp/arpping.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/networking/udhcp/arpping.c b/networking/udhcp/arpping.c index 471e36d62..9c8b9c562 100644 --- a/networking/udhcp/arpping.c +++ b/networking/udhcp/arpping.c | |||
@@ -44,9 +44,7 @@ struct arpMsg { | |||
44 | /* FIXME: match response against chaddr */ | 44 | /* FIXME: match response against chaddr */ |
45 | int arpping(uint32_t yiaddr, uint32_t ip, uint8_t *mac, char *interface) | 45 | int arpping(uint32_t yiaddr, uint32_t ip, uint8_t *mac, char *interface) |
46 | { | 46 | { |
47 | |||
48 | int timeout = 2; | 47 | int timeout = 2; |
49 | int optval = 1; | ||
50 | int s; /* socket */ | 48 | int s; /* socket */ |
51 | int rv = 1; /* return value */ | 49 | int rv = 1; /* return value */ |
52 | struct sockaddr addr; /* for interface name */ | 50 | struct sockaddr addr; /* for interface name */ |
@@ -56,12 +54,13 @@ int arpping(uint32_t yiaddr, uint32_t ip, uint8_t *mac, char *interface) | |||
56 | time_t prevTime; | 54 | time_t prevTime; |
57 | 55 | ||
58 | 56 | ||
59 | if ((s = socket(PF_PACKET, SOCK_PACKET, htons(ETH_P_ARP))) == -1) { | 57 | s = socket(PF_PACKET, SOCK_PACKET, htons(ETH_P_ARP)); |
58 | if (s == -1) { | ||
60 | bb_perror_msg(bb_msg_can_not_create_raw_socket); | 59 | bb_perror_msg(bb_msg_can_not_create_raw_socket); |
61 | return -1; | 60 | return -1; |
62 | } | 61 | } |
63 | 62 | ||
64 | if (setsockopt(s, SOL_SOCKET, SO_BROADCAST, &optval, sizeof(optval)) == -1) { | 63 | if (setsockopt_broadcast(s) == -1) { |
65 | bb_perror_msg("cannot setsocketopt on raw socket"); | 64 | bb_perror_msg("cannot setsocketopt on raw socket"); |
66 | close(s); | 65 | close(s); |
67 | return -1; | 66 | return -1; |