diff options
author | William Harrington <kb0iic@berzerkula.org> | 2025-01-14 16:06:02 -0600 |
---|---|---|
committer | William Harrington <kb0iic@berzerkula.org> | 2025-01-14 16:06:02 -0600 |
commit | 0cc9b20c15460213e488bf5e70963b941482f628 (patch) | |
tree | bb0143245583ec846630f39bfa2258dba640ccd7 /spo256/client.c | |
parent | 0e084ade5069756d487b5c948c48b777e37c00c9 (diff) |
Add source.
Diffstat (limited to 'spo256/client.c')
-rw-r--r-- | spo256/client.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/spo256/client.c b/spo256/client.c new file mode 100644 index 0000000..b43696f --- /dev/null +++ b/spo256/client.c @@ -0,0 +1,40 @@ +/* + * Client operating mode. + * $Id: client.c 1.2 Mon, 24 Mar 1997 12:25:37 -0500 dyfet $ + * Copyright (c) 1997 by Tycho Softworks. + * For conditions of distribution and reuse see product license. + * + * Abstract: + * The client mode of operation will connect to SPO256 server and + * redirect standard output to the server. This allows the speak + * (spo256) image to be used to terminate pipes. + */ + +#include <std/process.h> +#include <other/string.h> +#include <std/files.h> +#include <other/config.h> +#include <net/socket.h> +#include <net/stream.h> +#include "speak.h" + +void client(char *hostname, ushort port) +{ + STREAM fp = opentcp(hostname, port); + char buf[1024]; + + if(!fp) + fatal(EX_UNAVAILABLE, "spo256: %s: unkown host\n", hostname); + + gettcp(buf, sizeof(buf) - 1, fp); /* get banner line */ + while(!feof(stdin)) + { + fgets(buf, sizeof(buf) - 1, stdin); + if(feof(stdin)) + break; + + puttcp(buf, fp); + } + closetcp(fp); + exit(0); +} |