From cf6eb857ea9f25074002bf660e844e6659626b2b Mon Sep 17 00:00:00 2001 From: Felix von Leitner Date: Thu, 26 Feb 2004 18:01:15 +0000 Subject: [PATCH] add two useful little test programs --- CHANGES | 1 + test/client.c | 105 ++++++++++++++++++++++++++++++++++++++++++++++ test/server.c | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 219 insertions(+) create mode 100644 test/client.c create mode 100644 test/server.c diff --git a/CHANGES b/CHANGES index c85b428..7b27483 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,7 @@ make libowfat compile on BSD again (sorry, and thanks to everyone who sent me a patch :-D) add iob_addfile_close, needed for gatling 0.5+ + add test/client and test/server, two simple TCP shell interfaces 0.17: add Linux SIGIO support to IO diff --git a/test/client.c b/test/client.c new file mode 100644 index 0000000..921f4f9 --- /dev/null +++ b/test/client.c @@ -0,0 +1,105 @@ +#include "scan.h" +#include "ip6.h" +#include "str.h" +#include +#include +#include +#include +#include "socket.h" +#include +#ifdef __dietlibc__ +#include +#else +static inline __write1(const char* s) { write(1,s,str_len(s)); } +static inline __write2(const char* s) { write(2,s,str_len(s)); } +#endif + +void panic(const char* s) { + int i=str_len(s); + __write2(s); + if (s[i-1]!='\n') { + __write2(": "); + __write2(strerror(errno)); + __write2("\n"); + } + exit(1); +} + +void blockingcopy(int src,int dest) { + char buf[8192]; + int i,j,k; + for (;;) { + i=read(src,buf,sizeof buf); + if (i==-1) panic("client: error: read() failed"); + if (i==0) exit(0); + for (j=0; j +#include +#include +#include +#include "socket.h" +#include +#ifdef __dietlibc__ +#include +#else +static inline __write1(const char* s) { write(1,s,str_len(s)); } +static inline __write2(const char* s) { write(2,s,str_len(s)); } +#endif + +void panic(const char* s) { + int i=str_len(s); + __write2(s); + if (s[i-1]!='\n') { + __write2(": "); + __write2(strerror(errno)); + __write2("\n"); + } + exit(1); +} + +void blockingcopy(int src,int dest) { + char buf[8192]; + int i,j,k; + for (;;) { + i=read(src,buf,sizeof buf); + if (i==-1) panic("server: error: read() failed"); + if (i==0) exit(0); + for (j=0; j