home *** CD-ROM | disk | FTP | other *** search
/ kermit.columbia.edu / kermit.columbia.edu.tar / kermit.columbia.edu / sinclairqla / qlker.h < prev    next >
C/C++ Source or Header  |  1987-05-07  |  5KB  |  133 lines

  1. /*
  2.     KER_H - QL-Kermit header file
  3.  
  4.     Based on ckuker.h, (C) Columbia University
  5. */
  6.  
  7.  
  8. /* Include files */
  9.  
  10. #include "flp1_stdio_h"                          /* Standard I/O definitions */
  11. #include "flp1_qdos_h"                           /* QDOS system calls */
  12.  
  13.  
  14. /* Switcher states */
  15.  
  16. #define ABORT      0                             /* Abort */
  17. #define COMP       1                             /* Complete */
  18. #define IDLE       2                             /* Idle */
  19. #define R_INIT     3                             /* Receive Initiate */
  20. #define R_FILE     4                             /* Receive File */
  21. #define R_DATA     5                             /* Receive Data */
  22. #define S_INIT     6                             /* Send Initiate */
  23. #define S_FILE     7                             /* Send File */
  24. #define S_DATA     8                             /* Send Data */
  25. #define S_EOF      9                             /* Send EOF */
  26. #define S_BRK      10                            /* Send EOT */
  27. #define S_COMD     11                            /* Send Generic Command */
  28. #define G_INIT     12                            /* Get Initiate */
  29. #define T_INIT     13                            /* Not used */
  30. #define K_ERR      14                            /* Send Error */
  31.  
  32.  
  33. /* Pseudo-packet types */
  34.  
  35. #define INTE       -2                            /* CTRL-E interrupt */
  36. #define BAD        -1                            /* Timeout or checksum error */
  37.  
  38.  
  39. /* QL ASCII characters */
  40.  
  41. #define NUL        0                             /* Null */
  42. #define SOH        1                             /* Start of packet */
  43. #define BEL        7                             /* Bell (Beep) */
  44. #define BS         8                             /* Backspace */
  45. #define HT         9                             /* Tab */
  46. #define LF         10                            /* Linefeed */
  47. #define CR         13                            /* Carriage Return */
  48. #define SP         ' '                           /* Space */
  49. #define DEL        127                           /* ASCII delete (pad) */
  50. #define DELC       194                           /* CTRL-left, delete character */
  51. #define FF         12                            /* Formfeed    (^L) */
  52. #define RDIS       18                            /* Redisplay   (^R) */
  53. #define LDEL       21                            /* Delete line (^U) */
  54. #define WDEL       23                            /* Delete word (^W) */
  55. #define ESC        27                            /* Escape */
  56. #define F1         232                           /* Function key 1 */
  57. #define F2         236                           /*              2 */
  58. #define F3         240                           /*              3 */
  59. #define F4         244                           /*              4 */
  60. #define F5         248                           /*              5 */
  61.  
  62. /* Kermit parameters and defaults */
  63.  
  64. #define MAXPACK    94                            /* Maximum packet size */
  65. #define RBUFL      200                           /* Receive buffer length */
  66. #define MAXTRY     5                             /* Times to retry a packet */
  67. #define DMYTIM     20                            /* Default timeout I use */
  68. #define URTIME     20                            /* Default timeout remote uses */
  69. #define MYEOL      CR                            /* EOL character I need */
  70. #define DRPSIZ     94                            /* Default incoming packet size */
  71. #define DSPSIZ     94                            /* Default outbound packet size */
  72. #define DFSPEED    "9600"                        /* Default line speed */
  73. #define DDELAY     5                             /* Default delay before SEND */
  74.  
  75. #define MAXTAKE    10                            /* Maximum TAKE file depth */
  76. #define MAXFILNO   10                            /* Max files handled per execution */
  77.  
  78. #define BLKSIZ     512                           /* Buffer size for file I/O */
  79.  
  80. #define DFTAKE     "flp1_qlk_take"               /* Starting TAKE file */
  81.  
  82.  
  83. /* Parity types */
  84.  
  85. #define PYNONE     1
  86. #define PYEVEN     2
  87. #define PYODD      3
  88. #define PYMARK     4
  89. #define PYSPC      5
  90.  
  91.  
  92. /* File transfer types */
  93.  
  94. #define FTASC      0
  95. #define FTBIN      1
  96.  
  97.  
  98. /* Debugging levels */
  99.  
  100. #define DBOFF      0
  101. #define DBON       1
  102. #define DBFULL     2
  103.  
  104.  
  105. /* File name translation */
  106.  
  107. #define FNNORM     1
  108. #define FNUNTR     2
  109.  
  110.  
  111. /* Programming conveniences */
  112.  
  113. #define TRUE       (-1)                          /* Boolean constants */
  114. #define FALSE      0
  115.  
  116. #define forever    while(1)                      /* Infinite loop */
  117. #define endcase    break                         /* Make switch end obvious */
  118.  
  119. typedef int bool;                                /* Flag data type */
  120.  
  121. #define register                                 /* MCC C not very good on these */
  122.  
  123.  
  124. /* Macro definitions */
  125.  
  126. #define tochar(ch) ((ch)+SP)                     /* Number to character */
  127. #define unchar(ch) ((ch)-SP)                     /* Character to number */
  128. #define ctl(ch)    ((ch)^64)                     /* Controllify/uncontrollify */
  129. #define unpar(ch)  ((ch)&127)                    /* Clear parity bit */
  130.  
  131. #define debon      (debug>=DBON)                 /* Debugging on */
  132. #define debfull    (debug==DBFULL)               /* Full debugging on */
  133.