home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / ftp.vapor.com / microdot-1 / md1_src_02.lzx / xproto.h < prev    next >
C/C++ Source or Header  |  2014-05-19  |  3KB  |  113 lines

  1. /** xproto.h
  2. *
  3. *   Include file for External Protocol Handling
  4. *
  5. **/
  6. /*
  7. *   The structure
  8. */
  9. struct XPR_IO {
  10.           /* File name(s) */
  11.           char    *xpr_filename;
  12.           /* Initialized by Setup. */
  13.           long    *xpr_data;
  14.           /* Get various host ptrs */
  15.           /*long (* __asm xpr_getptr)(register __d0 long type);*/
  16.           };
  17. /*
  18. *   Number of defined extensions
  19. */
  20. #define XPR_EXTENSION 4L
  21.  
  22. /*
  23. *   The functions
  24. */
  25. #ifndef LATTICE
  26. extern long XProtocolSend(),  XProtocolReceive(),
  27.         XProtocolSetup(), XProtocolCleanup();
  28. #endif
  29. /*
  30. *   Flags returned by XProtocolSetup()
  31. */
  32. #define XPRS_FAILURE    0x00000000L
  33. #define XPRS_SUCCESS    0x00000001L
  34. #define XPRS_NORECREQ    0x00000002L
  35. #define XPRS_NOSNDREQ    0x00000004L
  36. #define XPRS_HOSTMON    0x00000008L
  37. #define XPRS_USERMON    0x00000010L
  38. #define XPRS_HOSTNOWAIT 0x00000020L
  39. /*
  40. *   The update structure
  41. */
  42. struct XPR_UPDATE {    long  xpru_updatemask;
  43.             char *xpru_protocol;
  44.             char *xpru_filename;
  45.             long  xpru_filesize;
  46.             char *xpru_msg;
  47.             char *xpru_errormsg;
  48.             long  xpru_blocks;
  49.             long  xpru_blocksize;
  50.             long  xpru_bytes;
  51.             long  xpru_errors;
  52.             long  xpru_timeouts;
  53.             long  xpru_packettype;
  54.             long  xpru_packetdelay;
  55.             long  xpru_chardelay;
  56.             char *xpru_blockcheck;
  57.             char *xpru_expecttime;
  58.             char *xpru_elapsedtime;
  59.             long  xpru_datarate;
  60.             long  xpru_reserved1;
  61.             long  xpru_reserved2;
  62.             long  xpru_reserved3;
  63.             long  xpru_reserved4;
  64.             long  xpru_reserved5;
  65.            };
  66. /*
  67. *   The possible bit values for the xpru_updatemask are:
  68. */
  69. #define XPRU_PROTOCOL        0x00000001L
  70. #define XPRU_FILENAME        0x00000002L
  71. #define XPRU_FILESIZE        0x00000004L
  72. #define XPRU_MSG        0x00000008L
  73. #define XPRU_ERRORMSG        0x00000010L
  74. #define XPRU_BLOCKS        0x00000020L
  75. #define XPRU_BLOCKSIZE        0x00000040L
  76. #define XPRU_BYTES        0x00000080L
  77. #define XPRU_ERRORS        0x00000100L
  78. #define XPRU_TIMEOUTS        0x00000200L
  79. #define XPRU_PACKETTYPE     0x00000400L
  80. #define XPRU_PACKETDELAY    0x00000800L
  81. #define XPRU_CHARDELAY        0x00001000L
  82. #define XPRU_BLOCKCHECK     0x00002000L
  83. #define XPRU_EXPECTTIME     0x00004000L
  84. #define XPRU_ELAPSEDTIME    0x00008000L
  85. #define XPRU_DATARATE        0x00010000L
  86. /*
  87. *   The xpro_option structure
  88. */
  89. struct xpr_option {
  90.    char *xpro_description;    /* description of the option              */
  91.    long  xpro_type;        /* type of option                  */
  92.    char *xpro_value;        /* pointer to a buffer with the current value */
  93.    long  xpro_length;        /* buffer size                      */
  94. };
  95. /*
  96. *   Valid values for xpro_type are:
  97. */
  98. #define XPRO_BOOLEAN 1L     /* xpro_value is "yes", "no", "on" or "off"   */
  99. #define XPRO_LONG    2L     /* xpro_value is string representing a number */
  100. #define XPRO_STRING  3L     /* xpro_value is a string              */
  101. #define XPRO_HEADER  4L     /* xpro_value is ignored              */
  102. #define XPRO_COMMAND 5L     /* xpro_value is ignored              */
  103. #define XPRO_COMMPAR 6L     /* xpro_value contains command parameters     */
  104.  
  105. long xpr_finfo(char*,long);
  106. long xpr_ffirst(char*,char*);
  107. long xpr_fnext(long,char*,char*);
  108. long xpr_swrite(char*,long);
  109. long xpr_sflush(void);
  110. long xpr_sread(char*,long,long);
  111. long xpr_chkabort(void);
  112. void xpr_update(struct XPR_UPDATE *);
  113.