home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_08_09 / 8n09071a < prev    next >
Text File  |  1990-06-01  |  2KB  |  56 lines

  1. Listing 4 - RPC Protocol Declarations
  2.  
  3.   
  4. /**************************************************************
  5.  *    remote procedure call protocol definitions              *
  6.  **************************************************************/
  7.  
  8. #define RPC_FOPEN_CMD    0x0001        /* fopen session/file command  */
  9. #define RPC_FOPEN_RSP    0x8001        /* fopen session/file response */
  10.  
  11. #define RPC_FCLOSE_CMD    0x0002        /* fclose session/file command  */
  12. #define RPC_FCLOSE_RSP    0x8002        /* fclose session/file response */
  13.  
  14. #define RPC_FREAD_CMD    0x0003        /* fread session/file command  */
  15. #define RPC_FREAD_RSP    0x8003        /* fread session/file response */
  16.  
  17. #define RPC_FWRITE_CMD    0x0004        /* fwrite session/file command  */
  18. #define RPC_FWRITE_RSP    0x8004        /* fwrite session/file response */
  19.  
  20. #define RPC_FEOF_CMD    0x0005        /* feof session/file command  */
  21. #define RPC_FEOF_RSP    0x8005        /* feof session/file response */
  22.  
  23.  
  24. /**************************************************************
  25.  *    remote procedure call message definitions               *
  26.  **************************************************************/
  27.  
  28. typedef struct {        /* RPC header format */
  29.     int        code;    /* command/response opcode   */
  30.     int        csid;    /* client session identifier */
  31.     int        ssid;    /* server session identifier */
  32.     int        dlen;    /* data field length value   */
  33.    } RPC_HDR;
  34.  
  35. typedef struct {        /* RPC command message format (default) */
  36.     RPC_HDR    hdr;    /* standard header     */
  37.     int        res1;    /* reserved 1 (unused) */
  38.     int        res2;    /* reserved 2 (unused) */
  39.     } RPC_CMD_MSG;
  40.  
  41. typedef struct {    /* RPC response message format (default) */
  42.     RPC_HDR    hdr;    /* standard header */
  43.     int        status;    /* response status */
  44.     int        errno;    /* response errno  */
  45.     } RPC_RSP_MSG;
  46.  
  47. typedef struct {        /* RPC fopen cmd format */
  48.     RPC_HDR    hdr;            /* standard header */
  49.     int        fil1;        /* filler 1        */
  50.     int        fil2;        /* filler 2        */
  51.     char    sname[16];    /* server name     */
  52.     char    fname[64];    /* file name       */
  53.     char    ftype[8];    /* file type       */
  54.     } RPC_FOPEN_CMD_MSG;
  55.  
  56.