home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 3 Comm / 03-Comm.zip / CKPM5X_S.ZIP / CKUUSR.H < prev    next >
C/C++ Source or Header  |  1990-03-03  |  9KB  |  265 lines

  1. /*  C K U U S R . H  --  Symbol definitions for C-Kermit ckuus*.c modules  */
  2.  
  3. /*
  4.  Author: Frank da Cruz (fdc@columbia.edu, FDCCU@CUVMA.BITNET),
  5.  Columbia University Center for Computing Activities.
  6.  First released January 1985.
  7.  Copyright (C) 1985, 1989, Trustees of Columbia University in the City of New 
  8.  York.  Permission is granted to any individual or institution to use, copy, or
  9.  redistribute this software so long as it is not sold for profit, provided this
  10.  copyright notice is retained.
  11. */
  12.  
  13. /* Name of C-Kermit program initialization file. */
  14. #ifdef vms
  15. #define KERMRC "ckermit.ini"
  16. #else
  17. #ifdef OS2
  18. #define KERMRC "ckermit.ini"
  19. #else
  20. #define KERMRC ".kermrc"
  21. #endif
  22. #endif
  23.  
  24. #ifndef OS2
  25. #ifndef AMIGA
  26. #ifndef vms
  27. #ifndef datageneral
  28. #ifndef OSK
  29. #include <pwd.h>
  30. #endif
  31. #endif
  32. #endif
  33. #endif
  34. #endif 
  35.  
  36. /* Symbols for command source */
  37.  
  38. #define CMD_KB 0            /* Command source = Keboard or stdin */
  39. #define CMD_TF 1            /* Command source = TAKE File */
  40. #define CMD_MD 2            /* Command source = Macro Definition */
  41.  
  42. #define VNAML 20            /* Max length for variable name */
  43.  
  44. /* Values associated with top-level commands, must be 0 or greater. */
  45.  
  46. #define XXBYE   0    /* BYE */
  47. #define XXCLE   1    /* CLEAR */
  48. #define XXCLO   2    /* CLOSE */
  49. #define XXCON   3    /* CONNECT */
  50. #define XXCPY   4    /* COPY */
  51. #define XXCWD   5    /* CWD (Change Working Directory) */
  52. #define XXDEF    6    /* DEFINE (a command macro) */
  53. #define XXDEL   7    /* (Local) DELETE */
  54. #define XXDIR   8    /* (Local) DIRECTORY */
  55. #define XXDIS   9    /* DISABLE <-- changed from DISCONNECT! */
  56. #define XXECH  10    /* ECHO */
  57. #define XXEXI  11    /* EXIT */
  58. #define XXFIN  12    /* FINISH */
  59. #define XXGET  13    /* GET */
  60. #define XXHLP  14    /* HELP */
  61. #define XXINP  15    /* INPUT */
  62. #define XXLOC  16    /* LOCAL */
  63. #define XXLOG  17    /* LOG */
  64. #define XXMAI  18    /* MAIL */
  65. #define XXMOU  19    /* (Local) MOUNT */
  66. #define XXMSG  20    /* (Local) MESSAGE */
  67. #define XXOUT  21    /* OUTPUT */
  68. #define XXPAU  22    /* PAUSE */
  69. #define XXPRI  23    /* (Local) PRINT */
  70. #define XXQUI  24    /* QUIT */
  71. #define XXREC  25    /* RECEIVE */
  72. #define XXREM  26    /* REMOTE */
  73. #define XXREN  27    /* (Local) RENAME */
  74. #define XXSEN  28    /* SEND */
  75. #define XXSER  29       /* SERVER */
  76. #define XXSET  30    /* SET */
  77. #define XXSHE  31    /* Command for SHELL */
  78. #define XXSHO  32    /* SHOW */
  79. #define XXSPA  33    /* (Local) SPACE */
  80. #define XXSTA  34    /* STATISTICS */
  81. #define XXSUB  35    /* (Local) SUBMIT */
  82. #define XXTAK  36    /* TAKE */
  83. #define XXTRA  37    /* TRANSMIT */
  84. #define XXTYP  38    /* (Local) TYPE */
  85. #define XXWHO  39    /* (Local) WHO */
  86. #define XXDIAL 40    /* (Local) DIAL */
  87. #define XXLOGI 41    /* (Local) SCRIPT */
  88. #define XXCOM  42    /* Comment */
  89. #define XXHAN  43       /* HANGUP */
  90. #define XXXLA  44    /* TRANSLATE */
  91. #define XXIF   45    /* IF */
  92. #define  XXIFCO 0       /* IF COUNT */
  93. #define  XXIFER 1       /* IF ERRORLEVEL */
  94. #define  XXIFEX 2       /* IF EXIST */
  95. #define  XXIFFA 3       /* IF FAILURE */
  96. #define  XXIFSU 4       /* IF SUCCESS */
  97. #define  XXIFNO 5       /* IF NOT */
  98. #define  XXIFDE 6       /* IF DEFINED */
  99. #define  XXIFEQ 7    /* IF EQUAL (strings) */
  100. #define  XXIFAE 8       /* IF = (numbers) */
  101. #define  XXIFLT 9       /* IF < (numbers) */
  102. #define  XXIFGT 10      /* IF > (numbers) */
  103. #define XXLBL  46       /* label */
  104. #define XXGOTO 47    /* GOTO */
  105. #define XXEND  48       /* END */
  106. #define XXSTO  49       /* STOP */
  107. #define XXDO   50       /* DO */
  108. #define XXPWD  51       /* PWD */
  109. #define XXTES  52       /* TEST */
  110. #define XXASK  53       /* ASK */
  111. #define XXASKQ 54       /* ASKQ */
  112. #define XXASS  55       /* ASSIGN */
  113. #define XXREI  56       /* REINPUT */
  114. #define XXINC  57       /* INCREMENT */
  115. #define XXDEC  59       /* DECREMENT */
  116. #define XXELS  60       /* ELSE */
  117. #define XXEXE  61    /* EXECUTE */
  118. #define XXWAI  62    /* WAIT */
  119. #define XXVER  63       /* VERSION */
  120. #define XXENA  64       /* ENABLE */
  121.  
  122. /* SET parameters */
  123.  
  124. #define XYBREA  0    /* BREAK simulation */
  125. #define XYCHKT  1    /* Block check type */
  126. #define XYDEBU  2    /* Debugging */
  127. #define XYDELA  3    /* Delay */
  128. #define XYDUPL  4    /* Duplex */
  129. #define XYEOL   5    /* End-Of-Line (packet terminator) */
  130. #define XYESC   6    /* Escape character */
  131. #define XYFILE  7    /* File Parameters */
  132. #define   XYFILN 0      /*  Naming  */
  133. #define   XYFILT 1      /*  Type    */
  134. #define   XYFILW 2      /*  Warning */
  135. #define   XYFILD 3      /*  Display */
  136. #define   XYFILC 4      /*  Character set */
  137. /* empty space to add something */
  138. #define XYFLOW  9    /* Flow Control */
  139. #define XYHAND 10    /* Handshake */
  140. #define XYIFD  11    /* Incomplete File Disposition */
  141. #define XYIMAG 12    /* "Image Mode" */
  142. #define XYINPU 13    /* INPUT command parameters */
  143. #define XYLEN  14    /* Maximum packet length to send */
  144. #define XYLINE 15    /* Communication line to use */
  145. #define XYLOG  16    /* Log file */
  146. #define XYMARK 17    /* Start of Packet mark */
  147. #define XYNPAD 18    /* Amount of padding */
  148. #define XYPADC 19    /* Pad character */
  149. #define XYPARI 20    /* Parity */
  150. #define XYPAUS 21    /* Interpacket pause */
  151. #define XYPROM 22    /* Program prompt string */
  152. #define XYQBIN 23    /* 8th-bit prefix */
  153. #define XYQCTL 24    /* Control character prefix */
  154. #define XYREPT 25    /* Repeat count prefix */
  155. #define XYRETR 26    /* Retry limit */
  156. #define XYSPEE 27    /* Line speed (baud rate) */
  157. #define XYTACH 28    /* Character to be doubled */
  158. #define XYTIMO 29    /* Timeout interval */
  159. #define XYMODM 30    /* Modem type */
  160. #define XYSEND 31    /* SEND parameters, used with some of the above */
  161. #define XYRECV 32       /* RECEIVE parameters, ditto */
  162. #define XYTERM 33    /* Terminal parameters */
  163. #define XYATTR 34       /* Attribute packets */
  164. #define XYSERV 35    /* Server parameters */
  165. #define   XYSERT 0      /*  Server timeout   */
  166. #define XYWIND 36       /* Window size */
  167. #define XYXFER 37       /* Transfer */
  168. #define XYLANG 38       /* Language */
  169. #define XYCOUN 39       /* Count */
  170. #define XYTAKE 40       /* Take */ 
  171. #define XYUNCS 41       /* Unknown-character-set */
  172. #define XYKEY  42       /* Key */
  173. #define XYMACR 43       /* Macro */
  174. #define XYNETW 44       /* Hostname on network */
  175. #define XYNET  45       /* Name of Network */
  176.  
  177. /* NETWORK designators */
  178.  
  179. #define NW_DEC = 0            /* DECnet */
  180. #define NW_TCPA = 1            /* TCP/IP with AT&T Streams */
  181. #define NW_TCPB = 2            /* TCP/IP with Berkeley Sockets */
  182.  
  183. /* SHOW command symbols */
  184.  
  185. #define SHPAR 0                /* Parameters */
  186. #define SHVER 1                /* Versions */
  187. #define SHCOM 2                /* Communications */
  188. #define SHPRO 3                /* Protocol */
  189. #define SHFIL 4                /* File */
  190. #define SHLNG 5                /* Language */
  191. #define SHCOU 6                /* Count */
  192. #define SHMAC 7                /* Macros */
  193. #define SHKEY 8                /* Key */
  194. #define SHSCR 9                /* Scripts */
  195. #define SHSPD 10            /* Speed */
  196. #define SHSTA 11            /* Status */
  197. #define SHSER 12            /* Server */
  198.  
  199. /* REMOTE command symbols */
  200.  
  201. #define XZCPY  0    /* Copy */
  202. #define XZCWD  1    /* Change Working Directory */
  203. #define XZDEL  2    /* Delete */
  204. #define XZDIR  3    /* Directory */
  205. #define XZHLP  4    /* Help */
  206. #define XZHOS  5    /* Host */
  207. #define XZKER  6    /* Kermit */
  208. #define XZLGI  7    /* Login */
  209. #define XZLGO  8    /* Logout */
  210. #define XZMAI  9    /* Mail <-- wrong, this should be top-level */
  211. #define XZMOU 10    /* Mount */
  212. #define XZMSG 11    /* Message */
  213. #define XZPRI 12    /* Print */
  214. #define XZREN 13    /* Rename */
  215. #define XZSET 14    /* Set */
  216. #define XZSPA 15    /* Space */
  217. #define XZSUB 16    /* Submit */
  218. #define XZTYP 17    /* Type */
  219. #define XZWHO 18    /* Who */
  220.  
  221. /* SET INPUT command parameters */
  222.  
  223. #define IN_DEF  0            /* Default timeout */
  224. #define IN_TIM  1            /* Timeout action */
  225. #define IN_CAS  2            /* Case (matching) */
  226. #define IN_ECH  3            /* Echo */
  227.  
  228. /* ENABLE/DISABLE command parameters */
  229.  
  230. #define EN_ALL  0            /* All */
  231. #define EN_CWD  1            /* CD/CWD */
  232. #define EN_DIR  2            /* Directory */
  233. #define EN_FIN  3            /* FINISH */
  234. #define EN_GET  4            /* Get */
  235. #define EN_HOS  5            /* Host command */
  236. #define EN_KER  6            /* Kermit command */
  237. #define EN_LOG  7            /* Login */
  238. #define EN_SEN  8            /* Send */
  239. #define EN_SET  9            /* Set */
  240. #define EN_SPA 10            /* Space */
  241. #define EN_TYP 11            /* Type */
  242. #define EN_WHO 12            /* Who/Finger */
  243.  
  244. /* Symbols for logs */
  245.  
  246. #define LOGD 0            /* Debugging */
  247. #define LOGP 1          /* Packets */
  248. #define LOGS 2          /* Session */
  249. #define LOGT 3          /* Transaction */
  250.  
  251. /* Sizes of things */
  252.  
  253. #define GVARS 126            /* Highest global var allowed */
  254. #define MAXTAKE 20            /* Maximum nesting of TAKE files */
  255. #define MACLEVEL 20            /* Maximum nesting for macros */
  256. #define NARGS 10            /* Max number of macro arguments */
  257. #define LINBUFSIZ CMDBL+10        /* Size of line[] buffer */
  258. #define INPBUFSIZ 256            /* Size of INPUT buffer */
  259. #define CMDSTKL ( MACLEVEL + MAXTAKE + 1) /* Command stack depth */
  260.  
  261. struct cmdptr {                /* Command stack structure */
  262.     int src;                /* Command Source */
  263.     int val;                /* Current TAKE or DO level */
  264. };
  265.