home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / me34src.zip / me3 / comserver / comserver.h < prev    next >
Text File  |  1995-01-14  |  2KB  |  65 lines

  1. /* comserver.h
  2.  * Craig Durland    Public Domain
  3.  */
  4.  
  5. /* ********************* Packets ***************************** */
  6.  
  7. #define CS_MAGIC        26    /* magic number */
  8.  
  9.     /* To client: */
  10. #define CS_PROCESS_DONE         0    /* format: op    pid exit_code */
  11. #define CS_OUTPUT         1    /* format: op    pid text */
  12. #define CS_OUTPUT_ERR         2    /* format: op    pid text */
  13. #define CS_ERROR         3    /* format: error pid error_code */
  14. #define CS_PROCESS_ID         4    /* format: op    pid */
  15.  
  16.     /* To both: */
  17. #define CS_CLIENT_MSG         5    /* format: op tag text */
  18.  
  19.     /* To server: */
  20. #define CS_DISCONNECT        10    /* format: op */
  21. #define CS_DIR            11    /* format: op directory */
  22. #define CS_DO_IT        12    /* format: op */
  23. #define CS_COMMAND        13    /* format: op command */
  24. #define CS_SIGNAL        14    /* format: op pid signal */
  25. #define CS_CREATE_PROCESS    15    /* format: op */
  26. #define CS_NUKE_PROCESS        16    /* format: op pid */
  27.  
  28.  
  29.     /* CS_ERROR codes: */
  30. #define CS_ERROR_SERVER_DIED    0
  31. #define CS_ERROR_PROTOCOL    1    /* protocol error */
  32. #define CS_ERROR_READ        2    /* read error */
  33.  
  34.  
  35. /* ********************* Structures ***************************** */
  36.  
  37. typedef struct
  38. {
  39.   int start, size;
  40.   char buf[300];
  41. } CSPacket;
  42.  
  43. typedef struct
  44. {
  45.   int type;
  46.   union
  47.   {
  48.         /* to server */
  49.     struct { int two_pipe; }    Process;
  50.     struct { char *dir; }    Directory;
  51.     struct { char *command; }    Command;
  52.     struct { int pid, sig; }    Signal;
  53.     struct { int pid; }        Nuke;
  54.  
  55.         /* to client */
  56.     struct { int pid, exit_code; }    ProcessDone;
  57.     struct { int pid; }            Pid;
  58.     struct { int pid; char *text; }    Output;
  59.     struct { int pid, error_code; }    Error;
  60.  
  61.         /* to both */
  62.     struct { int dud, tag; char *msg; }    ClientMsg;
  63.   } u;
  64. } xPacket;
  65.