home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR24 / EDMI2.ZIP / CLNTSRV.ZIP / client.c next >
C/C++ Source or Header  |  1993-03-21  |  1KB  |  66 lines

  1. #define INCL_ERRORS
  2. #define INCL_DOS
  3. #include <os2.h>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7.  
  8. #define PROGNAME "client"
  9. #define PIPE_NAME "\\pipe\\sembatch\\server"
  10. #define MESSAGE_SIZE 128
  11.  
  12. typedef char *pchar, **ppchar;
  13.  
  14. void error_check(char *string,int i) {
  15.     if (i) {
  16.         printf ("%s -- Error %d!!!\n",string,i);
  17.         exit(-1);
  18.     }
  19. }
  20.  
  21. void main (int argc, char *argv[]) {
  22.     HFILE hfFile;
  23.     CHAR pszInBuf[MESSAGE_SIZE],pszOutBuf[MESSAGE_SIZE];
  24.     ULONG ulBytes,ulActionTaken,ulFileSize,ulFileAttribute,ulOpenFlag;
  25.     ULONG ulOpenMode;
  26.     USHORT rc;
  27.     INT i;
  28.  
  29.     setbuf(stdout,NULL);
  30.     for (i=1;i<argc;i++) {
  31.         rc=DosWaitNPipe(PIPE_NAME,-1);
  32.         error_check("DosWaitNPipe",rc);
  33.         ulFileSize=0;
  34.         ulFileAttribute=0;
  35.         ulOpenFlag=OPEN_ACTION_OPEN_IF_EXISTS;
  36.         ulOpenMode=OPEN_SHARE_DENYNONE | OPEN_ACCESS_READWRITE;
  37.         rc=DosOpen(PIPE_NAME,
  38.                    &hfFile,
  39.                    &ulActionTaken,
  40.                    ulFileSize,
  41.                    ulFileAttribute,
  42.                    ulOpenFlag,
  43.                    ulOpenMode,
  44.                    NULL);
  45.         error_check("DosOpen",rc);
  46.         
  47.         strcpy(pszOutBuf,argv[i]);
  48.         
  49.         rc=DosWrite(hfFile,pszOutBuf,MESSAGE_SIZE,&ulBytes);
  50.         error_check("DosWrite",rc);
  51.         printf("wrote:%s\n",pszOutBuf);
  52. /*
  53.         rc=DosResetBuffer(hfFile);
  54.         error_check("DosResetBuffer",rc);
  55. */        
  56.         rc=DosRead(hfFile,pszInBuf,MESSAGE_SIZE,&ulBytes);
  57.         error_check("DosRead",rc);
  58.         printf("read:%s\n",pszInBuf);
  59.  
  60.         rc=DosClose(hfFile);
  61.         error_check("DosClose",rc);
  62.     }
  63. }
  64.  
  65.  
  66.