Mercurial > hg > toybox
diff toys/other/netcat.c @ 674:7e846e281e38
New build infrastructure to generate FLAG_ macros and TT alias, #define FOR_commandname before #including toys.h to trigger it. Rename DEFINE_GLOBALS() to just GLOBALS() (because I could never remember if it was DECLARE_GLOBALS). Convert existing commands to use new infrastructure, and replace optflag constants with FLAG_ macros where appropriate.
author | Rob Landley <rob@landley.net> |
---|---|
date | Mon, 08 Oct 2012 00:02:30 -0500 |
parents | 6df4ccc0acbe |
children | 786841fdb1e0 |
line wrap: on
line diff
--- a/toys/other/netcat.c Sun Oct 07 23:53:25 2012 -0500 +++ b/toys/other/netcat.c Mon Oct 08 00:02:30 2012 -0500 @@ -3,6 +3,9 @@ * netcat.c - Forward stdin/stdout to a file or network connection. * * Copyright 2007 Rob Landley <rob@landley.net> + * + * TODO: udp, ipv6, genericize for telnet/microcom/tail-f + USE_NETCAT(OLDTOY(nc, netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_BIN)) USE_NETCAT(NEWTOY(netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_BIN)) @@ -40,10 +43,11 @@ netcat -s 127.0.0.1 -p 1234 -tL /bin/bash -l */ +#define FOR_netcat #include "toys.h" #include "toynet.h" -DEFINE_GLOBALS( +GLOBALS( char *filename; // -f read from filename instead of network long quit_delay; // -q Exit after EOF from stdin after # seconds. char *source_address; // -s Bind to a specific source address. @@ -51,13 +55,6 @@ long wait; // -w Wait # seconds for a connection. ) -#define TT this.netcat - -#define FLAG_f 1 -#define FLAG_L 32 -#define FLAG_l 64 -#define FLAG_t 128 - static void timeout(int signum) { if (TT.wait) error_exit("Timeout");