[10779] | 1 | /* ckcker.h -- Symbol and macro definitions for C-Kermit */ |
---|
| 2 | |
---|
| 3 | /* |
---|
| 4 | Author: Frank da Cruz <fdc@columbia.edu>, |
---|
| 5 | Columbia University Academic Information Systems, New York City. |
---|
| 6 | |
---|
[20080] | 7 | Copyright (C) 1985, 2002, |
---|
| 8 | Trustees of Columbia University in the City of New York. |
---|
| 9 | All rights reserved. See the C-Kermit COPYING.TXT file or the |
---|
| 10 | copyright text in the ckcmai.c module for disclaimer and permissions. |
---|
[10779] | 11 | */ |
---|
| 12 | |
---|
| 13 | #ifndef CKCKER_H |
---|
| 14 | #define CKCKER_H |
---|
| 15 | |
---|
[20080] | 16 | #define I_AM_KERMIT 0 /* Personalities */ |
---|
| 17 | #define I_AM_TELNET 1 |
---|
| 18 | #define I_AM_RLOGIN 2 |
---|
| 19 | #define I_AM_IKSD 3 |
---|
| 20 | #define I_AM_FTP 4 |
---|
| 21 | #define I_AM_HTTP 5 |
---|
| 22 | #define I_AM_SSHSUB 6 |
---|
| 23 | #define I_AM_SSH 7 |
---|
| 24 | |
---|
| 25 | #ifndef NOSTREAMING |
---|
| 26 | #ifndef STREAMING |
---|
| 27 | #define STREAMING |
---|
| 28 | #endif /* STREAMING */ |
---|
| 29 | #endif /* NOSTREAMING */ |
---|
[10779] | 30 | /* |
---|
| 31 | If NEWDEFAULTS is defined then: |
---|
[20080] | 32 | - RECEIVE PACKET-LENGTH is 4095 rather than 90 |
---|
| 33 | - WINDOW is 30 rather than 1 |
---|
[10779] | 34 | - BLOCK-CHECK is 3 rather than 1 |
---|
| 35 | - FILE TYPE is BINARY rather than TEXT |
---|
| 36 | */ |
---|
[20080] | 37 | #ifdef BIGBUFOK /* (was OS2) */ |
---|
[10779] | 38 | #ifndef NEWDEFAULTS |
---|
| 39 | #define NEWDEFAULTS |
---|
| 40 | #endif /* NEWDEFAULTS */ |
---|
[20080] | 41 | #endif /* BIGBUFOK */ |
---|
[10779] | 42 | |
---|
| 43 | #ifdef NOICP /* No Interactive Command Parser */ |
---|
| 44 | #ifndef NOSPL /* implies... */ |
---|
| 45 | #define NOSPL /* No Script Programming Language */ |
---|
| 46 | #endif /* NOSPL */ |
---|
| 47 | #ifndef NOCSETS /* No character-set translation */ |
---|
| 48 | #define NOCSETS /* because the only way to set it up */ |
---|
| 49 | #endif /* NOCSETS */ /* is with interactive commands */ |
---|
| 50 | #endif /* NOICP */ |
---|
| 51 | |
---|
| 52 | #ifdef pdp11 /* There is a maximum number of */ |
---|
| 53 | #ifndef NOCKSPEED /* of -D's allowed on the CC */ |
---|
| 54 | #define NOCKSPEED /* command line, so some of them */ |
---|
| 55 | #endif /* NOCKSPEED */ /* have to go here... */ |
---|
| 56 | #ifndef NOREDIRECT |
---|
| 57 | #define NOREDIRECT |
---|
| 58 | #endif /* NOREDIRECT */ |
---|
| 59 | #ifdef WHATAMI |
---|
| 60 | #undef WHATAMI |
---|
| 61 | #endif /* WHATAMI */ |
---|
| 62 | #endif /* pdp11 */ |
---|
| 63 | |
---|
[20080] | 64 | #ifdef UIDBUFLEN |
---|
| 65 | #define LOGINLEN UIDBUFLEN |
---|
| 66 | #else |
---|
[10779] | 67 | #define LOGINLEN 32 /* Length of server login field */ |
---|
[20080] | 68 | #endif /* UIDBUFLEN */ |
---|
[10779] | 69 | |
---|
[20080] | 70 | /* Bell values */ |
---|
| 71 | |
---|
| 72 | #define XYB_NONE 0 /* No bell */ |
---|
| 73 | #define XYB_AUD 1 /* Audible bell */ |
---|
| 74 | #define XYB_VIS 2 /* Visible bell */ |
---|
| 75 | #define XYB_BEEP 0 /* Audible Beep */ |
---|
| 76 | #define XYB_SYS 4 /* Audible System Sounds */ |
---|
| 77 | |
---|
| 78 | /* File status bits */ |
---|
| 79 | |
---|
| 80 | #define FS_OK 1 /* File transferred OK */ |
---|
| 81 | #define FS_REFU 2 /* File was refused */ |
---|
| 82 | #define FS_DISC 4 /* File was discarded */ |
---|
| 83 | #define FS_INTR 8 /* Transfer was interrupted by user */ |
---|
| 84 | #define FS_ERR 16 /* Fatal error during transfer */ |
---|
| 85 | |
---|
[10779] | 86 | /* Control-character (un)prefixing options */ |
---|
| 87 | |
---|
| 88 | #define PX_ALL 0 /* Prefix all control chars */ |
---|
| 89 | #define PX_CAU 1 /* Unprefix cautiously */ |
---|
| 90 | #define PX_WIL 2 /* Unprefix with wild abandon */ |
---|
| 91 | #define PX_NON 3 /* Unprefix all (= prefix none) */ |
---|
| 92 | |
---|
| 93 | /* Destination codes */ |
---|
| 94 | |
---|
| 95 | #define DEST_D 0 /* DISK */ |
---|
| 96 | #define DEST_S 1 /* SCREEN */ |
---|
| 97 | #define DEST_P 2 /* PRINTER */ |
---|
[20080] | 98 | #define DEST_N 3 /* NOWHERE (calibration run) */ |
---|
[10779] | 99 | |
---|
| 100 | /* File transfer protocols */ |
---|
| 101 | |
---|
| 102 | #define PROTO_K 0 /* Kermit */ |
---|
| 103 | #ifdef CK_XYZ |
---|
[20080] | 104 | #define PROTO_X 1 /* XMODEM */ |
---|
| 105 | #define PROTO_XC 2 /* XMODEM-CRC */ |
---|
| 106 | #define PROTO_Y 3 /* YMODEM */ |
---|
| 107 | #define PROTO_G 4 /* YMODEM-g */ |
---|
| 108 | #define PROTO_Z 5 /* ZMODEM */ |
---|
| 109 | #define PROTO_O 6 /* OTHER */ |
---|
| 110 | #define NPROTOS 7 /* How many */ |
---|
[10779] | 111 | #else |
---|
| 112 | #define NPROTOS 1 /* How many */ |
---|
| 113 | #endif /* CK_XYZ */ |
---|
| 114 | |
---|
| 115 | struct ck_p { /* C-Kermit Protocol info structure */ |
---|
| 116 | char * p_name; /* Protocol name */ |
---|
| 117 | int rpktlen; /* Packet length - receive */ |
---|
| 118 | int spktlen; /* Packet length - send */ |
---|
| 119 | int spktflg; /* ... */ |
---|
| 120 | int winsize; /* Window size */ |
---|
| 121 | int prefix; /* Control-char prefixing options */ |
---|
| 122 | int fnca; /* Filename collision action */ |
---|
| 123 | int fncn; /* Filename conversion */ |
---|
| 124 | int fnsp; /* Send filename path stripping */ |
---|
| 125 | int fnrp; /* Receive filename path stripping */ |
---|
| 126 | char * h_b_init; /* Host receive initiation string - text */ |
---|
| 127 | char * h_t_init; /* Host receive initiation string - binary */ |
---|
[20080] | 128 | char * h_x_init; /* Host server string */ |
---|
[10779] | 129 | char * p_b_scmd; /* SEND cmd for external protocol - text */ |
---|
| 130 | char * p_t_scmd; /* SEND cmd for external protocol - binary */ |
---|
| 131 | char * p_b_rcmd; /* RECV cmd for external protocol - text */ |
---|
| 132 | char * p_t_rcmd; /* RECV cmd for external protocol - binary */ |
---|
| 133 | }; |
---|
| 134 | |
---|
| 135 | struct filelist { /* Send-file list element */ |
---|
| 136 | char * fl_name; /* Filename */ |
---|
| 137 | int fl_mode; /* Transfer mode */ |
---|
| 138 | char * fl_alias; /* Name to send the file under */ |
---|
| 139 | struct filelist * fl_next; /* Pointer to next element */ |
---|
| 140 | }; |
---|
| 141 | |
---|
| 142 | /* Kermit system IDs and associated properties... */ |
---|
| 143 | |
---|
| 144 | struct sysdata { |
---|
| 145 | char *sid_code; /* Kermit system ID code */ |
---|
| 146 | char *sid_name; /* Descriptive name */ |
---|
| 147 | short sid_unixlike; /* Tree-structured directory with separators */ |
---|
| 148 | char sid_dirsep; /* Directory separator character if unixlike */ |
---|
| 149 | short sid_dev; /* Can start with dev: */ |
---|
| 150 | short sid_case; /* Bit mapped: 1 = case matters, 2 = case preserved */ |
---|
| 151 | short sid_recfm; /* Text record separator */ |
---|
| 152 | /* |
---|
| 153 | 0 = unknown or nonstream |
---|
| 154 | 1 = cr |
---|
| 155 | 2 = lf |
---|
| 156 | 3 = crlf |
---|
| 157 | */ |
---|
| 158 | }; |
---|
| 159 | |
---|
[20080] | 160 | struct ssh_pf { /* SSH port forwarding */ |
---|
| 161 | int p1; /* port to be forwarded */ |
---|
| 162 | char * host; /* host */ |
---|
| 163 | int p2; /* port */ |
---|
| 164 | }; |
---|
| 165 | |
---|
| 166 | #define SET_ON 1 /* General values for settings that can be ON */ |
---|
| 167 | #define SET_OFF 0 /* OFF, */ |
---|
| 168 | #define SET_AUTO 2 /* or AUTO */ |
---|
| 169 | |
---|
| 170 | #define PATH_OFF 0 /* Pathnames off (to be stripped) */ |
---|
| 171 | #define PATH_REL 1 /* Pathnames on, left relative if possible */ |
---|
| 172 | #define PATH_ABS 2 /* Pathnames absolute always */ |
---|
| 173 | #define PATH_AUTO 4 /* Pathnames handled automatically */ |
---|
| 174 | |
---|
| 175 | /* GET Options */ |
---|
| 176 | |
---|
| 177 | #define GOPT_DEL 1 /* Delete source file */ |
---|
| 178 | #define GOPT_REC 2 /* Recursive */ |
---|
| 179 | #define GOPT_RES 4 /* Recover (Resend) */ |
---|
| 180 | #define GOPT_CMD 8 /* Filename is a Command */ |
---|
| 181 | |
---|
| 182 | /* GET Transfer Modes */ |
---|
| 183 | |
---|
| 184 | #define GMOD_TXT 0 /* Text */ |
---|
| 185 | #define GMOD_BIN 1 /* Binary */ |
---|
| 186 | #define GMOD_AUT 2 /* Auto */ |
---|
| 187 | #define GMOD_LBL 3 /* Labeled */ |
---|
| 188 | |
---|
| 189 | /* GET Filename Options */ |
---|
| 190 | |
---|
| 191 | #define GNAM_LIT 0 /* Literal */ |
---|
| 192 | #define GNAM_CNV 1 /* Converted */ |
---|
| 193 | |
---|
| 194 | /* GET Pathname Options */ |
---|
| 195 | |
---|
| 196 | #define GPTH_OFF 0 /* Pathnames Off */ |
---|
| 197 | #define GPTH_REL 1 /* Pathnames Relative */ |
---|
| 198 | #define GPTH_ABX 2 /* Pathnames Absolute */ |
---|
| 199 | |
---|
[10779] | 200 | #ifndef NOSPL |
---|
| 201 | /* |
---|
| 202 | The IF REMOTE-ONLY command is available only in versions |
---|
| 203 | that actually can be used in remote mode, and only if we have |
---|
| 204 | an interactive command parser. |
---|
| 205 | */ |
---|
| 206 | #define CK_IFRO |
---|
| 207 | #ifdef MAC |
---|
| 208 | #undef CK_IFRO |
---|
| 209 | #else |
---|
| 210 | #ifdef GEMDOS |
---|
| 211 | #undef CK_IFRO |
---|
| 212 | #endif /* GEMDOS */ |
---|
| 213 | #endif /* MAC */ |
---|
| 214 | #endif /* NOSPL */ |
---|
| 215 | |
---|
| 216 | /* Systems whose CONNECT modules can execute Application Program Commands */ |
---|
| 217 | |
---|
[20080] | 218 | #ifdef NOSPL /* Script programming language */ |
---|
| 219 | #ifdef CK_APC /* is required for APC. */ |
---|
| 220 | #undef CK_APC |
---|
| 221 | #endif /* CK_APC */ |
---|
| 222 | #ifndef NOAPC |
---|
| 223 | #define NOAPC |
---|
| 224 | #endif /* NOAPC */ |
---|
| 225 | #ifndef NOAUTODL |
---|
| 226 | #define NOAUTODL |
---|
| 227 | #endif /* NOAUTODL */ |
---|
| 228 | #endif /* NOSPL */ |
---|
| 229 | |
---|
[10779] | 230 | #ifndef NOAPC /* Unless they said NO APC */ |
---|
| 231 | #ifndef CK_APC /* And they didn't already define it */ |
---|
| 232 | #ifdef OS2 /* OS/2 gets it */ |
---|
| 233 | #define CK_APC |
---|
| 234 | #endif /* OS2 */ |
---|
| 235 | #ifdef UNIX /* UNIX gets it */ |
---|
| 236 | #define CK_APC |
---|
| 237 | #endif /* UNIX */ |
---|
| 238 | #ifdef VMS /* VMS too */ |
---|
| 239 | #define CK_APC |
---|
| 240 | #endif /* VMS */ |
---|
| 241 | #endif /* CK_APC */ |
---|
| 242 | #endif /* NOAPC */ |
---|
| 243 | |
---|
[20080] | 244 | #ifdef CK_APC /* APC buffer length */ |
---|
| 245 | #ifndef APCBUFLEN /* Should be no bigger than */ |
---|
| 246 | #ifdef NOSPL /* command buffer length */ |
---|
| 247 | #define APCBUFLEN 608 /* (see ckucmd.h) but we can't */ |
---|
| 248 | #else /* reference ckucmd.h symbols here */ |
---|
| 249 | #define APCBUFLEN 4096 |
---|
[10779] | 250 | #endif /* NOSPL */ |
---|
[20080] | 251 | #endif /* APCBUFLEN */ |
---|
| 252 | #define APC_OFF 0 /* APC OFF (disabled) */ |
---|
| 253 | #define APC_ON 1 /* APC ON (enabled for non-dangerous commands) */ |
---|
| 254 | #define APC_UNCH 2 /* APC UNCHECKED (enabled for ALL commands) bitmask */ |
---|
| 255 | #define APC_NOINP 4 /* APC (enabled with no input allowed - bitmask) */ |
---|
[10779] | 256 | #define APC_INACTIVE 0 /* APC not in use */ |
---|
| 257 | #define APC_REMOTE 1 /* APC in use from Remote */ |
---|
[20080] | 258 | #define APC_LOCAL 2 /* APC being used from within Kermit */ |
---|
| 259 | #ifndef NOAUTODL |
---|
[10779] | 260 | #ifndef CK_AUTODL /* Autodownload */ |
---|
| 261 | #ifdef OS2 |
---|
| 262 | #define CK_AUTODL |
---|
| 263 | #else |
---|
| 264 | #ifdef UNIX |
---|
| 265 | #define CK_AUTODL |
---|
| 266 | #else |
---|
| 267 | #ifdef VMS |
---|
| 268 | #define CK_AUTODL |
---|
[20080] | 269 | #else |
---|
| 270 | #ifdef CK_AUTODL |
---|
| 271 | #undef CK_AUTODL |
---|
| 272 | #endif /* CK_AUTODL */ |
---|
| 273 | #endif /* NOAUTODL */ |
---|
[10779] | 274 | #endif /* VMS */ |
---|
| 275 | #endif /* UNIX */ |
---|
| 276 | #endif /* OS2 */ |
---|
| 277 | #endif /* CK_AUTODL */ |
---|
[20080] | 278 | |
---|
| 279 | #else /* CK_APC not defined */ |
---|
| 280 | |
---|
| 281 | #ifdef NOICP |
---|
| 282 | #ifdef UNIX |
---|
| 283 | #ifndef CK_AUTODL |
---|
| 284 | #define CK_AUTODL |
---|
| 285 | #endif /* CK_AUTODL */ |
---|
| 286 | #endif /* UNIX */ |
---|
| 287 | #else /* Not NOICP... */ |
---|
| 288 | #ifdef CK_AUTODL |
---|
| 289 | #undef CK_AUTODL |
---|
| 290 | #endif /* CK_AUTODL */ |
---|
| 291 | #endif /* NOICP */ |
---|
[10779] | 292 | #endif /* CK_APC */ |
---|
| 293 | |
---|
[20080] | 294 | #ifdef NOAUTODL |
---|
| 295 | #ifdef CK_AUTODL |
---|
| 296 | #undef CK_AUTODL |
---|
| 297 | #endif /* CK_AUTODL */ |
---|
| 298 | #endif /* NOAUTODL */ |
---|
[10779] | 299 | |
---|
[20080] | 300 | /* Codes for what we are doing now - bit mask values */ |
---|
[10779] | 301 | |
---|
[20080] | 302 | #define W_NOTHING 0 /* Nothing */ |
---|
| 303 | #define W_INIT 1 /* Initializing protocol */ |
---|
| 304 | #define W_SEND 2 /* SENDing or MAILing */ |
---|
| 305 | #define W_RECV 4 /* RECEIVEing or GETting */ |
---|
| 306 | #define W_REMO 8 /* Doing a REMOTE command */ |
---|
| 307 | #define W_CONNECT 16 /* CONNECT mode */ |
---|
| 308 | #define W_COMMAND 32 /* Command mode */ |
---|
| 309 | #define W_DIALING 64 /* Dialing a modem */ |
---|
| 310 | #define W_FTP 128 /* FTP */ |
---|
| 311 | #define W_FT_DELE 64 /* FTP MDELETE */ |
---|
| 312 | #define W_KERMIT (W_INIT|W_SEND|W_RECV|W_REMO) /* Kermit protocol */ |
---|
| 313 | #define W_XFER (W_INIT|W_SEND|W_RECV|W_REMO|W_FTP) /* File xfer any protocol */ |
---|
| 314 | |
---|
[10779] | 315 | #ifndef NOWHATAMI |
---|
| 316 | #ifndef WHATAMI |
---|
| 317 | #define WHATAMI |
---|
| 318 | #endif /* WHATAMI */ |
---|
| 319 | #endif /* NOWHATAMI */ |
---|
| 320 | |
---|
| 321 | #ifdef WHATAMI /* Bit mask positions for WHATAMI */ |
---|
[20080] | 322 | #define WMI_SERVE 1 /* Server mode */ |
---|
| 323 | #define WMI_FMODE 2 /* File transfer mode */ |
---|
| 324 | #define WMI_FNAME 4 /* File name conversion */ |
---|
| 325 | #define WMI_STREAM 8 /* I have a reliable transport */ |
---|
| 326 | #define WMI_CLEAR 16 /* I have a clear channel */ |
---|
| 327 | #define WMI_FLAG 32 /* Flag that WHATAMI field is valid */ |
---|
| 328 | /* WHATAMI2 bits... */ |
---|
| 329 | #define WMI2_XMODE 1 /* Transfer mode auto(0)/manual(1) */ |
---|
| 330 | #define WMI2_RECU 2 /* Transfer is recursive */ |
---|
| 331 | #define WMI2_FLAG 32 /* Flag that WHATAMI2 field is valid */ |
---|
[10779] | 332 | #endif /* WHATAMI */ |
---|
| 333 | |
---|
| 334 | /* Terminal types */ |
---|
| 335 | #define VT100 0 /* Also for VT52 mode */ |
---|
| 336 | #define TEKTRONIX 1 |
---|
| 337 | |
---|
| 338 | /* Normal packet and window size */ |
---|
| 339 | |
---|
| 340 | #define MAXPACK 94 /* Maximum unextended packet size */ |
---|
| 341 | /* Can't be more than 94. */ |
---|
| 342 | #ifdef pdp11 /* Maximum sliding window slots */ |
---|
| 343 | #define MAXWS 8 |
---|
| 344 | #else |
---|
| 345 | #define MAXWS 32 /* Can't be more than 32. */ |
---|
| 346 | #endif /* pdp11 */ |
---|
| 347 | |
---|
| 348 | /* Maximum long packet size for sending packets */ |
---|
| 349 | /* Override these from cc command line via -DMAXSP=nnn */ |
---|
| 350 | |
---|
[20080] | 351 | #ifdef IRIX /* Irix 6.4 and earlier has */ |
---|
| 352 | #ifndef MAXSP /* Telnet server bug */ |
---|
| 353 | #ifdef IRIX65 |
---|
| 354 | #define MAXSP 9024 |
---|
| 355 | #else |
---|
| 356 | #define MAXSP 4000 |
---|
| 357 | #endif /* IRIX65 */ |
---|
| 358 | #endif /* MAXSP */ |
---|
| 359 | #endif /* IRIX */ |
---|
| 360 | |
---|
[10779] | 361 | #ifdef DYNAMIC |
---|
| 362 | #ifndef MAXSP |
---|
| 363 | #define MAXSP 9024 |
---|
| 364 | #endif /* MAXSP */ |
---|
| 365 | #else /* not DYNAMIC */ |
---|
| 366 | #ifndef MAXSP |
---|
| 367 | #ifdef pdp11 |
---|
| 368 | #define MAXSP 1024 |
---|
| 369 | #else |
---|
| 370 | #define MAXSP 2048 |
---|
| 371 | #endif /* pdp11 */ |
---|
| 372 | #endif /* MAXSP */ |
---|
| 373 | #endif /* DYNAMIC */ |
---|
| 374 | |
---|
| 375 | /* Maximum long packet size for receiving packets */ |
---|
| 376 | /* Override these from cc command line via -DMAXRP=nnn */ |
---|
| 377 | |
---|
| 378 | #ifdef DYNAMIC |
---|
[20080] | 379 | #ifndef MAXRP |
---|
[10779] | 380 | #define MAXRP 9024 |
---|
| 381 | #endif /* MAXRP */ |
---|
| 382 | #else /* not DYNAMIC */ |
---|
[20080] | 383 | #ifndef MAXRP |
---|
[10779] | 384 | #ifdef pdp11 |
---|
| 385 | #define MAXRP 1024 |
---|
| 386 | #else |
---|
| 387 | #define MAXRP 2048 |
---|
| 388 | #endif /* pdp11 */ |
---|
| 389 | #endif /* MAXRP */ |
---|
| 390 | #endif /* DYNAMIC */ |
---|
| 391 | /* |
---|
| 392 | Default sizes for windowed packet buffers. |
---|
| 393 | Override these from cc command line via -DSBSIZ=nnn, -DRBSIZ=nnn. |
---|
| 394 | Or just -DBIGBUFOK. |
---|
| 395 | */ |
---|
| 396 | #ifndef MAXGETPATH /* Maximum number of directories */ |
---|
| 397 | #ifdef BIGBUFOK /* for GET path... */ |
---|
| 398 | #define MAXGETPATH 128 |
---|
| 399 | #else |
---|
| 400 | #define MAXGETPATH 16 |
---|
| 401 | #endif /* BIGBUFOK */ |
---|
| 402 | #endif /* MAXGETPATH */ |
---|
| 403 | |
---|
| 404 | #ifndef NOSPL /* Query buffer length */ |
---|
| 405 | #ifdef OS2 |
---|
| 406 | #define QBUFL 4095 |
---|
| 407 | #else |
---|
[20080] | 408 | #ifdef BIGBUFOK |
---|
| 409 | #define QBUFL 4095 |
---|
| 410 | #else |
---|
[10779] | 411 | #define QBUFL 1023 |
---|
[20080] | 412 | #endif /* BIGBUFOK */ |
---|
[10779] | 413 | #endif /* OS2 */ |
---|
| 414 | #endif /* NOSPL */ |
---|
| 415 | |
---|
| 416 | #ifdef DYNAMIC |
---|
[20080] | 417 | #ifndef SBSIZ |
---|
[10779] | 418 | #ifdef BIGBUFOK /* If big buffers are safe... */ |
---|
[20080] | 419 | #define SBSIZ 290000 /* Allow for 10 x 9024 or 20 x 4096 */ |
---|
[10779] | 420 | #else /* Otherwise... */ |
---|
| 421 | #ifdef pdp11 |
---|
| 422 | #define SBSIZ 3020 |
---|
| 423 | #else |
---|
| 424 | #define SBSIZ 9050 /* Allow for 3 x 3000, etc. */ |
---|
| 425 | #endif /* pdp11 */ |
---|
| 426 | #endif /* BIGBUFOK */ |
---|
| 427 | #endif /* SBSIZ */ |
---|
| 428 | |
---|
[20080] | 429 | #ifndef RBSIZ |
---|
[10779] | 430 | #ifdef BIGBUFOK |
---|
[20080] | 431 | #define RBSIZ 290000 |
---|
[10779] | 432 | #else |
---|
| 433 | #ifdef pdp11 |
---|
| 434 | #define RBSIZ 3020 |
---|
| 435 | #else |
---|
| 436 | #define RBSIZ 9050 |
---|
| 437 | #endif /* pdp11 */ |
---|
| 438 | #endif /* BIGBUFOK */ |
---|
| 439 | #endif /* RBSIZ */ |
---|
| 440 | #else /* not DYNAMIC */ |
---|
| 441 | #ifdef pdp11 |
---|
| 442 | #define SBSIZ 3020 |
---|
| 443 | #define RBSIZ 3020 |
---|
| 444 | #else |
---|
| 445 | #ifndef SBSIZ |
---|
| 446 | #define SBSIZ (MAXSP * (MAXWS + 1)) |
---|
| 447 | #endif /* SBSIZ */ |
---|
| 448 | #ifndef RBSIZ |
---|
| 449 | #define RBSIZ (MAXRP * (MAXWS + 1)) |
---|
| 450 | #endif /* RBSIZ */ |
---|
| 451 | #endif /* pdp11 */ |
---|
| 452 | #endif /* DYNAMIC */ |
---|
| 453 | |
---|
[20080] | 454 | #ifdef BIGBUFOK |
---|
| 455 | #define PKTMSGLEN 1023 |
---|
| 456 | #else |
---|
| 457 | #define PKTMSGLEN 80 |
---|
| 458 | #endif /* BIGBUFOK */ |
---|
| 459 | |
---|
[10779] | 460 | /* Kermit parameters and defaults */ |
---|
| 461 | |
---|
| 462 | #define CTLQ '#' /* Control char prefix I will use */ |
---|
| 463 | #define MYEBQ '&' /* 8th-Bit prefix char I will use */ |
---|
| 464 | #define MYRPTQ '~' /* Repeat count prefix I will use */ |
---|
| 465 | |
---|
| 466 | #define MAXTRY 10 /* Times to retry a packet */ |
---|
| 467 | #define MYPADN 0 /* How many padding chars I need */ |
---|
| 468 | #define MYPADC '\0' /* Which padding character I need */ |
---|
| 469 | |
---|
| 470 | #define DMYTIM 8 /* Initial timeout interval to use. */ |
---|
| 471 | #define URTIME 15 /* Timeout interval to use on me. */ |
---|
| 472 | #define DSRVTIM 0 /* Default server cmd wait timeout. */ |
---|
| 473 | |
---|
| 474 | #define DEFTRN 0 /* Default line turnaround handshake */ |
---|
| 475 | |
---|
| 476 | #define MYEOL CR /* Incoming packet terminator. */ |
---|
| 477 | |
---|
| 478 | #ifdef NEWDEFAULTS |
---|
| 479 | #define DRPSIZ 4095 /* Default incoming packet size. */ |
---|
[20080] | 480 | #define DFWSIZ 30 /* Default window size */ |
---|
[10779] | 481 | #define DFBCT 3 /* Default block-check type */ |
---|
| 482 | #else |
---|
| 483 | #define DRPSIZ 90 /* Default incoming packet size. */ |
---|
| 484 | #define DFWSIZ 1 /* Default window size */ |
---|
| 485 | #define DFBCT 3 /* Default block-check type */ |
---|
| 486 | #endif /* NEWDEFAULTS */ |
---|
| 487 | |
---|
[20080] | 488 | /* The HP-UX 5 and 6 Telnet servers can only swallow 513 bytes at once */ |
---|
| 489 | |
---|
| 490 | #ifdef HPUX5 |
---|
| 491 | #ifdef DRPSIZ |
---|
| 492 | #undef DRPSIZ |
---|
| 493 | #endif /* DRPSIZ */ |
---|
| 494 | #define DRPSIZ 500 |
---|
| 495 | #else |
---|
| 496 | #ifdef HPUX6 |
---|
| 497 | #ifdef DRPSIZ |
---|
| 498 | #undef DRPSIZ |
---|
| 499 | #endif /* DRPSIZ */ |
---|
| 500 | #define DRPSIZ 500 |
---|
| 501 | #endif /* HPUX6 */ |
---|
| 502 | #endif /* HPUX5 */ |
---|
| 503 | |
---|
[10779] | 504 | #define DSPSIZ 90 /* Default outbound packet size. */ |
---|
| 505 | #define DDELAY 1 /* Default delay. */ |
---|
| 506 | #define DSPEED 9600 /* Default line speed. */ |
---|
| 507 | |
---|
| 508 | #ifdef OS2 /* Default CONNECT-mode */ |
---|
| 509 | #define DFESC 29 /* escape character */ |
---|
| 510 | #else |
---|
| 511 | #ifdef NEXT /* Ctrl-] for PC and NeXT */ |
---|
| 512 | #define DFESC 29 |
---|
| 513 | #else |
---|
| 514 | #ifdef GEMDOS /* And Atari ST */ |
---|
| 515 | #define DFESC 29 |
---|
| 516 | #else |
---|
| 517 | #define DFESC 28 /* Ctrl-backslash for others */ |
---|
| 518 | #endif /* GEMDOS */ |
---|
| 519 | #endif /* NEXT */ |
---|
| 520 | #endif /* OS2 */ |
---|
| 521 | |
---|
| 522 | #ifdef NOPUSH /* NOPUSH implies NOJC */ |
---|
| 523 | #ifndef NOJC /* (no job control) */ |
---|
| 524 | #define NOJC |
---|
| 525 | #endif /* NOJC */ |
---|
| 526 | #endif /* NOPUSH */ |
---|
| 527 | |
---|
| 528 | #ifdef UNIX /* Default for SET SUSPEND */ |
---|
| 529 | #ifdef NOJC /* UNIX but job control disabled */ |
---|
| 530 | #define DFSUSP 0 |
---|
| 531 | #else /* UNIX, job control enabled. */ |
---|
| 532 | #define DFSUSP 1 |
---|
| 533 | #endif /* NOJC */ |
---|
| 534 | #else |
---|
| 535 | #define DFSUSP 0 |
---|
| 536 | #endif /* UNIX */ |
---|
| 537 | |
---|
[20080] | 538 | #ifndef DFCDMSG |
---|
| 539 | #ifdef UNIXOROSK |
---|
| 540 | #define DFCDMSG "{{./.readme}{README.TXT}{READ.ME}}" |
---|
| 541 | #else |
---|
| 542 | #define DFCDMSG "{{README.TXT}{READ.ME}}" |
---|
| 543 | #endif /* UNIXOROSK */ |
---|
| 544 | #endif /* DFCDMSG */ |
---|
| 545 | |
---|
| 546 | #define NSNDEXCEPT 64 /* Max patterns for /EXCEPT: list */ |
---|
| 547 | |
---|
[10779] | 548 | /* Files */ |
---|
| 549 | |
---|
| 550 | #define ZCTERM 0 /* Console terminal */ |
---|
| 551 | #define ZSTDIO 1 /* Standard input/output */ |
---|
| 552 | #define ZIFILE 2 /* Current input file (SEND, etc) (in) */ |
---|
| 553 | #define ZOFILE 3 /* Current output file (RECEIVE, GET) (out) */ |
---|
| 554 | #define ZDFILE 4 /* Current debugging log file (out) */ |
---|
| 555 | #define ZTFILE 5 /* Current transaction log file (out) */ |
---|
| 556 | #define ZPFILE 6 /* Current packet log file (out) */ |
---|
| 557 | #define ZSFILE 7 /* Current session log file (out) */ |
---|
| 558 | #define ZSYSFN 8 /* Input/Output from a system function */ |
---|
| 559 | #define ZRFILE 9 /* Local file for READ (in) */ |
---|
| 560 | #define ZWFILE 10 /* Local file for WRITE (out) */ |
---|
[20080] | 561 | #define ZMFILE 11 /* Miscellaneous file, e.g. for XLATE */ |
---|
| 562 | #define ZDIFIL 12 /* DIAL log */ |
---|
| 563 | #define ZNFILS 13 /* How many defined file numbers */ |
---|
[10779] | 564 | |
---|
[20080] | 565 | #ifdef CKCHANNELIO |
---|
| 566 | |
---|
| 567 | /* File modes */ |
---|
| 568 | |
---|
| 569 | #define FM_REA 1 /* Read */ |
---|
| 570 | #define FM_WRI 2 /* Write */ |
---|
| 571 | #define FM_APP 4 /* Append */ |
---|
| 572 | #define FM_RWA 7 /* Read/Write/Append mask */ |
---|
| 573 | #define FM_BIN 8 /* Binary */ |
---|
| 574 | #define FM_RWB 15 /* Read/Write/Append/Binary mask */ |
---|
| 575 | #define FM_CMD 16 /* Command */ |
---|
| 576 | #define FM_EOF 64 /* (status) At EOF */ |
---|
| 577 | |
---|
| 578 | /* File errors */ |
---|
| 579 | |
---|
| 580 | #define FX_NER 0 /* No error */ |
---|
| 581 | #define FX_SYS -1 /* System error */ |
---|
| 582 | #define FX_EOF -2 /* End of file */ |
---|
| 583 | #define FX_NOP -3 /* Channel not open */ |
---|
| 584 | #define FX_CHN -4 /* Channel out of range */ |
---|
| 585 | #define FX_RNG -5 /* Argument range error */ |
---|
| 586 | #define FX_FNF -6 /* File not found */ |
---|
| 587 | #define FX_BFN -7 /* Bad or missing filename */ |
---|
| 588 | #define FX_NMF -8 /* No more files */ |
---|
| 589 | #define FX_FOP -9 /* Forbidden operation */ |
---|
| 590 | #define FX_ACC -10 /* Access denied */ |
---|
| 591 | #define FX_BOM -11 /* Bad combination of open modes */ |
---|
| 592 | #define FX_OFL -12 /* Buffer overflow */ |
---|
| 593 | #define FX_LNU -13 /* Current line number unknown */ |
---|
| 594 | #define FX_ROO -14 /* Set Root violation */ |
---|
| 595 | #define FX_NYI -99 /* Feature not implemented yet */ |
---|
| 596 | #define FX_UNK -999 /* Unknown error */ |
---|
| 597 | |
---|
| 598 | _PROTOTYP( int z_open, (char *, int) ); |
---|
| 599 | _PROTOTYP( int z_close, (int) ); |
---|
| 600 | _PROTOTYP( int z_out, (int, char *, int, int) ); |
---|
| 601 | _PROTOTYP( int z_in, (int, char *, int, int, int) ); |
---|
| 602 | _PROTOTYP( int z_flush, (int) ); |
---|
| 603 | _PROTOTYP( int z_seek, (int, long) ); |
---|
| 604 | _PROTOTYP( int z_line, (int, long) ); |
---|
| 605 | _PROTOTYP( int z_getmode, (int) ); |
---|
| 606 | _PROTOTYP( int z_getfnum, (int) ); |
---|
| 607 | _PROTOTYP( long z_getpos, (int) ); |
---|
| 608 | _PROTOTYP( long z_getline, (int) ); |
---|
| 609 | _PROTOTYP( long z_count, (int, int) ); |
---|
| 610 | _PROTOTYP( char * z_getname, (int) ); |
---|
| 611 | _PROTOTYP( char * ckferror, (int) ); |
---|
| 612 | #endif /* CKCHANNELIO */ |
---|
| 613 | |
---|
| 614 | _PROTOTYP( int scanfile, (char *, int *, int) ); |
---|
| 615 | |
---|
[10779] | 616 | /* Buffered file i/o ... */ |
---|
[20080] | 617 | #ifdef OS2 /* K-95 */ |
---|
| 618 | #define INBUFSIZE 32768 |
---|
| 619 | #define OBUFSIZE 32768 |
---|
| 620 | #else |
---|
[10779] | 621 | #ifdef pdp11 |
---|
| 622 | #define INBUFSIZE 512 |
---|
| 623 | #define OBUFSIZE 512 |
---|
| 624 | #else |
---|
[20080] | 625 | /* In VMS, allow for longest possible RMS record */ |
---|
| 626 | #ifdef VMS |
---|
[10779] | 627 | #define INBUFSIZE 32768 /* File input buffer size */ |
---|
| 628 | #define OBUFSIZE 32768 /* File output buffer size */ |
---|
| 629 | #else /* Not VMS */ |
---|
| 630 | #ifdef STRATUS |
---|
| 631 | #ifdef DYNAMIC |
---|
| 632 | #define INBUFSIZE 32767 /* File input buffer size */ |
---|
| 633 | #define OBUFSIZE 32767 /* File output buffer size */ |
---|
| 634 | #else /* STRATUS, not DYNAMIC */ |
---|
| 635 | #define INBUFSIZE 4096 /* File input buffer size */ |
---|
| 636 | #define OBUFSIZE 4096 /* File output buffer size */ |
---|
| 637 | #endif /* DYNAMIC */ |
---|
| 638 | #else /* not STRATUS */ |
---|
[20080] | 639 | #ifdef BIGBUFOK /* Systems where memory is */ |
---|
| 640 | #define INBUFSIZE 32768 /* not a problem... */ |
---|
[10779] | 641 | #define OBUFSIZE 32768 |
---|
[20080] | 642 | #else /* Not BIGBUFOK */ |
---|
[10779] | 643 | #define INBUFSIZE 1024 |
---|
| 644 | #define OBUFSIZE 1024 |
---|
[20080] | 645 | #endif /* BIGBUFOK */ |
---|
[10779] | 646 | #endif /* STRATUS */ |
---|
| 647 | #endif /* VMS */ |
---|
| 648 | #endif /* pdp11 */ |
---|
[20080] | 649 | #endif /* OS2 */ |
---|
[10779] | 650 | |
---|
[20080] | 651 | /* File-transfer character in/out macros for buffered i/o */ |
---|
| 652 | |
---|
| 653 | /* Get the next file byte */ |
---|
| 654 | #ifndef CKCMAI |
---|
| 655 | #ifndef NOXFER |
---|
| 656 | extern char ** sndarray; |
---|
| 657 | #endif /* NOXFER */ |
---|
| 658 | #endif /* CKCMAI */ |
---|
| 659 | #ifdef NOSPL |
---|
[10779] | 660 | #define zminchar() (((--zincnt)>=0) ? ((int)(*zinptr++) & 0377) : zinfill()) |
---|
[20080] | 661 | #else |
---|
| 662 | #ifdef NOXFER |
---|
| 663 | #define zminchar() (((--zincnt)>=0) ? ((int)(*zinptr++) & 0377) : zinfill()) |
---|
| 664 | #else |
---|
| 665 | #define zminchar() \ |
---|
| 666 | (sndarray?agnbyte():(((--zincnt)>=0) ? ((int)(*zinptr++) & 0377) : zinfill())) |
---|
| 667 | #endif /* NOXFER */ |
---|
| 668 | #endif /* NOSPL */ |
---|
[10779] | 669 | |
---|
[20080] | 670 | /* Stuff a character into the input buffer */ |
---|
[10779] | 671 | #define zmstuff(c) zinptr--, *zinptr = c, zincnt++ |
---|
| 672 | |
---|
[20080] | 673 | /* Put a character to a file */ |
---|
[10779] | 674 | #define zmchout(c) \ |
---|
[20080] | 675 | ((*zoutptr++=(char)(c)),(((++zoutcnt)>=zobufsize)?zoutdump():0)) |
---|
[10779] | 676 | |
---|
| 677 | /* Screen functions */ |
---|
| 678 | |
---|
[20080] | 679 | #define XYFD_N 0 /* File transfer display: None, Off */ |
---|
| 680 | #define XYFD_R 1 /* Regular, Dots */ |
---|
| 681 | #define XYFD_C 2 /* Cursor-positioning (e.g. curses) */ |
---|
| 682 | #define XYFD_S 3 /* CRT Screen */ |
---|
| 683 | #define XYFD_B 4 /* Brief */ |
---|
| 684 | #define XYFD_G 5 /* GUI */ |
---|
| 685 | |
---|
| 686 | #ifdef NODISPLAY |
---|
| 687 | #define xxscreen(a,b,c,d) |
---|
| 688 | #define ckscreen(a,b,c,d) |
---|
| 689 | #else |
---|
| 690 | _PROTOTYP( VOID ckscreen, (int, char, long, char *) ); |
---|
| 691 | #ifdef VMS |
---|
| 692 | #define xxscreen(a,b,c,d) \ |
---|
| 693 | if (local && fdispla != XYFD_N) \ |
---|
| 694 | ckscreen((int)a,(char)b,(long)c,(char *)d) |
---|
| 695 | #else |
---|
| 696 | #define xxscreen(a,b,c,d) \ |
---|
| 697 | if (local && !backgrd && fdispla != XYFD_N) \ |
---|
| 698 | ckscreen((int)a,(char)b,(long)c,(char *)d) |
---|
| 699 | #endif /* VMS */ |
---|
| 700 | #endif /* NODISPLAY */ |
---|
| 701 | |
---|
[10779] | 702 | #define SCR_FN 1 /* filename */ |
---|
| 703 | #define SCR_AN 2 /* as-name */ |
---|
| 704 | #define SCR_FS 3 /* file-size */ |
---|
| 705 | #define SCR_XD 4 /* x-packet data */ |
---|
| 706 | #define SCR_ST 5 /* File status: */ |
---|
| 707 | #define ST_OK 0 /* Transferred OK */ |
---|
| 708 | #define ST_DISC 1 /* Discarded */ |
---|
| 709 | #define ST_INT 2 /* Interrupted */ |
---|
| 710 | #define ST_SKIP 3 /* Skipped */ |
---|
| 711 | #define ST_ERR 4 /* Fatal Error */ |
---|
| 712 | #define ST_REFU 5 /* Refused (use Attribute codes for reason) */ |
---|
| 713 | #define ST_INC 6 /* Incompletely received */ |
---|
| 714 | #define ST_MSG 7 /* Informational message */ |
---|
[20080] | 715 | #define ST_SIM 8 /* Transfer simulated (e.g. would be sent) */ |
---|
[10779] | 716 | #define SCR_PN 6 /* packet number */ |
---|
| 717 | #define SCR_PT 7 /* packet type or pseudotype */ |
---|
| 718 | #define SCR_TC 8 /* transaction complete */ |
---|
| 719 | #define SCR_EM 9 /* error message */ |
---|
| 720 | #define SCR_WM 10 /* warning message */ |
---|
| 721 | #define SCR_TU 11 /* arbitrary undelimited text */ |
---|
| 722 | #define SCR_TN 12 /* arbitrary new text, delimited at beginning */ |
---|
| 723 | #define SCR_TZ 13 /* arbitrary text, delimited at end */ |
---|
| 724 | #define SCR_QE 14 /* quantity equals (e.g. "foo: 7") */ |
---|
| 725 | #define SCR_CW 15 /* close screen window */ |
---|
| 726 | #define SCR_CD 16 /* display current directory */ |
---|
| 727 | |
---|
[20080] | 728 | /* Skip reasons */ |
---|
| 729 | |
---|
| 730 | #define SKP_DAT 1 /* Date-Time (Older) */ |
---|
| 731 | #define SKP_EQU 2 /* Date-Time (Equal) */ |
---|
| 732 | #define SKP_TYP 3 /* Type */ |
---|
| 733 | #define SKP_SIZ 4 /* Size */ |
---|
| 734 | #define SKP_NAM 5 /* Name collision */ |
---|
| 735 | #define SKP_EXL 6 /* Exception list */ |
---|
| 736 | #define SKP_DOT 7 /* Dot file */ |
---|
| 737 | #define SKP_BKU 8 /* Backup file */ |
---|
| 738 | #define SKP_RES 9 /* Recovery not needed */ |
---|
| 739 | #define SKP_ACC 10 /* Access denied */ |
---|
| 740 | #define SKP_NRF 11 /* Not a regular file */ |
---|
| 741 | #define SKP_SIM 12 /* Simulation (WOULD BE SENT) */ |
---|
| 742 | #define SKP_XUP 13 /* Simulation: Would be sent because remote file older */ |
---|
| 743 | #define SKP_XNX 14 /* Simulation: ditto, because remote file does not exist */ |
---|
| 744 | |
---|
[10779] | 745 | /* Macros */ |
---|
| 746 | |
---|
[20080] | 747 | #ifndef CKCMAI |
---|
| 748 | extern int tcp_incoming; /* Used by ENABLE macro */ |
---|
| 749 | #endif /* CKCMAI */ |
---|
| 750 | |
---|
| 751 | #ifndef TCPSOCKET |
---|
| 752 | /* |
---|
| 753 | ENABLED tells whether a server-side service is enabled. |
---|
| 754 | 0 = disabled, 1 = local, 2 = remote. |
---|
| 755 | A "set host *" connection is technically local but logically remote |
---|
| 756 | */ |
---|
| 757 | #define ENABLED(x) ((local && (x & 1)) || (!local && (x & 2))) |
---|
| 758 | #else |
---|
| 759 | #define ENABLED(x) (((local && !tcp_incoming) && (x & 1)) || \ |
---|
| 760 | ((!local || tcp_incoming) && (x&2))) |
---|
| 761 | #endif /* TCPSOCKET */ |
---|
| 762 | |
---|
| 763 | /* These are from the book */ |
---|
| 764 | |
---|
[10779] | 765 | #define tochar(ch) (((ch) + SP ) & 0xFF ) /* Number to character */ |
---|
| 766 | #define xunchar(ch) (((ch) - SP ) & 0xFF ) /* Character to number */ |
---|
[20080] | 767 | #define ctl(ch) (((ch) ^ 64 ) & 0xFF ) /* Control/Uncontrol toggle */ |
---|
[10779] | 768 | #define unpar(ch) (((ch) & 127) & 0xFF ) /* Clear parity bit */ |
---|
| 769 | |
---|
[20080] | 770 | #ifndef NOLOCAL /* CONNECT return status codes */ |
---|
| 771 | |
---|
| 772 | /* Users will see the numbers so they can't be changed */ |
---|
| 773 | /* Numbers >= 100 indicate connection loss */ |
---|
| 774 | |
---|
| 775 | #define CSX_NONE 0 /* No CONNECT yet so no status */ |
---|
| 776 | #define CSX_ESCAPE 1 /* User Escaped back */ |
---|
| 777 | #define CSX_TRIGGER 2 /* Trigger was encountered */ |
---|
| 778 | #define CSX_IKSD 3 /* IKSD autosynchronization */ |
---|
| 779 | #define CSX_APC 4 /* Application Program Command */ |
---|
| 780 | #define CSX_IDLE 5 /* Idle limit exceeded */ |
---|
| 781 | #define CSX_TN_ERR 6 /* Telnet Error */ |
---|
| 782 | #define CSX_MACRO 7 /* Macro bound to keystroke */ |
---|
| 783 | #define CSX_TIME 8 /* Time Limit exceeded */ |
---|
| 784 | #define CSX_INTERNAL 100 /* Internal error */ |
---|
| 785 | #define CSX_CARRIER 101 /* Carrier required but not detected */ |
---|
| 786 | #define CSX_IOERROR 102 /* I/O error on connection */ |
---|
| 787 | #define CSX_HOSTDISC 103 /* Disconnected by host */ |
---|
| 788 | #define CSX_USERDISC 104 /* Disconnected by user */ |
---|
| 789 | #define CSX_SESSION 105 /* Session Limit exceeded */ |
---|
| 790 | #define CSX_TN_POL 106 /* Rejected due to Telnet Policy */ |
---|
| 791 | #define CSX_KILL_SIG 107 /* Received Kill Signal */ |
---|
| 792 | |
---|
| 793 | /* SET TERMINAL IDLE-ACTION values */ |
---|
| 794 | |
---|
| 795 | #define IDLE_RET 0 /* Return to prompt */ |
---|
| 796 | #define IDLE_EXIT 1 /* Exit from Kermit */ |
---|
| 797 | #define IDLE_HANG 2 /* Hangup the connection */ |
---|
| 798 | #define IDLE_OUT 3 /* OUTPUT a string */ |
---|
| 799 | #define IDLE_TNOP 4 /* TELNET NOP */ |
---|
| 800 | #define IDLE_TAYT 5 /* TELNET AYT */ |
---|
| 801 | #endif /* NOLOCAL */ |
---|
| 802 | |
---|
| 803 | /* Modem and dialing definitions */ |
---|
| 804 | |
---|
[10779] | 805 | #ifndef NODIAL |
---|
| 806 | |
---|
| 807 | /* Modem capabilities (bit values) */ |
---|
| 808 | #define CKD_AT 1 /* Hayes AT commands and responses */ |
---|
| 809 | #define CKD_V25 2 /* V.25bis commands and responses */ |
---|
| 810 | #define CKD_SB 4 /* Speed buffering */ |
---|
| 811 | #define CKD_EC 8 /* Error correction */ |
---|
| 812 | #define CKD_DC 16 /* Data compression */ |
---|
| 813 | #define CKD_HW 32 /* Hardware flow control */ |
---|
| 814 | #define CKD_SW 64 /* (Local) software flow control */ |
---|
| 815 | #define CKD_KS 128 /* Kermit spoofing */ |
---|
| 816 | #define CKD_TB 256 /* Made by Telebit */ |
---|
[20080] | 817 | #define CKD_ID 512 /* Has Caller ID */ |
---|
[10779] | 818 | |
---|
| 819 | /* DIAL command result codes */ |
---|
| 820 | #define DIA_UNK -1 /* No DIAL command given yet */ |
---|
| 821 | #define DIA_OK 0 /* DIAL succeeded */ |
---|
| 822 | #define DIA_NOMO 1 /* Modem type not specified */ |
---|
| 823 | #define DIA_NOLI 2 /* Communication line not spec'd */ |
---|
| 824 | #define DIA_OPEN 3 /* Line can't be opened */ |
---|
| 825 | #define DIA_NOSP 4 /* Speed not specified */ |
---|
| 826 | #define DIA_HANG 5 /* Hangup failure */ |
---|
| 827 | #define DIA_IE 6 /* Internal error (malloc, etc) */ |
---|
| 828 | #define DIA_IO 7 /* I/O error */ |
---|
| 829 | #define DIA_TIMO 8 /* Dial timeout expired */ |
---|
| 830 | #define DIA_INTR 9 /* Dialing interrupted by user */ |
---|
| 831 | #define DIA_NRDY 10 /* Modem not ready */ |
---|
| 832 | #define DIA_PART 11 /* Partial dial command OK */ |
---|
| 833 | #define DIA_DIR 12 /* Dialing directory error */ |
---|
| 834 | #define DIA_HUP 13 /* Modem was hung up OK */ |
---|
[20080] | 835 | #define DIA_NRSP 19 /* No response from modem */ |
---|
[10779] | 836 | #define DIA_ERR 20 /* Modem command error */ |
---|
| 837 | #define DIA_NOIN 21 /* Failure to initialize modem */ |
---|
| 838 | #define DIA_BUSY 22 /* Phone busy */ |
---|
| 839 | #define DIA_NOCA 23 /* No carrier */ |
---|
| 840 | #define DIA_NODT 24 /* No dialtone */ |
---|
| 841 | #define DIA_RING 25 /* Ring, incoming call */ |
---|
| 842 | #define DIA_NOAN 26 /* No answer */ |
---|
| 843 | #define DIA_DISC 27 /* Disconnected */ |
---|
| 844 | #define DIA_VOIC 28 /* Answered by voice */ |
---|
| 845 | #define DIA_NOAC 29 /* Access denied, forbidden call */ |
---|
| 846 | #define DIA_BLCK 30 /* Blacklisted */ |
---|
| 847 | #define DIA_DELA 31 /* Delayed */ |
---|
| 848 | #define DIA_FAX 32 /* Fax */ |
---|
[20080] | 849 | #define DIA_DIGI 33 /* Digital Line */ |
---|
| 850 | #define DIA_TAPI 34 /* TAPI dialing failure */ |
---|
[10779] | 851 | #define DIA_UERR 98 /* Unknown error */ |
---|
| 852 | #define DIA_UNSP 99 /* Unspecified failure detected by modem */ |
---|
| 853 | |
---|
| 854 | #define MDMINF struct mdminf |
---|
| 855 | |
---|
| 856 | MDMINF { /* Structure for modem-specific information */ |
---|
[20080] | 857 | |
---|
[10779] | 858 | char * name; /* Descriptive name */ |
---|
| 859 | char * pulse; /* Command to force pulse dialing */ |
---|
| 860 | char * tone; /* Command to force tone dialing */ |
---|
| 861 | int dial_time; /* Time modem allows for dialing (secs) */ |
---|
| 862 | char * pause_chars; /* Character(s) to tell modem to pause */ |
---|
| 863 | int pause_time; /* Time associated with pause chars (secs) */ |
---|
| 864 | char * wake_str; /* String to wakeup modem & put in cmd mode */ |
---|
| 865 | int wake_rate; /* Delay between wake_str characters (msecs) */ |
---|
| 866 | char * wake_prompt; /* String prompt after wake_str */ |
---|
| 867 | char * dmode_str; /* String to put modem in dialing mode */ |
---|
| 868 | char * dmode_prompt; /* String prompt for dialing mode */ |
---|
| 869 | char * dial_str; /* Dialing string, with "%s" for number */ |
---|
| 870 | int dial_rate; /* Interchar delay to modem (msec) */ |
---|
| 871 | int esc_time; /* Escape sequence guard time (msec) */ |
---|
| 872 | int esc_char; /* Escape character */ |
---|
| 873 | char * hup_str; /* Hangup string */ |
---|
| 874 | char * hwfc_str; /* Hardware flow control string */ |
---|
| 875 | char * swfc_str; /* Software flow control string */ |
---|
| 876 | char * nofc_str; /* No flow control string */ |
---|
| 877 | char * ec_on_str; /* Error correction on string */ |
---|
| 878 | char * ec_off_str; /* Error correction off string */ |
---|
| 879 | char * dc_on_str; /* Data compression on string */ |
---|
| 880 | char * dc_off_str; /* Data compression off string */ |
---|
| 881 | char * aa_on_str; /* Autoanswer on string */ |
---|
| 882 | char * aa_off_str; /* Autoanswer off string */ |
---|
| 883 | char * sb_on_str; /* Speed buffering on string */ |
---|
| 884 | char * sb_off_str; /* Speed buffering off string */ |
---|
[20080] | 885 | char * sp_on_str; /* Speaker on string */ |
---|
| 886 | char * sp_off_str; /* Speaker off string */ |
---|
| 887 | char * vol1_str; /* Volume low string */ |
---|
| 888 | char * vol2_str; /* Volume med string */ |
---|
| 889 | char * vol3_str; /* Volume high string */ |
---|
| 890 | char * ignoredt; /* Ignore dialtone string */ |
---|
| 891 | char * ini2; /* Last-minute init string */ |
---|
[10779] | 892 | long max_speed; /* Maximum interface speed */ |
---|
| 893 | long capas; /* Capability bits */ |
---|
| 894 | /* function to read modem's response string to a non-dialing command */ |
---|
| 895 | _PROTOTYP( int (*ok_fn), (int,int) ); |
---|
| 896 | }; |
---|
| 897 | #endif /* NODIAL */ |
---|
| 898 | |
---|
| 899 | /* Symbols for File Attributes */ |
---|
| 900 | |
---|
| 901 | #define AT_XALL 0 /* All of them */ |
---|
| 902 | #define AT_ALLY 1 /* All of them on (Yes) */ |
---|
| 903 | #define AT_ALLN 2 /* All of them off (no) */ |
---|
| 904 | #define AT_LENK 3 /* Length in K */ |
---|
| 905 | #define AT_FTYP 4 /* File Type */ |
---|
| 906 | #define AT_DATE 5 /* Creation date */ |
---|
| 907 | #define AT_CREA 6 /* Creator */ |
---|
| 908 | #define AT_ACCT 7 /* Account */ |
---|
| 909 | #define AT_AREA 8 /* Area */ |
---|
| 910 | #define AT_PSWD 9 /* Password for area */ |
---|
| 911 | #define AT_BLKS 10 /* Blocksize */ |
---|
| 912 | #define AT_ACCE 11 /* Access */ |
---|
| 913 | #define AT_ENCO 12 /* Encoding */ |
---|
| 914 | #define AT_DISP 13 /* Disposition */ |
---|
| 915 | #define AT_LPRO 14 /* Local Protection */ |
---|
| 916 | #define AT_GPRO 15 /* Generic Protection */ |
---|
| 917 | #define AT_SYSI 16 /* System ID */ |
---|
| 918 | #define AT_RECF 17 /* Record Format */ |
---|
| 919 | #define AT_SYSP 18 /* System-Dependent Parameters */ |
---|
| 920 | #define AT_LENB 19 /* Length in Bytes */ |
---|
| 921 | #define AT_EOA 20 /* End of Attributes */ |
---|
| 922 | |
---|
| 923 | /* Kermit packet information structure */ |
---|
| 924 | |
---|
| 925 | struct pktinfo { /* Packet information structure */ |
---|
| 926 | CHAR *bf_adr; /* buffer address */ |
---|
| 927 | int bf_len; /* buffer length */ |
---|
| 928 | CHAR *pk_adr; /* Packet address within buffer */ |
---|
| 929 | int pk_len; /* length of data within buffer */ |
---|
| 930 | int pk_typ; /* packet type */ |
---|
| 931 | int pk_seq; /* packet sequence number */ |
---|
| 932 | int pk_rtr; /* retransmission count */ |
---|
| 933 | }; |
---|
| 934 | |
---|
| 935 | /* Send Modes (indicating which type of SEND command was used) */ |
---|
| 936 | |
---|
| 937 | #define SM_SEND 0 |
---|
| 938 | #define SM_MSEND 1 |
---|
| 939 | #define SM_RESEND 2 |
---|
| 940 | #define SM_PSEND 3 |
---|
| 941 | #define SM_MAIL 4 |
---|
| 942 | #define SM_PRINT 5 |
---|
| 943 | |
---|
[20080] | 944 | #define OPTBUFLEN 256 |
---|
| 945 | |
---|
[10779] | 946 | /* File-related symbols and structures */ |
---|
[20080] | 947 | /* Used by SET FILE command but also by protocol and i/o modules */ |
---|
[10779] | 948 | |
---|
| 949 | #define XMODE_A 0 /* Transfer mode Automatic */ |
---|
| 950 | #define XMODE_M 1 /* Transfer mode Manual */ |
---|
| 951 | |
---|
| 952 | #define XYFILN 0 /* Naming */ |
---|
| 953 | #define XYFN_L 0 /* Literal */ |
---|
| 954 | #define XYFN_C 1 /* Converted */ |
---|
| 955 | #define XYFILT 1 /* Type */ |
---|
| 956 | #define XYFT_T 0 /* Text */ |
---|
| 957 | #define XYFT_B 1 /* Binary */ |
---|
| 958 | #define XYFT_I 2 /* Image or Block (VMS) */ |
---|
| 959 | #define XYFT_L 3 /* Labeled (tagged binary) (VMS or OS/2) */ |
---|
| 960 | #define XYFT_U 4 /* Binary Undefined (VMS) */ |
---|
| 961 | #define XYFT_M 5 /* MacBinary (Macintosh) */ |
---|
[20080] | 962 | #define XYFT_X 6 /* TENEX (FTP TYPE L 8) */ |
---|
| 963 | #define XYFT_D 99 /* Debug (for session logs) */ |
---|
[10779] | 964 | #define XYFILW 2 /* Warning */ |
---|
| 965 | #define XYFILD 3 /* Display */ |
---|
| 966 | #define XYFILC 4 /* Character set */ |
---|
| 967 | #define XYFILF 5 /* Record Format */ |
---|
| 968 | #define XYFF_S 0 /* Stream */ |
---|
| 969 | #define XYFF_V 1 /* Variable */ |
---|
| 970 | #define XYFF_VB 2 /* Variable with RCW's */ |
---|
| 971 | #define XYFF_F 3 /* Fixed length */ |
---|
| 972 | #define XYFF_U 4 /* Undefined */ |
---|
| 973 | #define XYFILR 6 /* Record length */ |
---|
| 974 | #define XYFILO 7 /* Organization */ |
---|
| 975 | #define XYFO_S 0 /* Sequential */ |
---|
| 976 | #define XYFO_I 1 /* Indexed */ |
---|
| 977 | #define XYFO_R 2 /* Relative */ |
---|
| 978 | #define XYFILP 8 /* Printer carriage control */ |
---|
| 979 | #define XYFP_N 0 /* Newline (imbedded control characters) */ |
---|
| 980 | #define XYFP_F 1 /* FORTRAN (space, 1, +, etc, in column 1 */ |
---|
| 981 | #define XYFP_P 2 /* Special printer carriage controls */ |
---|
| 982 | #define XYFP_X 4 /* None */ |
---|
| 983 | #define XYFILX 9 /* Collision Action */ |
---|
| 984 | #define XYFX_A 3 /* Append */ |
---|
| 985 | #define XYFX_Q 5 /* Ask */ |
---|
| 986 | #define XYFX_B 2 /* Backup */ |
---|
| 987 | #define XYFX_D 4 /* Discard */ |
---|
| 988 | #define XYFX_R 0 /* Rename */ |
---|
| 989 | #define XYFX_X 1 /* Replace */ |
---|
| 990 | #define XYFX_U 6 /* Update */ |
---|
[20080] | 991 | #define XYFX_M 7 /* Modtimes differ */ |
---|
[10779] | 992 | #define XYFILB 10 /* Blocksize */ |
---|
| 993 | #define XYFILZ 11 /* Disposition */ |
---|
| 994 | #define XYFZ_N 0 /* New, Create */ |
---|
| 995 | #define XYFZ_A 1 /* New, append if file exists, else create */ |
---|
| 996 | #define XYFZ_O 2 /* Old, file must exist */ |
---|
| 997 | #define XYFILS 12 /* File Byte Size */ |
---|
| 998 | #define XYFILL 13 /* File Label (VMS) */ |
---|
| 999 | #define XYFILI 14 /* File Incomplete */ |
---|
| 1000 | #define XYFILQ 15 /* File path action (strip or not) */ |
---|
| 1001 | #define XYFILG 16 /* File download directory */ |
---|
| 1002 | #define XYFILA 17 /* Line terminator for local text files */ |
---|
| 1003 | #define XYFA_L 012 /* LF (as in UNIX) */ |
---|
| 1004 | #define XYFA_C 015 /* CR (as in OS-9 or Mac OS) */ |
---|
| 1005 | #define XYFA_2 000 /* CRLF -- Note: this must be defined as 0 */ |
---|
| 1006 | #define XYFILY 18 /* Destination */ |
---|
[20080] | 1007 | #define XYFILV 19 /* EOF Detection Method */ |
---|
| 1008 | #define XYEOF_L 0 /* File length */ |
---|
| 1009 | #define XYEOF_Z 1 /* Ctrl-Z in file */ |
---|
| 1010 | #define XYFILH 20 /* OUTPUT parameters - buffered, blocking, etc */ |
---|
| 1011 | #define XYFIBP 21 /* BINARY-PATTERN */ |
---|
| 1012 | #define XYFITP 22 /* TEXT-PATTERN */ |
---|
| 1013 | #define XYFIPA 23 /* PATTERNS ON/OFF */ |
---|
| 1014 | #define XYFILU 24 /* UCS ... */ |
---|
| 1015 | #define XYF_PRM 25 /* PERMISSIONS, PROTECTION */ |
---|
| 1016 | #define XYF_INSP 26 /* INSPECTION (SCAN) */ |
---|
| 1017 | #define XYF_DFLT 27 /* DEFAULT (character sets) */ |
---|
| 1018 | #define XYF_SSPA 28 /* STRINGSPACE */ |
---|
| 1019 | #define XYF_LSIZ 29 /* LISTSIZE */ |
---|
[10779] | 1020 | |
---|
[20080] | 1021 | /* File Type (return code) definitions and corresponding name strings */ |
---|
| 1022 | |
---|
| 1023 | #define FT_7BIT 0 /* 7-bit text */ |
---|
| 1024 | #define FT_8BIT 1 /* 8-bit text */ |
---|
| 1025 | #define FT_UTF8 2 /* UTF8 */ |
---|
| 1026 | #define FT_UCS2 3 /* UCS2 */ |
---|
| 1027 | #define FT_TEXT 4 /* Unknown text */ |
---|
| 1028 | #define FT_BIN 5 /* Binary */ |
---|
| 1029 | #define SCANFILEBUF 49152 /* Size of file scan (48K) */ |
---|
| 1030 | |
---|
| 1031 | /* Connection closed reasons */ |
---|
| 1032 | |
---|
| 1033 | #define WC_REMO 0 /* Closed by remote */ |
---|
| 1034 | #define WC_CLOS 1 /* Closed from our end */ |
---|
| 1035 | #define WC_TELOPT 2 /* Telnet negotiation failure */ |
---|
| 1036 | |
---|
| 1037 | #ifdef BIGBUFOK |
---|
| 1038 | #define FTPATTERNS 256 |
---|
| 1039 | #else |
---|
| 1040 | #define FTPATTERNS 64 |
---|
| 1041 | #endif /* BIGBUFOK */ |
---|
| 1042 | |
---|
| 1043 | #define SYS_UNK 0 /* Selected server system types */ |
---|
| 1044 | #define SYS_UNIX 1 |
---|
| 1045 | #define SYS_WIN32 2 |
---|
| 1046 | #define SYS_VMS 3 |
---|
| 1047 | #define SYS_OS2 4 |
---|
| 1048 | #define SYS_DOS 5 |
---|
| 1049 | #define SYS_TOPS10 6 |
---|
| 1050 | #define SYS_TOPS20 7 |
---|
| 1051 | #define SYS_VOS 8 |
---|
| 1052 | #define SYS_DG 9 |
---|
| 1053 | #define SYS_OSK 10 |
---|
| 1054 | #define SYS_MAX 11 |
---|
| 1055 | |
---|
| 1056 | #ifdef CK_SMALL |
---|
| 1057 | #define PWBUFL 63 |
---|
| 1058 | #else |
---|
| 1059 | #define PWBUFL 255 |
---|
| 1060 | #endif /* CK_SMALL */ |
---|
| 1061 | |
---|
| 1062 | #ifdef OS2 |
---|
[10779] | 1063 | struct tt_info_rec { /* Terminal emulation info */ |
---|
[20080] | 1064 | char *x_name; |
---|
| 1065 | char *x_aliases[4]; |
---|
| 1066 | char *x_id; |
---|
[10779] | 1067 | }; |
---|
[20080] | 1068 | #endif /* OS2 */ |
---|
[10779] | 1069 | |
---|
[20080] | 1070 | /* BEEP TYPES */ |
---|
| 1071 | #define BP_BEL 0 /* Terminal bell */ |
---|
| 1072 | #define BP_NOTE 1 /* Info */ |
---|
| 1073 | #define BP_WARN 2 /* Warning */ |
---|
| 1074 | #define BP_FAIL 3 /* Error */ |
---|
[10779] | 1075 | |
---|
[20080] | 1076 | #ifndef NOIKSD |
---|
| 1077 | #ifdef IKSDB /* IKSD Database definitions */ |
---|
| 1078 | |
---|
| 1079 | /* Field values */ |
---|
| 1080 | |
---|
| 1081 | #define DBF_INUSE 1 /* Flag bits... In use */ |
---|
| 1082 | #define DBF_USER 2 /* Real user (versus anonymous) */ |
---|
| 1083 | #define DBF_LOGGED 4 /* Logged in (versus not) */ |
---|
| 1084 | |
---|
| 1085 | /* Data Definitions... */ |
---|
| 1086 | |
---|
| 1087 | /* Numeric fields, hex, right justified, 0-filled on left */ |
---|
| 1088 | |
---|
| 1089 | #define db_FLAGS 0 /* Field 0: Flags */ |
---|
| 1090 | #define DB_FLAGS 0 /* Offset: 0 */ |
---|
| 1091 | #define dB_FLAGS 4 /* Length: 4 (hex digits) */ |
---|
| 1092 | |
---|
| 1093 | #define db_ATYPE 1 /* Field 1: Authentication type */ |
---|
| 1094 | #define DB_ATYPE 4 /* 4 hex digits */ |
---|
| 1095 | #define dB_ATYPE 4 |
---|
| 1096 | |
---|
| 1097 | #define db_AMODE 2 /* Field 2: Authentication mode */ |
---|
| 1098 | #define DB_AMODE 8 /* 4 hex digits */ |
---|
| 1099 | #define dB_AMODE 4 |
---|
| 1100 | |
---|
| 1101 | #define db_STATE 3 /* Field 3: State - 4 hex digits*/ |
---|
| 1102 | #define DB_STATE 12 /* 4 hex digits */ |
---|
| 1103 | #define dB_STATE 4 |
---|
| 1104 | |
---|
| 1105 | #define db_MYPID 4 /* Field 4: My PID */ |
---|
| 1106 | #define DB_MYPID 16 /* 16 hex digits left padded with 0 */ |
---|
| 1107 | #define dB_MYPID 16 |
---|
| 1108 | |
---|
| 1109 | #define db_SADDR 5 /* Field 5: Server (my) IP address */ |
---|
| 1110 | #define DB_SADDR 32 /* 16 hex digits left padded with 0 */ |
---|
| 1111 | #define dB_SADDR 16 |
---|
| 1112 | |
---|
| 1113 | #define db_CADDR 6 /* Field 6: Client IP address */ |
---|
| 1114 | #define DB_CADDR 48 /* 16 hex digits left padded with 0 */ |
---|
| 1115 | #define dB_CADDR 16 |
---|
| 1116 | |
---|
| 1117 | /* Date-time fields (17 right-adjusted in 18 for Y10K readiness) */ |
---|
| 1118 | |
---|
| 1119 | #define db_START 7 /* Field 7: Session start date-time */ |
---|
| 1120 | #define DB_START 65 /* 64 is leading space for Y10K */ |
---|
| 1121 | #define dB_START 17 |
---|
| 1122 | |
---|
| 1123 | #define db_LASTU 8 /* Field 8: Last lastu date-time */ |
---|
| 1124 | #define DB_LASTU 83 /* 82 is leading space for Y10K */ |
---|
| 1125 | #define dB_LASTU 17 |
---|
| 1126 | |
---|
| 1127 | #define db_ULEN 9 /* Field 9: Length of Username */ |
---|
| 1128 | #define DB_ULEN 100 /* 4 hex digits */ |
---|
| 1129 | #define dB_ULEN 4 |
---|
| 1130 | |
---|
| 1131 | #define db_DLEN 10 /* Field 10: Length of Directory */ |
---|
| 1132 | #define DB_DLEN 104 /* 4 hex digits */ |
---|
| 1133 | #define dB_DLEN 4 |
---|
| 1134 | |
---|
| 1135 | #define db_ILEN 11 /* Field 11: Length of Info */ |
---|
| 1136 | #define DB_ILEN 108 /* 4 hex digits */ |
---|
| 1137 | #define dB_ILEN 4 |
---|
| 1138 | |
---|
| 1139 | #define db_PAD1 12 /* Field 12: (Reserved) */ |
---|
| 1140 | #define DB_PAD1 112 /* filled with spaces */ |
---|
| 1141 | #define dB_PAD1 912 |
---|
| 1142 | |
---|
| 1143 | /* String fields, all right-padded with blanks */ |
---|
| 1144 | |
---|
| 1145 | #define db_USER 13 /* Field 13: Username */ |
---|
| 1146 | #define DB_USER 1024 /* right-padded with spaces */ |
---|
| 1147 | #define dB_USER 1024 |
---|
| 1148 | |
---|
| 1149 | #define db_DIR 14 /* Field 14: Current directory */ |
---|
| 1150 | #define DB_DIR 2048 /* right-padded with spaces */ |
---|
| 1151 | #define dB_DIR 1024 |
---|
| 1152 | |
---|
| 1153 | #define db_INFO 15 /* Field 15: State-specific info */ |
---|
| 1154 | #define DB_INFO 3072 /* right-padded with spaces */ |
---|
| 1155 | #define dB_INFO 1024 |
---|
| 1156 | |
---|
| 1157 | #define DB_RECL 4096 /* Database record length */ |
---|
| 1158 | |
---|
| 1159 | /* Offset, length, and type of each field thru its db_XXX symbol */ |
---|
| 1160 | |
---|
| 1161 | #define DBT_HEX 1 /* Hexadecimal number */ |
---|
| 1162 | #define DBT_STR 2 /* String */ |
---|
| 1163 | #define DBT_DAT 3 /* Date-Time yyyymmdd hh:mm:ss */ |
---|
| 1164 | #define DBT_UND 9 /* Undefined and blank */ |
---|
| 1165 | |
---|
| 1166 | struct iksdbfld { |
---|
| 1167 | int off; /* Position (offset) */ |
---|
| 1168 | int len; /* Length (bytes) */ |
---|
| 1169 | int typ; /* Data type */ |
---|
| 1170 | }; |
---|
| 1171 | _PROTOTYP(int dbinit, (void)); |
---|
| 1172 | _PROTOTYP(int initslot, (int)); |
---|
| 1173 | _PROTOTYP(int getslot, (void)); |
---|
| 1174 | _PROTOTYP(int freeslot, (int)); |
---|
| 1175 | _PROTOTYP(int updslot, (int)); |
---|
| 1176 | _PROTOTYP(int slotstate, (int, char *, char *, char *)); |
---|
| 1177 | _PROTOTYP(int slotdir, (char *, char *)); |
---|
| 1178 | #endif /* IKSDB */ |
---|
| 1179 | #endif /* NOIKSD */ |
---|
| 1180 | |
---|
| 1181 | /* ANSI forward declarations for protocol-related functions. */ |
---|
| 1182 | |
---|
[10779] | 1183 | _PROTOTYP( int input, (void) ); |
---|
| 1184 | _PROTOTYP( int inibufs, (int, int) ); |
---|
| 1185 | _PROTOTYP( int makebuf, (int, int, CHAR [], struct pktinfo *) ); |
---|
| 1186 | _PROTOTYP( int mksbuf, (int) ); |
---|
| 1187 | _PROTOTYP( int mkrbuf, (int) ); |
---|
| 1188 | _PROTOTYP( int spack, (char, int, int, CHAR *) ); |
---|
| 1189 | _PROTOTYP( VOID proto, (void) ); |
---|
| 1190 | _PROTOTYP( int rpack, (void) ); |
---|
[20080] | 1191 | _PROTOTYP( int ack, (void) ); |
---|
| 1192 | _PROTOTYP( int nack, (int) ); |
---|
| 1193 | _PROTOTYP( int ackn, (int) ); |
---|
[10779] | 1194 | _PROTOTYP( int ack1, (CHAR *) ); |
---|
| 1195 | _PROTOTYP( int ackns, (int, CHAR *) ); |
---|
[20080] | 1196 | #ifdef STREAMING |
---|
| 1197 | _PROTOTYP( int fastack, (void) ); |
---|
| 1198 | #endif /* STREAMING */ |
---|
[10779] | 1199 | _PROTOTYP( int resend, (int) ); |
---|
| 1200 | _PROTOTYP( int errpkt, (CHAR *) ); |
---|
[20080] | 1201 | _PROTOTYP( VOID logpkt, (char, int, CHAR *, int) ); |
---|
[10779] | 1202 | _PROTOTYP( CHAR dopar, (CHAR) ); |
---|
[20080] | 1203 | _PROTOTYP( int chk1, (CHAR *, int) ); |
---|
| 1204 | _PROTOTYP( unsigned int chk2, (CHAR *, int) ); |
---|
[10779] | 1205 | _PROTOTYP( unsigned int chk3, (CHAR *, int) ); |
---|
| 1206 | _PROTOTYP( int sipkt, (char) ); |
---|
[20080] | 1207 | _PROTOTYP( int sopkt, (void) ); |
---|
[10779] | 1208 | _PROTOTYP( int sinit, (void) ); |
---|
| 1209 | _PROTOTYP( VOID rinit, (CHAR *) ); |
---|
| 1210 | _PROTOTYP( int spar, (CHAR *) ); |
---|
| 1211 | _PROTOTYP( int rcvfil, (char *) ); |
---|
| 1212 | _PROTOTYP( CHAR * rpar, (void) ); |
---|
| 1213 | _PROTOTYP( int gnfile, (void) ); |
---|
| 1214 | _PROTOTYP( int getsbuf, (int) ); |
---|
| 1215 | _PROTOTYP( int getrbuf, (void) ); |
---|
| 1216 | _PROTOTYP( int freesbuf, (int) ); |
---|
| 1217 | _PROTOTYP( int freerbuf, (int) ); |
---|
| 1218 | _PROTOTYP( int dumpsbuf, (void) ); |
---|
| 1219 | _PROTOTYP( int dumprbuf, (void) ); |
---|
| 1220 | _PROTOTYP( VOID freerpkt, (int) ); |
---|
| 1221 | _PROTOTYP( int chkwin, (int, int, int) ); |
---|
| 1222 | _PROTOTYP( int rsattr, (CHAR *) ); |
---|
| 1223 | _PROTOTYP( char *getreason, (char *) ); |
---|
| 1224 | _PROTOTYP( int scmd, (char, CHAR *) ); |
---|
| 1225 | _PROTOTYP( int encstr, (CHAR *) ); |
---|
| 1226 | _PROTOTYP( int decode, (CHAR *, int (*)(char), int) ); |
---|
[20080] | 1227 | _PROTOTYP( int bdecode, (CHAR *, int (*)(char)) ); |
---|
[10779] | 1228 | _PROTOTYP( int fnparse, (char *) ); |
---|
| 1229 | _PROTOTYP( int syscmd, (char *, char *) ); |
---|
| 1230 | _PROTOTYP( int cwd, (char *) ); |
---|
| 1231 | _PROTOTYP( int remset, (char *) ); |
---|
| 1232 | _PROTOTYP( int initattr, (struct zattr *) ); |
---|
| 1233 | _PROTOTYP( int gattr, (CHAR *, struct zattr *) ); |
---|
| 1234 | _PROTOTYP( int adebu, (char *, struct zattr *) ); |
---|
| 1235 | _PROTOTYP( int canned, (CHAR *) ); |
---|
| 1236 | _PROTOTYP( int opent, (struct zattr *) ); |
---|
[20080] | 1237 | _PROTOTYP( int ckopenx, (struct zattr *) ); |
---|
[10779] | 1238 | _PROTOTYP( int opena, (char *, struct zattr *) ); |
---|
| 1239 | _PROTOTYP( int openi, (char *) ); |
---|
| 1240 | _PROTOTYP( int openo, (char *, struct zattr *, struct filinfo *) ); |
---|
[20080] | 1241 | _PROTOTYP( int openc, (int, char *) ); |
---|
[10779] | 1242 | _PROTOTYP( int reof, (char *, struct zattr *) ); |
---|
| 1243 | _PROTOTYP( VOID reot, (void) ); |
---|
| 1244 | _PROTOTYP( int sfile, (int) ); |
---|
[20080] | 1245 | _PROTOTYP( int sattr, (int, int) ); |
---|
[10779] | 1246 | _PROTOTYP( int sdata, (void) ); |
---|
[20080] | 1247 | _PROTOTYP( int seof, (int) ); |
---|
| 1248 | _PROTOTYP( int sxeof, (int) ); |
---|
[10779] | 1249 | _PROTOTYP( int seot, (void) ); |
---|
| 1250 | _PROTOTYP( int window, (int) ); |
---|
| 1251 | _PROTOTYP( int clsif, (void) ); |
---|
| 1252 | _PROTOTYP( int clsof, (int) ); |
---|
| 1253 | _PROTOTYP( CHAR setgen, (char, char *, char *, char *) ); |
---|
| 1254 | _PROTOTYP( int getpkt, (int, int) ); |
---|
[20080] | 1255 | _PROTOTYP( int maxdata, (void) ); |
---|
[10779] | 1256 | _PROTOTYP( int putsrv, (char) ); |
---|
| 1257 | _PROTOTYP( int puttrm, (char) ); |
---|
| 1258 | _PROTOTYP( int putque, (char) ); |
---|
| 1259 | _PROTOTYP( int putfil, (char) ); |
---|
[20080] | 1260 | _PROTOTYP( int putmfil, (char) ); |
---|
| 1261 | _PROTOTYP( int zputfil, (char) ); |
---|
[10779] | 1262 | _PROTOTYP( VOID zdstuff, (CHAR) ); |
---|
[20080] | 1263 | _PROTOTYP( int tinit, (int) ); |
---|
[10779] | 1264 | _PROTOTYP( VOID pktinit, (void) ); |
---|
| 1265 | _PROTOTYP( VOID resetc, (void) ); |
---|
| 1266 | _PROTOTYP( VOID xsinit, (void) ); |
---|
| 1267 | _PROTOTYP( int adjpkl, (int,int,int) ); |
---|
| 1268 | _PROTOTYP( int chktimo, (int,int) ); |
---|
| 1269 | _PROTOTYP( int nxtpkt, (void) ); |
---|
| 1270 | _PROTOTYP( VOID rcalcpsz, (void) ); |
---|
[20080] | 1271 | _PROTOTYP( int srinit, (int, int, int) ); |
---|
[10779] | 1272 | _PROTOTYP( VOID tstats, (void) ); |
---|
| 1273 | _PROTOTYP( VOID fstats, (void) ); |
---|
| 1274 | _PROTOTYP( VOID intmsg, (long) ); |
---|
| 1275 | _PROTOTYP( VOID ermsg, (char *) ); |
---|
| 1276 | _PROTOTYP( int chkint, (void) ); |
---|
| 1277 | _PROTOTYP( VOID sdebu, (int) ); |
---|
| 1278 | _PROTOTYP( VOID rdebu, (CHAR *, int) ); |
---|
| 1279 | _PROTOTYP( char * dbchr, ( int ) ); |
---|
| 1280 | #ifdef COMMENT |
---|
| 1281 | _PROTOTYP( SIGTYP stptrap, (int, int) ); |
---|
| 1282 | _PROTOTYP( SIGTYP trap, (int, int) ); |
---|
| 1283 | #else |
---|
| 1284 | _PROTOTYP( SIGTYP stptrap, (int) ); |
---|
| 1285 | _PROTOTYP( SIGTYP trap, (int) ); |
---|
| 1286 | #endif /* COMMENT */ |
---|
| 1287 | _PROTOTYP( char * ck_errstr, (void) ); |
---|
[20080] | 1288 | #ifndef NOXFER |
---|
| 1289 | _PROTOTYP( int agnbyte, (void) ); |
---|
| 1290 | #endif /* NOXFER */ |
---|
| 1291 | _PROTOTYP( int xgnbyte, (int, int, int (*)(void)) ); |
---|
| 1292 | _PROTOTYP( int xpnbyte, (int, int, int, int (*)(char)) ); |
---|
[10779] | 1293 | |
---|
| 1294 | /* User interface functions needed by main program, etc. */ |
---|
| 1295 | |
---|
[20080] | 1296 | _PROTOTYP( int doconect, (int,int) ); |
---|
| 1297 | _PROTOTYP( VOID setflow, (void) ); |
---|
[10779] | 1298 | _PROTOTYP( VOID prescan, (int) ); |
---|
| 1299 | _PROTOTYP( VOID setint, (void) ); |
---|
| 1300 | _PROTOTYP( VOID doinit, (void) ); |
---|
[20080] | 1301 | _PROTOTYP( VOID dofast, (void) ); |
---|
[10779] | 1302 | _PROTOTYP( VOID cmdini, (void) ); |
---|
| 1303 | _PROTOTYP( int dotake, (char *) ); |
---|
| 1304 | _PROTOTYP( int cmdlin, (void) ); |
---|
[20080] | 1305 | #ifdef OS2 |
---|
| 1306 | _PROTOTYP( int conect, (int) ); |
---|
| 1307 | #else /* OS2 */ |
---|
[10779] | 1308 | _PROTOTYP( int conect, (void) ); |
---|
[20080] | 1309 | #endif /* OS2 */ |
---|
[10779] | 1310 | _PROTOTYP( int ckcgetc, (int) ); |
---|
| 1311 | _PROTOTYP( int ckcputc, (int) ); |
---|
| 1312 | _PROTOTYP (int mdmhup, (void) ); |
---|
| 1313 | _PROTOTYP( VOID herald, (void) ); |
---|
| 1314 | _PROTOTYP( VOID fixcmd, (void) ); |
---|
| 1315 | _PROTOTYP( int doarg, (char) ); |
---|
[20080] | 1316 | _PROTOTYP( int doxarg, (char **, int) ); |
---|
[10779] | 1317 | _PROTOTYP( VOID usage, (void) ); |
---|
[20080] | 1318 | _PROTOTYP( VOID doclean, (int) ); |
---|
| 1319 | _PROTOTYP( int sndhlp, () ); |
---|
| 1320 | _PROTOTYP( int sndstring, (char *) ); |
---|
[10779] | 1321 | _PROTOTYP( VOID ckhost, (char *, int) ); |
---|
| 1322 | _PROTOTYP( int gettcs, (int, int) ); |
---|
| 1323 | _PROTOTYP( VOID getdialenv, (void) ); |
---|
| 1324 | _PROTOTYP( VOID setprefix, (int) ); |
---|
[20080] | 1325 | _PROTOTYP(VOID initproto,(int,char *,char *,char *,char *,char *,char*,char*)); |
---|
| 1326 | _PROTOTYP( VOID initpat, (void) ); |
---|
| 1327 | _PROTOTYP( VOID initcsets, (void) ); |
---|
[10779] | 1328 | _PROTOTYP( char * getsysid, (char *) ); |
---|
| 1329 | _PROTOTYP( int getsysix, (char *) ); |
---|
| 1330 | #ifdef CK_TIMERS |
---|
| 1331 | _PROTOTYP( VOID rttinit, (void) ); |
---|
| 1332 | _PROTOTYP( int getrtt, (int, int) ); |
---|
| 1333 | #endif /* CK_TIMERS */ |
---|
| 1334 | |
---|
| 1335 | _PROTOTYP( int is_a_tty, (int) ); |
---|
| 1336 | _PROTOTYP( int snddir, (char *) ); |
---|
| 1337 | _PROTOTYP( int snddel, (char *) ); |
---|
| 1338 | _PROTOTYP( int sndtype, (char *) ); |
---|
[20080] | 1339 | _PROTOTYP( int dooutput, (char *, int) ); |
---|
[10779] | 1340 | _PROTOTYP( int isabsolute, (char *) ); |
---|
| 1341 | _PROTOTYP( VOID whoarewe, (void) ); |
---|
[20080] | 1342 | _PROTOTYP( int ckmkdir, (int, char *, char **, int, int) ); |
---|
| 1343 | _PROTOTYP( int autoexitchk, (CHAR) ); |
---|
| 1344 | _PROTOTYP( VOID fcps, (void) ); |
---|
| 1345 | #ifdef OS2 |
---|
| 1346 | _PROTOTYP( VOID logchar, (unsigned short) ); |
---|
| 1347 | #else /* OS2 */ |
---|
| 1348 | _PROTOTYP( VOID logchar, (char) ); |
---|
| 1349 | #endif /* OS2 */ |
---|
| 1350 | _PROTOTYP( VOID logstr, (char *, int) ); |
---|
[10779] | 1351 | |
---|
[20080] | 1352 | _PROTOTYP( VOID dologend, (void) ); |
---|
| 1353 | #ifdef NOLOCAL |
---|
| 1354 | #define dologshow() |
---|
| 1355 | #else |
---|
| 1356 | _PROTOTYP( long dologshow, (int) ); |
---|
| 1357 | #endif /* NOLOCAL */ |
---|
| 1358 | |
---|
| 1359 | #ifdef NODISPLAY |
---|
| 1360 | #define fxdinit(a) |
---|
| 1361 | #else |
---|
| 1362 | _PROTOTYP( VOID fxdinit, (int) ); |
---|
| 1363 | #endif /* NODISPLAY */ |
---|
| 1364 | |
---|
| 1365 | _PROTOTYP( int fileselect, (char *, |
---|
| 1366 | char *, char *, char *, char *, |
---|
| 1367 | long, long, |
---|
| 1368 | int, int, |
---|
| 1369 | char **) ); |
---|
| 1370 | |
---|
| 1371 | |
---|
| 1372 | _PROTOTYP( char * whoami, (void) ); |
---|
| 1373 | _PROTOTYP( int shoesc, (int) ); |
---|
| 1374 | |
---|
[10779] | 1375 | #ifdef CK_APC |
---|
[20080] | 1376 | _PROTOTYP( int chkspkt, (char *) ); |
---|
[10779] | 1377 | _PROTOTYP( int kstart, (CHAR) ); |
---|
[20080] | 1378 | _PROTOTYP( VOID autodown, (int)); |
---|
| 1379 | #ifdef CK_XYZ |
---|
[10779] | 1380 | _PROTOTYP( int zstart, (CHAR) ); |
---|
| 1381 | #endif /* CK_XYZ */ |
---|
[20080] | 1382 | #ifdef OS2 |
---|
| 1383 | _PROTOTYP(void apc_command, (int, char*)); |
---|
| 1384 | #endif /* OS2 */ |
---|
[10779] | 1385 | #endif /* CK_APC */ |
---|
| 1386 | |
---|
[20080] | 1387 | /* User Query data structures and functions */ |
---|
[10779] | 1388 | |
---|
[20080] | 1389 | struct txtbox { |
---|
| 1390 | char * t_buf; /* Destination buffer address */ |
---|
| 1391 | int t_len; /* Destination buffer length */ |
---|
| 1392 | char * t_lbl; /* Label for this field */ |
---|
| 1393 | char * t_dflt; /* Default response for this field */ |
---|
| 1394 | int t_echo; /* 0 = no, 1 = yes, 2 = asterisks */ |
---|
| 1395 | }; |
---|
| 1396 | |
---|
| 1397 | _PROTOTYP(int uq_ok, (char *,char *,int,char **,int) ); |
---|
| 1398 | _PROTOTYP(int uq_txt, (char *,char *,int,char **,char *,int,char *)); |
---|
| 1399 | _PROTOTYP(int uq_mtxt, (char *,char **,int,struct txtbox[]) ); |
---|
| 1400 | _PROTOTYP(int uq_file, (char *,char *,int,char **,char *,char *,int)); |
---|
| 1401 | |
---|
| 1402 | #ifdef CK_URL |
---|
| 1403 | struct urldata { |
---|
| 1404 | char * sav; /* The URL itself */ |
---|
| 1405 | char * svc; /* Service */ |
---|
| 1406 | char * usr; /* User */ |
---|
| 1407 | char * psw; /* Password */ |
---|
| 1408 | char * hos; /* Host */ |
---|
| 1409 | char * por; /* Port */ |
---|
| 1410 | char * pth; /* Path */ |
---|
| 1411 | }; |
---|
| 1412 | _PROTOTYP(int urlparse, (char *, struct urldata *)); |
---|
| 1413 | #endif /* CK_URL */ |
---|
| 1414 | |
---|
[10779] | 1415 | #endif /* CKCKER_H */ |
---|
| 1416 | |
---|
| 1417 | /* End of ckcker.h */ |
---|