introduce and use xdup2(int, int)
stop checking whether setsockopt_reuseaddr(int fd) was successful (it always is) remove second parameter (sockllen) from xmalloc_sockaddr2xxxxx functions sockaddr2str 142 156 +14 collect_blk 467 474 +7 xdup2 28 33 +5 singlemount 4456 4454 -2 print_host 214 212 -2 nslookup_main 139 137 -2 ftpgetput_main 414 412 -2 udhcpd_main 1258 1255 -3 udhcpc_main 2405 2402 -3 traceroute_main 4125 4122 -3 nc_main 1072 1069 -3 buffer_fill_and_print 76 73 -3 xmalloc_sockaddr2hostonly_noport 18 14 -4 xmalloc_sockaddr2host_noport 18 14 -4 xmalloc_sockaddr2host 15 11 -4 xmalloc_sockaddr2dotted_noport 18 14 -4 xmalloc_sockaddr2dotted 18 14 -4 wget_main 2618 2614 -4 ping_main 393 389 -4 ip_port_str 120 115 -5 dhcprelay_main 1146 1141 -5 dnsd_main 1531 1525 -6 passwd_main 1110 1102 -8 udhcp_kernel_packet 206 197 -9 udhcp_listen_socket 154 144 -10 getty_main 2576 2566 -10 setup 655 640 -15 xmove_fd 51 34 -17 dolisten 759 742 -17 tcpudpsvd_main 1866 1836 -30 startservice 339 299 -40
This commit is contained in:
parent
b98c26ad68
commit
a27a11bb2c
23 changed files with 95 additions and 107 deletions
|
@ -241,6 +241,7 @@ extern char *bb_get_last_path_component(char *path);
|
|||
|
||||
int ndelay_on(int fd);
|
||||
int ndelay_off(int fd);
|
||||
void xdup2(int, int);
|
||||
void xmove_fd(int, int);
|
||||
|
||||
|
||||
|
@ -288,8 +289,7 @@ ssize_t xsendto(int s, const void *buf, size_t len, const struct sockaddr *to,
|
|||
* time out. Linux does not allow multiple live binds on same ip:port
|
||||
* regardless of SO_REUSEADDR (unlike some other flavors of Unix).
|
||||
* Turn it on before you call bind(). */
|
||||
//TODO: it seems like in Linux this never fails. Change to void, eliminate error checks
|
||||
int setsockopt_reuseaddr(int fd);
|
||||
void setsockopt_reuseaddr(int fd); /* On Linux this never fails. */
|
||||
int setsockopt_broadcast(int fd);
|
||||
/* NB: returns port in host byte order */
|
||||
unsigned bb_lookup_port(const char *port, const char *protocol, unsigned default_port);
|
||||
|
@ -360,14 +360,14 @@ void set_nport(len_and_sockaddr *lsa, unsigned port);
|
|||
/* Retrieve sin[6]_port or return -1 for non-INET[6] lsa's */
|
||||
int get_nport(const struct sockaddr *sa);
|
||||
/* Reverse DNS. Returns NULL on failure. */
|
||||
char* xmalloc_sockaddr2host(const struct sockaddr *sa, socklen_t salen);
|
||||
char* xmalloc_sockaddr2host(const struct sockaddr *sa);
|
||||
/* This one doesn't append :PORTNUM */
|
||||
char* xmalloc_sockaddr2host_noport(const struct sockaddr *sa, socklen_t salen);
|
||||
char* xmalloc_sockaddr2host_noport(const struct sockaddr *sa);
|
||||
/* This one also doesn't fall back to dotted IP (returns NULL) */
|
||||
char* xmalloc_sockaddr2hostonly_noport(const struct sockaddr *sa, socklen_t salen);
|
||||
char* xmalloc_sockaddr2hostonly_noport(const struct sockaddr *sa);
|
||||
/* inet_[ap]ton on steroids */
|
||||
char* xmalloc_sockaddr2dotted(const struct sockaddr *sa, socklen_t salen);
|
||||
char* xmalloc_sockaddr2dotted_noport(const struct sockaddr *sa, socklen_t salen);
|
||||
char* xmalloc_sockaddr2dotted(const struct sockaddr *sa);
|
||||
char* xmalloc_sockaddr2dotted_noport(const struct sockaddr *sa);
|
||||
// "old" (ipv4 only) API
|
||||
// users: traceroute.c hostname.c - use _list_ of all IPs
|
||||
struct hostent *xgethostbyname(const char *name);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue