From 992e05b6f070562d83f9238b227e1ddbf951c9af Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Tue, 3 Apr 2007 01:13:04 +0000 Subject: udpsvd: more work on it. works in limited testing. --- include/libbb.h | 11 +++++++++++ include/usage.h | 27 ++++++++++++++++++--------- 2 files changed, 29 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/libbb.h b/include/libbb.h index b802e01..e5413b1 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -321,6 +321,17 @@ typedef struct len_and_sockaddr { #endif }; } len_and_sockaddr; +enum { + LSA_SIZEOF_SA = sizeof( + union { + struct sockaddr sa; + struct sockaddr_in sin; +#if ENABLE_FEATURE_IPV6 + struct sockaddr_in6 sin6; +#endif + } + ) +}; /* Create stream socket, and allocated suitable lsa * (lsa of correct size and lsa->sa.sa_family (AF_INET/AF_INET6)) */ int xsocket_stream(len_and_sockaddr **lsap); diff --git a/include/usage.h b/include/usage.h index cec2dd7..bab14f5 100644 --- a/include/usage.h +++ b/include/usage.h @@ -3326,32 +3326,41 @@ USE_FEATURE_RUN_PARTS_FANCY("\n -l Prints names of all matching files even when "1\n" #define tcpsvd_trivial_usage \ - "[-hpEvv] [-c n] [-C n:msg] [-b n] [-u user] [-l name] ip port prog..." + "[-hEv] [-c n] [-C n:msg] [-b n] [-u user] [-l name] ip port prog..." /* with not-implemented options: */ /* "[-hpEvv] [-c n] [-C n:msg] [-b n] [-u user] [-l name] [-i dir|-x cdb] [ -t sec] ip port prog..." */ #define tcpsvd_full_usage \ - "tcpsvd creates TCP/IP socket, binds it to host:port\n" \ - "and listens on in for incoming connections. For each connection\n" \ - "it runs prog" \ + "Creates TCP socket, binds it to host:port and listens on in\n" \ + "for incoming connections. For each connection it runs prog" \ "\n" \ - "\nip IP to listen on. '0' = 'all'" \ + "\nip IP to listen on. '0' = all" \ "\nport Port to listen on" \ - "\nprog [arg] Program to run for each connection" \ + "\nprog [arg] Program to run" \ "\n-l name Local hostname (else looks up local hostname in DNS)" \ "\n-u user[:group] Change to user/group after bind" \ "\n-c n Handle up to n connections simultaneously" \ "\n-C n[:msg] Allow only up to n connections from the same IP" \ "\n New connections from this IP address are closed" \ "\n immediately. 'msg' is written to the peer before close" \ - "\n-h Look up peer's hostname in DNS" \ + "\n-h Look up peer's hostname" \ "\n-b n Allow a backlog of approximately n TCP SYNs" \ "\n-E Do not set up TCP-related environment variables" \ "\n-v Verbose" #define udpsvd_trivial_usage \ - "TODO" + "[-hv] [-u user] [-l name] host port prog" #define udpsvd_full_usage \ - "TODO" + "Creates UDP socket, binds it to host:port and listens on in\n" \ + "for incoming packets. When packet arrives it runs prog.\n" \ + "When prog exits, it start to listen on the socket again" \ + "\n" \ + "\nip IP to listen on. '0' = all" \ + "\nport Port to listen on" \ + "\nprog [arg] Program to run" \ + "\n-l name Local hostname (else looks up local hostname in DNS)" \ + "\n-u user[:group] Change to user/group after bind" \ + "\n-h Look up peer's hostname" \ + "\n-v Verbose" #define tftp_trivial_usage \ "[OPTION]... HOST [PORT]" -- cgit v1.1