From 1bf51ea26293120a63e445e07b08ddf718487900 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 9 Feb 2009 12:09:01 +0100 Subject: testprogs/win32: make it possible to run in byte or message mode in npecho_server2 metze --- testprogs/win32/npecho/npecho_server2.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'testprogs/win32/npecho/npecho_server2.c') diff --git a/testprogs/win32/npecho/npecho_server2.c b/testprogs/win32/npecho/npecho_server2.c index 72edb02004..281fc45833 100755 --- a/testprogs/win32/npecho/npecho_server2.c +++ b/testprogs/win32/npecho/npecho_server2.c @@ -15,16 +15,32 @@ int main(int argc, char *argv[]) HANDLE h; DWORD numread = 0; char *outbuffer = malloc(sizeof(ECHODATA)); + BOOL msgmode = FALSE; + DWORD type = 0; if (argc == 1) { - printf("Usage: %s pipename\n", argv[0]); - printf(" Where pipename is something like \\\\servername\\NPECHO\n"); - return -1; + goto usage; + } else if (argc >= 3) { + if (strcmp(argv[2], "byte") == 0) { + msgmode = FALSE; + } else if (strcmp(argv[2], "message") == 0) { + msgmode = TRUE; + } else { + goto usage; + } + } + + if (msgmode == TRUE) { + printf("using message mode\n"); + type = PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT; + } else { + printf("using byte mode\n"); + type = PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_WAIT; } h = CreateNamedPipe(argv[1], PIPE_ACCESS_DUPLEX, - PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT, + type, PIPE_UNLIMITED_INSTANCES, 1024, 1024, @@ -52,4 +68,9 @@ int main(int argc, char *argv[]) CloseHandle(h); return 0; +usage: + printf("Usage: %s pipename [mode]\n", argv[0]); + printf(" Where pipename is something like \\\\servername\\PIPE\\NPECHO\n"); + printf(" Where mode is 'byte' or 'message'\n"); + return -1; } -- cgit