aboutsummaryrefslogtreecommitdiff
path: root/toys/other/netcat.c
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2012-10-08 00:02:30 -0500
committerRob Landley <rob@landley.net>2012-10-08 00:02:30 -0500
commitc0e56edaf256adb6c60c5a052525a1ffbb927901 (patch)
treed6bcc5c181ca46910a12d4dece4b26d6c71be3e1 /toys/other/netcat.c
parentdc7a77d1940858495f76998f4d13cac9f73e0226 (diff)
downloadtoybox-c0e56edaf256adb6c60c5a052525a1ffbb927901.tar.gz
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.
Diffstat (limited to 'toys/other/netcat.c')
-rw-r--r--toys/other/netcat.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/toys/other/netcat.c b/toys/other/netcat.c
index 6442c09b..2e90737d 100644
--- a/toys/other/netcat.c
+++ b/toys/other/netcat.c
@@ -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 @@ config NETCAT_LISTEN
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 @@ DEFINE_GLOBALS(
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");