source: trunk/third/kermit/ckuusr.h @ 20081

Revision 20081, 106.7 KB checked in by zacheiss, 21 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20080, which included commits to RCS files with non-trunk default branches.
Line 
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>,
5  Columbia University Academic Information Systems, New York City.
6
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.
11*/
12#ifndef CKUUSR_H
13#define CKUUSR_H
14
15#include "ckucmd.h"                     /* Get symbols from command package */
16
17#ifndef NOLUCACHE                       /* Use lookup() cache */
18#ifndef NOSPL                           /* To speed up script programs */
19#ifndef USE_LUCACHE
20#define USE_LUCACHE
21#endif /* USE_LUCACHE */
22#endif /* NOSPL */
23#endif /* NOLUCACHE */
24
25#ifndef NODOUBLEQUOTING                 /* New to 8.0 */
26#define DOUBLEQUOTING                   /* Allow fields to be enclosed in */
27#endif /* NODOUBLEQUOTING */            /* doublequotes. */
28
29#ifndef NOLOCUS                         /* SET LOCUS */
30#define LOCUS
31#endif /* NOLOCUS */
32
33/* Sizes of things */
34
35#ifdef BIGBUFOK
36#define FNVALL 10238                    /* Function return value length */
37#define MAXARGLEN 8191                  /* Max func arg length after eval */
38#define MAXARGLIST 1024                 /* Max number of args for a macro */
39#define FSPECL CMDBL                    /* Max length for MSEND/GET string */
40#define MSENDMAX 1024                   /* Number of filespecs for MSEND */
41#define MAC_MAX 16384                   /* Maximum number of macros */
42
43#else  /* Same as above but for smaller builds... */
44
45#define FNVALL 1022
46#define MAXARGLEN 1023
47#define MAXARGLIST 64
48#define FSPECL 300
49#define MSENDMAX 128
50#define MAC_MAX 1024
51#endif /* BIGBUFOK */
52
53#define GVARS 127                       /* Highest global var allowed */
54#ifdef BIGBUFOK
55#define VNAML 4096                      /* Max length for variable name */
56#define ARRAYREFLEN 1024                /* Max length for array reference */
57#define FORDEPTH 32                     /* Maximum depth of nested FOR loops */
58#define MAXTAKE 54                      /* Maximum nesting of TAKE files */
59#define MACLEVEL 128                    /* Maximum nesting for macros */
60#define INPBUFSIZ 4096                  /* Size of INPUT buffer */
61#define PROMPTL 1024                    /* Max length for prompt */
62#else
63#define VNAML 256                       /* Max length for variable name */
64#define ARRAYREFLEN 128                 /* Max length for array reference */
65#define FORDEPTH 10                     /* Maximum depth of nested FOR loops */
66#define MAXTAKE 32                      /* Maximum nesting of TAKE files */
67#define MACLEVEL 64                     /* Maximum nesting for macros */
68#define INPBUFSIZ 256
69#define PROMPTL 256                     /* Max length for prompt */
70#endif /* BIGBUFOK */
71#define NARGS 10                        /* Max number of macro arguments */
72#define LINBUFSIZ (CMDBL + 10)          /* Size of line[] buffer */
73#define TMPBUFSIZ (CMDBL + 10)          /* Size of temporary buffer */
74#define LBLSIZ 50                       /* Maximum length for a GOTO label */
75#define CMDSTKL ( MACLEVEL + MAXTAKE + 2) /* Command stack depth */
76
77#ifndef NOPURGE                         /* PURGE command */
78#ifdef UNIX
79#define CKPURGE
80#endif /* UNIX */
81#endif /* NOPURGE */
82
83#ifndef NOMINPUT                        /* MINPUT command */
84#ifndef NOSPL
85#define CK_MINPUT
86#ifndef MINPMAX
87#ifdef BIGBUFOK
88#define MINPMAX 96                      /* Max number of MINPUT strings */
89#else
90#define MINPMAX 16
91#endif /* BIGBUFOK */
92#endif /* MINPMAX */
93#define MINPBUFL 256                    /* Size of MINPUT temp buffer */
94#endif /* NOSPL */
95#endif /* NOMINPUT */
96
97#define ARRAYBASE 95                    /* Lowest array-name character */
98
99#ifndef NOKERBANG
100#ifndef KERBANG
101#define KERBANG
102#endif /* KERBANG */
103#endif /* NOKERBANG */
104
105/* Bit values (1, 2, 4, 8, ...) for the ccflgs field */
106
107#define CF_APC  1                       /* Executing an APC command */
108#define CF_KMAC 2                       /* Executing a \Kmacro */
109#define CF_CMDL 4                       /* Macro from -C "blah" command line */
110#define CF_REXX 8                       /* Macro from REXX interpreter */
111#define CF_IMAC 16                      /* Internal macro like FOR, WHILE... */
112
113struct cmdptr {                         /* Command stack structure */
114    int src;                            /* Command Source */
115    int lvl;                            /* Current TAKE or DO level */
116    int ccflgs;                         /* Flags */
117};
118
119struct mtab {                           /* Macro table, like keyword table */
120    char *kwd;                          /* But with pointers for vals */
121    char *mval;                         /* instead of ints. */
122    short flgs;
123};
124
125struct localvar {                       /* Local variable structure. */
126    char * lv_name;
127    char * lv_value;
128    struct localvar * lv_next;
129};
130
131struct stringlist {                     /* General purpose string list */
132    char * sl_name;
133    struct stringlist * sl_next;
134};
135
136#ifndef NOICP
137/*
138  C-Kermit Initialization file...
139
140  System-dependent defaults are built into the program, see below.
141  These can be overridden in either of two ways:
142  1. CK_DSYSINI is defined at compile time, in which case a default
143     system-wide initialization file name is chosen from below, or:
144  2: CK_SYSINI is defined to be a string, which lets the program
145     builder choose the initialization filespec at compile time.
146  These can be given on the CC command line, so the source code need not be
147  changed.
148*/
149
150#ifndef CK_SYSINI                       /* If no initialization file given, */
151#ifdef CK_DSYSINI                       /* but CK_DSYSINI is defined... */
152
153/* Supply system-dependent "default default" initialization file */
154
155#ifdef UNIX                             /* For UNIX, system-wide */
156/* This allows one copy of the standard init file on the whole system, */
157/* rather than a separate copy in each user's home directory. */
158#ifdef HPUX10
159#define CK_SYSINI "/usr/share/lib/kermit/ckermit.ini"
160#else
161#ifdef CU_ACIS
162#define CK_SYSINI "/usr/share/lib/kermit/ckermit.ini"
163#else
164#ifdef __linux__
165#define CK_SYSINI "/usr/share/kermit/ckermit.ini"
166#else
167#define CK_SYSINI "/usr/local/bin/ckermit.ini"
168#endif /* linux */
169#endif /* CU_ACIS */
170#endif /* HPUX10 */
171/* Fill in #else..#ifdef's here for VMS, OS/2, etc. */
172/* Fill in matching #endif's here. */
173#endif /* UNIX */
174
175#endif /* CK_DSYSINI */
176#endif /* CK_SYSINI */
177
178#ifdef CK_SYSINI                        /* Init-file precedence */
179#ifndef CK_INI_A                        /* A means system-wide file first */
180#ifndef CK_INI_B                        /* B means user's first */
181#define CK_INI_A                        /* A is default */
182#endif /* CK_INI_B */
183#endif /* CK_INI_A */
184#else
185#ifdef CK_INI_A                         /* Otherwise */
186#undef CK_INI_A                         /* make sure these aren't defined */
187#endif /* CK_INI_A */
188#ifdef CK_INI_B
189#undef CK_INI_B
190#endif /* CK_INI_B */
191#endif /* CK_SYSINI */
192
193#ifdef CK_SYSINI                        /* One more check... */
194#ifdef CK_INI_A                         /* Make sure they're not both */
195#ifdef CK_INI_B                         /* defined. */
196#undef CK_INI_B
197#endif /* CK_INI_B */
198#endif /* CK_INI_A */
199#endif /* CK_SYSINI */
200/*
201  If neither CK_DSYSINI nor CK_SYSINI are defined, these are the
202  built-in defaults for each platform.  USE_CUSTOM means to execute the
203  customization file automatically if the initialization file is not found.
204*/
205#ifndef NOCUSTOM
206#ifndef USE_CUSTOM
207#define USE_CUSTOM
208#endif /* USE_CUSTOM */
209#endif /* NOCUSTOM */
210
211#ifndef  KERMRCL                        /* Path length for init file */
212#define KERMRCL CKMAXPATH
213#endif /*  KERMRCL */
214
215#ifdef vms
216#define KERMRC "CKERMIT.INI"            /* Init file name */
217#define MYCUSTOM "CKERMOD.INI"          /* Customization file name */
218#else
219#ifdef OS2
220#ifdef NT
221#define KERMRC "k95.ini"
222#define MYCUSTOM "k95custom.ini"
223#else
224#define KERMRC "k2.ini"
225#define MYCUSTOM "k2custom.ini"
226#endif /* NT */
227#else
228#ifdef UNIXOROSK
229#define KERMRC ".kermrc"
230#define MYCUSTOM ".mykermrc"
231#else
232#ifdef STRATUS
233#define KERMRC "ckermit.ini"
234#define MYCUSTOM "ckermod.ini"
235#else
236#define KERMRC "CKERMIT.INI"
237#define MYCUSTOM "ckermod.ini"
238#endif /* STRATUS */
239#endif /* UNIXOROSK */
240#endif /* OS2 */
241#endif /* vms */
242
243#ifndef KERMRCL
244#define KERMRCL 256
245#endif /* KERMRCL */
246#endif /* NOICP */
247
248/* User interface features */
249
250#ifdef CK_CURSES                        /* Thermometer */
251#ifndef NO_PCT_BAR
252#ifndef CK_PCT_BAR
253#define CK_PCT_BAR
254#endif /* NO_PCT_BAR */
255#endif /* CK_PCT_BAR */
256#endif /* CK_CURSES */
257
258#ifdef KUI                              /* KUI requires the Thermometer code */
259#ifndef NO_PCT_BAR
260#ifndef CK_PCT_BAR
261#define CK_PCT_BAR
262#endif /* NO_PCT_BAR */
263#endif /* CK_PCT_BAR */
264#endif /* KUI */
265
266/* Includes */
267
268#ifdef MINIX
269/* why? */
270#include <sys/types.h>
271#endif /* MINIX */
272
273/* Symbols for command source */
274
275#define CMD_KB 0                        /* KeyBoard or standard input */
276#define CMD_TF 1                        /* TAKE command File */
277#define CMD_MD 2                        /* Macro Definition */
278
279/*
280  SET TRANSFER CANCELLATION command should be available in all versions.
281  But for now...
282*/
283#ifdef UNIX                             /* UNIX has it */
284#ifndef XFRCAN
285#define XFRCAN
286#endif /* XFRCAN */
287#endif /* UNIX */
288#ifdef VMS                              /* VMS has it */
289#ifndef XFRCAN
290#define XFRCAN
291#endif /* XFRCAN */
292#endif /* VMS */
293#ifdef datageneral                      /* DG AOS/VS has it */
294#ifndef XFRCAN
295#define XFRCAN
296#endif /* XFRCAN */
297#endif /* datageneral */
298#ifdef STRATUS                          /* Stratus VOS has it */
299#ifndef XFRCAN
300#define XFRCAN
301#endif /* XFRCAN */
302#endif /* STRATUS */
303#ifdef OSK                              /* OS-9 */
304#ifndef XFRCAN
305#define XFRCAN
306#endif /* XFRCAN */
307#endif /* OSK */
308
309#ifndef NOCMDL
310/* Extended Command-Line Option Codes (keep alphabetical by keyword) */
311
312#define XA_ANON 0                       /* --anonymous */
313#define XA_BAFI 1                       /* --bannerfile */
314#define XA_CDFI 2                       /* --cdfile */
315#define XA_CDMS 3                       /* --cdmessage */
316#define XA_HELP 4                       /* --help */
317#define XA_HEFI 5                       /* --helpfile */
318#define XA_IKFI 6                       /* --xferfile */
319#define XA_IKLG 7                       /* --xferlog */
320#define XA_ANFI 8                       /* --initfile */
321#define XA_PERM 9                       /* --permissions */
322#define XA_ROOT 10                      /* --root */
323#define XA_SYSL 11                      /* --syslog */
324#define XA_USFI 12                      /* --userfile */
325#define XA_WTFI 13                      /* --wtmpfile */
326#define XA_WTMP 14                      /* --wtmplog */
327#define XA_TIMO 15                      /* --timeout */
328#define XA_NOIN 16                      /* --nointerrupts */
329#define XA_DBAS 17                      /* --database */
330#define XA_DBFI 18                      /* --dbfile */
331#define XA_PRIV 19                      /* --privid */
332#define XA_VERS 20                      /* --version */
333#define XA_NPRM 21                      /* --noperms */
334#define XA_XPOS 22                      /* Window position X coordinate */
335#define XA_YPOS 23                      /* Window position Y coordinate */
336#define XA_FNAM 24                      /* Font Facename */
337#define XA_FSIZ 25                      /* Font Size */
338#define XA_TERM 26                      /* Terminal type */
339#define XA_CSET 27                      /* Remote Character Set */
340#define XA_ROWS 28                      /* Screen rows (height) */
341#define XA_COLS 29                      /* Screen columns (width) */
342#define XA_TEL  30                      /* Make a Telnet connection */
343#define XA_FTP  31                      /* Make an FTP connection */
344#define XA_SSH  32                      /* Make an SSH connection */
345#define XA_USER 33                      /* Username for login */
346#define XA_PASS 34                      /* Password for login */
347#define XA_TITL 35                      /* Window Title */
348#define XA_NOMN 36                      /* No GUI Menu Bar */
349#define XA_NOTB 37                      /* No GUI Tool Bar */
350#define XA_NOSB 38                      /* No GUI Status Bar */
351#define XA_NOPUSH 39                    /* Disable external commands */
352#define XA_NOSCROLL 40                  /* Disable scrollback operations */
353#define XA_NOESCAPE 41                  /* Disable escape from connect mode */
354#define XA_LOCK 42                      /* All lockdown options */
355#define XA_NOBAR 43                     /* No GUI Bars */
356#define XA_WMAX  44
357#define XA_WMIN  45
358#define XA_SCALE 46                     /* GUI Scale Font */
359#define XA_CHGD  47                     /* GUI Change Dimensions */
360#define XA_MAX  47                      /* Highest extended option number */
361#endif /* NOCMDL */
362
363#ifndef NOICP
364/* Top Level Commands */
365/* Values associated with top-level commands must be 0 or greater. */
366
367#define XXBYE   0       /* BYE */
368#define XXCLE   1       /* CLEAR */
369#define XXCLO   2       /* CLOSE */
370#define XXCON   3       /* CONNECT */
371#define XXCPY   4       /* COPY */
372#define XXCWD   5       /* CWD (Change Working Directory) */
373#define XXDEF   6       /* DEFINE (a macro or variable) */
374#define XXDEL   7       /* (Local) DELETE */
375#define XXDIR   8       /* (Local) DIRECTORY */
376
377/* DIRECTORY Command options... */
378#define DIR_BRF 1       /* BRIEF */
379#define DIR_VRB 2       /* VERBOSE */
380#define DIR_PAG 3       /* PAGE */
381#define DIR_NOP 4       /* NOPAGE */
382#define DIR_ISO 5       /* ISODATE */
383#define DIR_DAT 6       /* ENGLISHDATE */
384#define DIR_HDG 7       /* HEADINGS */
385#define DIR_NOH 8       /* NOHEADINGS */
386#define DIR_SRT 9       /* SORT */
387#define DIR_NOS 10      /* NOSORT */
388#define DIR_ASC 11      /* ASCENDING */
389#define DIR_DSC 12      /* DESCENDING */
390#define DIR_REC 13      /* RECURSIVE */
391#define DIR_NOR 14      /* NORECURIVE */
392#define DIR_DOT 15      /* DOTFILES */
393#define DIR_NOD 16      /* NODOTFILES */
394#define DIR_DIR 17      /* DIRECTORIES */
395#define DIR_FIL 18      /* FILES */
396#define DIR_ALL 19      /* ALL */
397#define DIR_NAM 20      /* NAMES: */
398#define DIR_TYP 21      /* FILETYPES */
399#define DIR_NOT 22      /* NOFILETYPES */
400#define DIR_BUP 23      /* BACKUP */
401#define DIR_NOB 24      /* NOBACKUP */
402#define DIR_MSG 25      /* MESSAGE */
403#define DIR_NOM 26      /* NOMESSAGE */
404#define DIR_ARR 27      /* ARRAY: */
405#define DIR_NAR 28      /* NOARRAY */
406#define DIR_EXC 29      /* EXCEPT: */
407#define DIR_LAR 30      /* LARGER-THAN: */
408#define DIR_SMA 31      /* SMALLER-THAN: */
409#define DIR_AFT 32      /* AFTER: */
410#define DIR_NAF 33      /* NOT-AFTER: */
411#define DIR_BEF 34      /* BEFORE: */
412#define DIR_NBF 35      /* NOT-BEFORE: */
413#define DIR_SUM 36      /* SUMMARY */
414#define DIR_BIN 37      /* TYPE (only show binary or text) */
415#define DIR_LNK 38      /* follow symlinks */
416#define DIR_NLK 39      /* don't follow symlinks */
417#define DIR_OUT 40      /* Output file for listing */
418
419#define DIRS_NM 0       /* Sort directory by NAME */
420#define DIRS_DT 1       /* Sort directory by DATE */
421#define DIRS_SZ 2       /* Sort directory by SIZE */
422
423#define XXDIS   9       /* DISABLE */
424#define XXECH  10       /* ECHO */
425#define XXEXI  11       /* EXIT */
426#define XXFIN  12       /* FINISH */
427#define XXGET  13       /* GET */
428#define XXHLP  14       /* HELP */
429#define XXINP  15       /* INPUT */
430#define XXLOC  16       /* LOCAL */
431#define XXLOG  17       /* LOG */
432#define XXMAI  18       /* MAIL */
433#define XXMOU  19       /* (Local) MOUNT */
434#define XXMSG  20       /* (Local) MESSAGE */
435#define XXOUT  21       /* OUTPUT */
436#define XXPAU  22       /* PAUSE */
437#define XXPRI  23       /* (Local) PRINT */
438#define XXQUI  24       /* QUIT */
439#define XXREC  25       /* RECEIVE */
440#define XXREM  26       /* REMOTE */
441#define XXREN  27       /* (Local) RENAME */
442#define XXSEN  28       /* SEND */
443
444/* SEND switches */
445
446#define SND_BIN  0      /* Binary mode */
447#define SND_DEL  1      /* Delete after */
448#define SND_EXC  2      /* Except */
449#define SND_LAR  3      /* Larger than */
450#define SND_MAI  4      /* Mail */
451#define SND_BEF  5      /* Before */
452#define SND_AFT  6      /* After */
453#define SND_PRI  7      /* Print */
454#define SND_SHH  8      /* Quiet */
455#define SND_REC  9      /* Recursive */
456#define SND_SMA 10      /* Smaller than */
457#define SND_STA 11      /* Starting-from */
458#define SND_TXT 12      /* Text mode */
459#define SND_CMD 13      /* From command (pipe)  */
460#define SND_RES 14      /* Resend/Recover */
461#define SND_PRO 15      /* Protocol */
462#define SND_ASN 16      /* As-name */
463#define SND_IMG 17      /* Image */
464#define SND_LBL 18      /* Labeled */
465#define SND_NAF 19      /* Not-After */
466#define SND_NBE 20      /* Not-Before */
467#define SND_FLT 21      /* Filter */
468#define SND_PTH 22      /* Pathnames */
469#define SND_NAM 23      /* Filenames */
470#define SND_MOV 24      /* MOVE to another directory */
471#define SND_REN 25      /* RENAME after sending */
472#define SND_CAL 26      /* Calibrate */
473#define SND_FIL 27      /* File containing list of files to send */
474#define SND_NOB 28      /* Skip backup files  */
475#define SND_DOT 29      /* Include dot-files */
476#define SND_NOD 30      /* Exclude dot-files */
477#define SND_ARR 31      /* Send from array */
478#define SND_TYP 32      /* TYPE (only send text (or binary)) */
479#define SND_XPA 33      /* TRANSPARENT */
480#define SND_PIP 34      /* PIPES */
481#define SND_ERR 35      /* ERROR */
482#define SND_CSL 36      /* Local character set */
483#define SND_CSR 37      /* Remote character set */
484#define SND_UPD 38      /* Update */
485#define SND_COL 39      /* Collision */
486#define SND_NML 40      /* Namelist */
487#define SND_SRN 41      /* Server-Rename */
488#define SND_LNK 42      /* Follow links */
489#define SND_NLK 43      /* Don't follow links */
490#define SND_SIM 44      /* Simulate */
491#define SND_DIF 45      /* If dates Differ */
492#define SND_PAT 46      /* Pattern to use locally when GET'ing */
493#define SND_NLS 47      /* (FTP only) MGET forces NLST */
494#define SND_MLS 48      /* (FTP only) MGET forces MLSD */
495
496#define SND_MAX 48      /* Highest SEND switch */
497
498#define XXSER  29       /* SERVER */
499#define XXSET  30       /* SET */
500#define XXSHE  31       /* Command for SHELL */
501#define XXSHO  32       /* SHOW */
502#define XXSPA  33       /* (Local) SPACE */
503#define XXSTA  34       /* STATISTICS */
504#define XXSUB  35       /* (Local) SUBMIT */
505#define XXTAK  36       /* TAKE */
506#define XXTRA  37       /* TRANSMIT */
507#define XXTYP  38       /* (Local) TYPE */
508#define XXWHO  39       /* (Local) WHO */
509#define XXDIAL 40       /* (Local) DIAL */
510#define XXLOGI 41       /* (Local) SCRIPT */
511#define XXCOM  42       /* Comment */
512#define XXHAN  43       /* HANGUP */
513#define XXXLA  44       /* TRANSLATE */
514#define XXIF   45       /* IF */
515#define XXLBL  46       /* label */
516#define XXGOTO 47       /* GOTO */
517#define XXEND  48       /* END */
518#define XXSTO  49       /* STOP */
519#define XXDO   50       /* DO */
520#define XXPWD  51       /* PWD */
521#define XXTES  52       /* TEST */
522#define XXASK  53       /* ASK */
523#define XXASKQ 54       /* ASKQ */
524#define XXASS  55       /* ASSIGN */
525#define XXREI  56       /* REINPUT */
526#define XXINC  57       /* INCREMENT */
527#define XXDEC  59       /* DECREMENT */
528#define XXELS  60       /* ELSE */
529#define XXEXE  61       /* EXECUTE */
530#define XXWAI  62       /* WAIT */
531#define XXVER  63       /* VERSION */
532#define XXENA  64       /* ENABLE */
533#define XXWRI  65       /* WRITE */
534#define XXCLS  66       /* CLS (clear screen) */
535#define XXRET  67       /* RETURN */
536#define XXOPE  68       /* OPEN */
537#define XXREA  69       /* READ */
538#define XXON   70       /* ON */
539#define XXDCL  71       /* DECLARE */
540#define XXBEG  72       /* BEGIN (not used) */
541#define XXFOR  72       /* FOR */
542#define XXWHI  73       /* WHILE */
543#define XXIFX  74       /* Extended IF */
544#define XXCMS  75       /* SEND from command output (not yet) */
545#define XXCMR  76       /* RECEIVE to a command's input (not yet) */
546#define XXCMG  77       /* GET to a command's input (not yet) */
547#define XXSUS  78       /* SUSPEND */
548#define XXERR  79       /* ERROR */
549#define XXMSE  80       /* MSEND */
550#define XXBUG  81       /* BUG */
551#define XXPAD  82       /* PAD (as in X.25 PAD) ANYX25 */
552#define XXRED  83       /* REDIAL */
553#define XXGTA  84       /* _getargs (invisible internal) */
554#define XXPTA  85       /* _putargs (invisible internal) */
555#define XXGOK  86       /* GETOK - Ask for YES/NO */
556#define XXTEL  87       /* TELNET */
557#define XXASX  88       /* _ASSIGN (evaluates var name) */
558#define XXDFX  89       /* _DEFINE (evaluates var name) */
559#define XXPNG  90       /* PING (for TCP/IP) */
560#define XXINT  91       /* INTRODUCTION */
561#define XXCHK  92       /* CHECK (a feature) */
562#define XXMSL  93       /* MSLEEP, MPAUSE (millisecond sleep) */
563#define XXNEW  94       /* NEWS */
564#define XXAPC  95       /* APC */
565#define XXFUN  96       /* REDIRECT */
566#define XXWRL  97       /* WRITE-LINE */
567#define XXREXX 98       /* Rexx */
568#define XXMINP 100      /* MINPUT */
569#define XXRSEN 101      /* RESEND */
570#define XXPSEN 102      /* PSEND */
571#define XXGETC 103      /* GETC */
572#define XXEVAL 104      /* EVALUATE */
573#define XXFWD  105      /* FORWARD */
574#define XXUPD  106      /* UPDATES */
575#define XXBEEP 107      /* BEEP */
576#define XXMOVE 108      /* MOVE */
577#define XXMMOVE 109     /* MMOVE */
578#define XXREGET 110     /* REGET */
579#define XXLOOK  111     /* LOOKUP */
580#define XXVIEW  112     /* VIEW (terminal buffer) */
581#define XXANSW  113     /* ANSWER (the phone) */
582#define XXPDIA  114     /* PDIAL (partial dial) */
583#define XXASC   115     /* ASCII / TEXT */
584#define XXBIN   116     /* BINARY */
585#define XXFTP   117     /* FTP */
586#define XXMKDIR 118     /* MKDIR */
587#define XXRMDIR 119     /* RMDIR */
588#define XXTELOP 120     /* TELOPT */
589#define XXRLOG  121     /* RLOGIN */
590#define XXUNDEF 122     /* UNDEFINE */
591#define XXNPSH  123     /* NOPUSH */
592#define XXADD   124     /* ADD */
593#define ADD_SND   0     /* ADD SEND-LIST */
594#define ADD_BIN   1     /* ADD BINARY-PATTERNS */
595#define ADD_TXT   2     /* ADD TEXT-PATTERNS */
596#define XXLOCAL 125     /* LOCAL */
597#define XXKERMI 126     /* KERMIT */
598#define XXDATE  127     /* DATE */
599#define XXSWIT  128     /* SWITCH */
600#define XXXFWD  129     /* _FORWARD */
601#define XXSAVE  130     /* SAVE */
602#define XXXECH  131     /* XECHO */
603#define XXRDBL  132     /* READBLOCK */
604#define XXWRBL  133     /* WRITEBLOCK */
605#define XXRETR  134     /* RETRIEVE */
606#define XXEIGHT 135     /* EIGHTBIT */
607#define XXEDIT  136     /* EDIT */
608#define XXCSEN  137     /* CSEND */
609#define XXCREC  138     /* CRECEIVE */
610#define XXCQ    139     /* CQ */
611#define XXTAPI  140     /* TAPI actions such as dialogs */
612#define XXRES   141     /* RESET */
613#define XXCGET  142     /* CGET */
614#define XXFUNC  143     /* Function (help-only) */
615#define XXKVRB  144     /* Kverb (help-only) */
616#define XXBROWS 145     /* BROWSE */
617#define XXMGET  146     /* MGET */
618#define XXBACK  147     /* BACK */
619#define XXWHERE 148     /* WHERE */
620#define XXREDO  149     /* REDO */
621#define XXEXCH  150     /* EXCHANGE */
622#define XXREMV  151     /* REMOVE */
623#define XXCHRT  152     /* CHROOT */
624#define XXOPTS  153     /* Options (help-only) */
625#define XXAUTH  154     /* AUTHORIZE */
626#define XXPIPE  155     /* PIPE */
627#define XXSSH   156     /* SSH */
628#define XXTERM  157     /* TERMINAL */
629#define XXSTATUS 158    /* STATUS */
630#define XXCPR   159     /* COPYRIGHT */
631#define XXASSER 160     /* ASSERT */
632#define XXSUCC  161     /* SUCCEED */
633#define XXFAIL  162     /* FAIL */
634#define XXLOGIN 163     /* LOGIN */
635#define XXLOGOUT 164    /* LOGOUT */
636#define XXNLCL  165     /* NOLOCAL */
637#define XXWILD  166     /* WILDCARDS (help-only) */
638#define XXNSCR  167     /* NOSCROLL */
639
640/* One-word synonyms for REMOTE commands */
641
642#define XXRCPY  167     /* REMOTE COPY */
643#define XXRCWD  168     /* Change Working Directory */
644#define XXRDEL  169     /* Delete */
645#define XXRDIR  170     /* Directory */
646#define XXRHLP  171     /* Help */
647#define XXRHOS  172     /* Host */
648#define XXRKER  173     /* Kermit */
649#define XXRMSG  174     /* Message */
650#define XXRPRI  175     /* Print */
651#define XXRREN  176     /* Rename */
652#define XXRSET  177     /* Set */
653#define XXRSPA  178     /* Space */
654#define XXRSUB  179     /* Submit */
655#define XXRTYP  180     /* Type */
656#define XXRWHO  181     /* Who */
657#define XXRPWD  182     /* Print Working Directory */
658#define XXRQUE  183     /* Query */
659#define XXRASG  184     /* Assign */
660#define XXRMKD  185     /* mkdir */
661#define XXRRMD  186     /* rmdir */
662#define XXRXIT  187     /* Exit */
663
664/* Top-Level commands, cont'd... */
665
666#define XXGETK  188     /* GETKEYCODE */
667#define XXMORE  189     /* MORE */
668#define XXXOPTS 190     /* Extended-Options (help-only) */
669#define XXIKSD  191     /* IKSD */
670#define XXRESET 192     /* RESET */
671#define XXASSOC 193     /* ASSOCIATE */
672
673#define ASSOC_FC  0     /* ASSOCIATE FILE-CHARACTER-SET */
674#define ASSOC_TC  1     /* ASSOCIATE TRANSFER-CHARACTER-SET */
675
676#define XXSHIFT 194     /* SHIFT */
677#define XXMAN   195     /* MANUAL */
678#define XXLS    196     /* LS */
679#define XXSORT  197     /* SORT */
680#define XXPURGE 198     /* PURGE */
681#define XXFAST  199     /* FAST */
682#define XXCAU   200     /* CAUTIOUS */
683#define XXROB   201     /* ROBUST */
684#define XXMACRO 202     /* Immediate macro */
685#define XXSCRN  203     /* SCREEN */
686#define XXLNOUT 204     /* LINEOUT */
687#define XX_INCR 205     /* _INCREMENT */
688#define XX_DECR 206     /* _DECREMENT */
689#define XX_EVAL 207     /* _EVALUATE */
690#define XXARRAY 208     /* ARRAY */
691#define XXPARSE 209     /* PARSE */
692#define XXHTTP  210     /* HTTP */
693
694#ifdef CKCHANNELIO
695#define XXFILE  211     /* FILE */
696#define XXF_CL  212     /* FCLOSE */
697#define XXF_FL  213     /* FFLUSH */
698#define XXF_LI  214     /* FLIST */
699#define XXF_OP  215     /* FOPEN */
700#define XXF_RE  216     /* FREAD */
701#define XXF_SE  217     /* FSEEK */
702#define XXF_ST  218     /* FSTATUS */
703#define XXF_WR  219     /* FWRITE */
704#define XXF_RW  220     /* FREWIND */
705#define XXF_CO  221     /* FCOUNT */
706#endif /* CKCHANNELIO */
707
708#define XXEXEC  222     /* exec() */
709#define XXTRACE 223     /* TRACE */
710#define XXNOTAV 224     /* The "not available" command */
711#define XXPTY   225     /* PTY (like PIPE) */
712#define XXCHMOD 226     /* CHMOD */
713#define XXPROMP 227     /* PROMPT */
714#define XXFEACH 228     /* FOREACH */
715#define XXGREP  229     /* GREP */
716#define XXSEXP  230     /* S-Expression */
717#define XXUNDCL 231     /* UNDECLARE */
718#define XXVOID  232     /* VOID */
719#define XXPUT   233     /* PUT */
720#define XXUNDFX 234     /* _UNDEFINE */
721#define XXHEAD  235     /* HEAD */
722#define XXTAIL  236     /* TAIL */
723#define XXDEBUG 237     /* DEBUG */
724#define XXLEARN 238     /* LEARN */
725#define XXPAT   239     /* PATTERNS (help only) */
726
727#define XXCDUP  240     /* CDUP (Change working directory upwards) */
728#define XXRCDUP 241     /* REMOTE CDUP */
729#define XXCAT   242     /* CAT (= TYPE /NOPAGE) */
730#define XXFIREW 243     /* FIREWALL (help only) */
731
732#define XXLCWD  244     /* Local C(W)D */
733#define XXLCDU  245     /* Local CDUP */
734#define XXLPWD  246     /* Local PWD */
735#define XXLDEL  247     /* Local DELETE */
736#define XXLDIR  248     /* Local DIRECTORY */
737#define XXLREN  249     /* Local RENAME */
738#define XXLMKD  250     /* Local MKDIR */
739#define XXLRMD  251     /* Local RMDIR */
740#define XXUSER  252     /* (FTP) USER */
741#define XXACCT  253     /* (FTP) ACCOUNT */
742#define XXLINK  254     /* LINK source destination */
743#define XXORIE  255     /* ORIENT(ATION) */
744#define XXDIALER 256    /* DIALER */
745#define XXKCD   257     /* KCD */
746#define XXSITE  258     /* (FTP) SITE */
747#define XXPASV  259     /* (FTP) PASSIVE */
748#define XXCONT  260     /* CONTINUE */
749
750/* End of Top-Level Commands */
751
752#define SCN_CLR   0                     /* SCREEN CLEAR */
753#define SCN_CLE   1                     /* SCREEN CLEOL */
754#define SCN_MOV   2                     /* SCREEN MOVE */
755
756/* ARRAY operations */
757
758#define ARR_DCL   0                     /* Declare */
759#define ARR_CPY   1                     /* Copy */
760#define ARR_RSZ   2                     /* Resize */
761#define ARR_SRT   3                     /* Sort */
762#define ARR_CLR   4                     /* Clear */
763#define ARR_SEA   5                     /* Search */
764#define ARR_DST   6                     /* Destroy */
765#define ARR_SHO   7                     /* Show */
766#define ARR_SET   8                     /* Set */
767#define ARR_EQU   9                     /* Equate */
768
769/* SORT options */
770
771#define SRT_CAS   0                     /* /CASE */
772#define SRT_KEY   1                     /* /KEY:n */
773#define SRT_REV   2                     /* /REVERSE */
774#define SRT_RNG   3                     /* /RANGE:n:m */
775#define SRT_NUM   4                     /* /NUMERIC */
776
777/* PURGE command options */
778
779#define PU_KEEP 0                       /* /KEEP: */
780#define PU_LIST 1                       /* /LIST */
781#define PU_PAGE 2                       /* /PAGE */
782#define PU_NOPA 3                       /* /NOPAGE */
783#define PU_NODE 4                       /* /SIMULATE */
784#define PU_DELE 5                       /* /DELETE */
785#define PU_NOLI 6                       /* /NOLIST */
786#define PU_QUIE 7                       /* /QUIET (= NOLIST) */
787#define PU_VERB 8                       /* /VERBOSE (= LIST) */
788#define PU_ASK  9                       /* /ASK */
789#define PU_NASK 10                      /* /NOASK */
790#define PU_LAR  11                      /* /LARGER-THAN: */
791#define PU_SMA  12                      /* /SMALLER-THAN: */
792#define PU_AFT  13                      /* /AFTER: */
793#define PU_NAF  14                      /* /NOT-AFTER: */
794#define PU_BEF  15                      /* /BEFORE: */
795#define PU_NBF  16                      /* /NOT-BEFORE: */
796#define PU_EXC  17                      /* /EXCEPT: */
797#define PU_RECU 18                      /* /RECURSIVE */
798#define PU_DOT  19                      /* /DOTFILES */
799#define PU_NODOT 20                     /* /NODOTFILES */
800#define PU_HDG  21                      /* /HEADING */
801#define PU_NOH  22                      /* /NOHEADING */
802
803/* DELETE command options */
804
805#define DEL_NOL 0                       /* /NOLIST */
806#define DEL_LIS 1                       /* /LIST */
807#define DEL_HDG 2                       /* /HEADINGS */
808#define DEL_NOH 2                       /* /NOHEADINGS */
809#define DEL_BEF 3                       /* /BEFORE: */
810#define DEL_NBF 4                       /* /NOT-BEFORE: */
811#define DEL_AFT 5                       /* /AFTER: */
812#define DEL_NAF 6                       /* /NOT-AFTER: */
813#define DEL_DOT 7                       /* /DOTFILES */
814#define DEL_NOD 8                       /* /NODOTFILES */
815#define DEL_EXC 9                       /* /EXCEPT:*/
816#define DEL_PAG 10                      /* /PAGE */
817#define DEL_NOP 11                      /* /NOPAGE */
818#define DEL_REC 12                      /* /RECURSIVE */
819#define DEL_NOR 13                      /* /NORECURSIVE */
820#define DEL_VRB 14                      /* /VERBOSE */
821#define DEL_QUI 15                      /* /QUIET */
822#define DEL_SMA 16                      /* /SMALLER-THAN: */
823#define DEL_LAR 17                      /* /LARGER-THAN: */
824#define DEL_SIM 18                      /* /SIMULATE */
825#define DEL_ASK 19                      /* /ASK */
826#define DEL_NAS 20                      /* /NOASK */
827#define DEL_SUM 21                      /* /SUMMARY */
828#define DEL_DIR 22                      /* /DIRECTORY */
829#define DEL_ALL 23                      /* /ALL */
830#define DEL_TYP 24                      /* /TYPE: */
831#define DEL_LNK 25                      /* /FOLLOWLINKS */
832#define DEL_NLK 26                      /* /NOFOLLOWLINKS */
833
834/* FILE operations */
835
836#define FIL_OPN  0                      /* OPEN */
837#define FIL_CLS  1                      /* CLOSE */
838#define FIL_REA  2                      /* READ */
839#define FIL_GET  3                      /* GET */
840#define FIL_WRI  4                      /* WRITE */
841#define FIL_REW  5                      /* REWIND */
842#define FIL_LIS  6                      /* LIST */
843#define FIL_FLU  7                      /* FLUSH */
844#define FIL_SEE  8                      /* SEEK */
845#define FIL_STA  9                      /* STATUS */
846#define FIL_COU 10                      /* COUNT */
847
848/* OPEN / CLOSE items */
849
850#define OPN_FI_R 1                      /* FILE READ */
851#define OPN_FI_W 2                      /* FILE WRITE */
852#define OPN_FI_A 3                      /* FILE APPEND */
853#define OPN_PI_R 4                      /* PIPE READ */
854#define OPN_PI_W 5                      /* PIPE WRITE */
855#define OPN_PT_R 6                      /* PTY READ */
856#define OPN_PT_W 7                      /* PTY WRITE */
857#define OPN_SER  8                      /* PORT or LINE */
858#define OPN_NET  9                      /* HOST */
859
860/* KERBEROS command switches */
861
862#define KRB_S_VE  0     /* /VERSION */
863#define KRB_S_CA  1     /* /CACHE: */
864#define KRB_S_MAX 1     /* Highest KERBEROS switch number */
865
866#ifdef CK_KERBEROS
867
868/* KERBEROS actions */
869
870#define KRB_A_IN  0     /* INITIALIZE */
871#define KRB_A_DE  1     /* DESTROY */
872#define KRB_A_LC  2     /* LIST-CREDENTIALS */
873
874/* KERBEROS INIT switches */
875
876#define KRB_I_FW  0     /* /FORWARDABLE */
877#define KRB_I_LF  1     /* /LIFETIME: */
878#define KRB_I_PD  2     /* /POSTDATE: */
879#define KRB_I_PR  3     /* /PROXIABLE */
880#define KRB_I_RB  4     /* /RENEWABLE: */
881#define KRB_I_RN  5     /* /RENEW */
882#define KRB_I_SR  6     /* /SERVICE: */
883#define KRB_I_VA  7     /* /VALIDATE */
884#define KRB_I_RL  8     /* /REALM: */
885#define KRB_I_IN  9     /* /INSTANCE: */
886#define KRB_I_PW  10    /* /PASSWORD: */
887#define KRB_I_PA  11    /* /PREAUTH */
888#define KRB_I_VB  12    /* /VERBOSE */
889#define KRB_I_BR  13    /* /BRIEF */
890#define KRB_I_NFW 14    /* /NOT-FORWARDABLE */
891#define KRB_I_NPR 15    /* /NOT-PROXIABLE */
892#define KRB_I_NPA 16    /* /NOT-PREAUTH */
893#define KRB_I_K4  17    /* /KERBEROS4    (should k5 get k4 as well) */
894#define KRB_I_NK4 18    /* /NO-KERBEROS4 */
895#define KRB_I_POP 19    /* /POPUP */
896#define KRB_I_ADR 20    /* /ADDRESSES: */
897#define KRB_I_NAD 21    /* /NO-ADDRESSES */
898#define KRB_I_MAX 21    /* Highest KERBEROS INIT switch number */
899
900#endif /* CK_KERBEROS */
901
902/* SET parameters */
903
904#define XYBREA  0       /* BREAK simulation */
905#define XYCHKT  1       /* Block check type */
906#define XYDEBU  2       /* Debugging */
907#define XYDELA  3       /* Delay */
908#define XYDUPL  4       /* Duplex */
909#define XYEOL   5       /* End-Of-Line (packet terminator) */
910#define XYESC   6       /* Escape character */
911#define XYFILE  7       /* File Parameters (see ckcker.h for values) */
912                        /* (this space available) */
913#define XYFLOW  9       /* Flow Control */
914#define XYHAND 10       /* Handshake */
915#define XYIFD  11       /* Incomplete File Disposition */
916#define XYIMAG 12       /* "Image Mode" */
917#define XYINPU 13       /* INPUT command parameters */
918#define XYLEN  14       /* Maximum packet length to send */
919#define XYLINE 15       /* Communication line to use */
920
921/* SET LINE / SET HOST command switches */
922
923#define SL_CNX   0      /* /CONNECT */
924#define SL_SRV   1      /* /SERVER */
925#define SL_SHR   2      /* /SHARE */
926#define SL_NSH   3      /* /NOSHARE */
927#define SL_BEE   4      /* /BEEP */
928#define SL_ANS   5      /* /ANSWER */
929#define SL_DIA   6      /* /DIAL:xxx */
930#define SL_SPD   7      /* /SPEED:xxx */
931#define SL_FLO   8      /* /FLOW:xxx */
932#define SL_TMO   9      /* /TIMEOUT:xxx */
933#define SL_CMD  10      /* /COMMAND */
934#define SL_PSW  11      /* /PASSWORD:xxx */
935#define SL_IKS  12      /* /KERMIT-SERVICE */
936#define SL_NET  13      /* /NETWORK-TYPE:xxx */
937#define SL_ENC  14      /* /ENCRYPT:type (telnet) /ENCRYPT (rlogin) */
938#define SL_KRB4 15      /* /KERBEROS 4 (rlogin/telnet) */
939#define SL_KRB5 16      /* /KERBEROS 5 (rlogin/telnet) */
940#define SL_SRP  17      /* /SRP (telnet) */
941#define SL_NTLM 18      /* /NTLM (telnet) */
942#define SL_SSL  19      /* /SSL (telnet) */
943#define SL_UID  20      /* /USERID:xxxx */
944#define SL_AUTH 21      /* /AUTH:type */
945#define SL_WAIT 22      /* /WAIT */
946#define SL_NOWAIT 23    /* /NOWAIT */
947#define SL_PTY  24      /* /PTY */
948
949#define XYLOG  16       /* Log file */
950#define XYMARK 17       /* Start of Packet mark */
951#define XYNPAD 18       /* Amount of padding */
952#define XYPADC 19       /* Pad character */
953#define XYPARI 20       /* Parity */
954#define XYPAUS 21       /* Interpacket pause */
955#define XYPROM 22       /* Program prompt string */
956#define XYQBIN 23       /* 8th-bit prefix */
957#define XYQCTL 24       /* Control character prefix */
958#define XYREPT 25       /* Repeat count prefix */
959#define XYRETR 26       /* Retry limit */
960#define XYSPEE 27       /* Line speed (baud rate) */
961#define XYTACH 28       /* Character to be doubled */
962#define XYTIMO 29       /* Timeout interval */
963#define XYMODM 30       /* Modem - also see XYDIAL */
964
965#define XYSEND 31       /* SET SEND parameters */
966#define XYRECV 32       /* SET RECEIVE parameters */
967#define XYTERM 33       /* SET TERMINAL parameters */
968#define   XYTBYT 0      /*  Terminal Bytesize (7 or 8) */
969#define   XYTTYP 1      /*  Terminal emulation Type */
970#define     TT_NONE  0  /*    NONE, no emulation */
971#ifdef OS2
972/*
973  Note, the symbols for VT and VT-like terminals should be in ascending
974  numerical order, so that higher ones can be treated as supersets of
975  lower ones with respect to capabilities.
976
977  This is no longer the case with the influx of new terminal types.
978  Just make sure that the ISXXXXX() macros include the proper family
979  groups.
980*/
981#define     TT_DG200    1       /*    Data General 200 */
982#define     TT_DG210    2       /*    Data General 210 */
983#define     TT_DG217    3       /*    Data General 217 */
984#define     TT_HP2621   4       /*    Hewlett-Packard 2621A */
985#define     TT_HPTERM   5       /*    Hewlett-Packard Console */
986#define     TT_HZL1500  6       /*    Hazeltine 1500 */
987#define     TT_VC4404   7       /*    Volker Craig VC4404/404 */
988#define     TT_WY30     8       /*    WYSE-30/30+ */
989#define     TT_WY50     9       /*    WYSE-50/50+ */
990#define     TT_WY60    10       /*    WYSE-60    */
991#define     TT_WY160   11       /*    WYSE-160   */
992#define     TT_QNX     12       /*    QNX */
993#define     TT_QANSI   13       /*    QNX Ansi emulation */
994#define     TT_VT52    14       /*    DEC VT-52  */
995#define     TT_H19     15       /*    Heath-19 */
996#define     TT_IBM31   16       /*    IBM 31xx */
997#define     TT_SCOANSI 17       /*    SCOANSI (Unix mode) */
998#define     TT_AT386   18       /*    Unixware AT386 (Unix mode) */
999#define     TT_ANSI    19       /*    IBM ANSI.SYS (BBS) */
1000#define     TT_VIP7809 20       /*    Honeywell VIP7809 */
1001#define     TT_LINUX   21       /*    Linux Console */
1002#define     TT_HFT     22       /*    IBM High Function Terminal */
1003#define     TT_AIXTERM 23       /*    IBM AIXterm */
1004#define     TT_SUN     24       /*    SUN Console */
1005#define     TT_BA80    25       /*    Nixdorf BA80 */
1006#define     TT_BEOS    26       /*    BeOS Ansi */
1007#define     TT_VT100   27       /*    DEC VT-100 */
1008#define     TT_VT102   28       /*    DEC VT-102 */
1009#define     TT_VT220   29       /*    DEC VT-220 */
1010#define     TT_VT220PC 30       /*    DEC VT-220 with PC keyboard */
1011#define     TT_VT320   31       /*    DEC VT-320 */
1012#define     TT_VT320PC 32       /*    DEC VT-320 with PC keyboard */
1013#define     TT_WY370   33       /*    WYSE 370 ANSI Terminal */
1014#define     TT_97801   34       /*    Sinix 97801-5xx terminal */
1015#define     TT_AAA     35       /*    Ann Arbor Ambassador */
1016#define     TT_TVI910  36       /*    TVI 910+ */
1017#define     TT_TVI925  37       /*    TVI 925  */
1018#define     TT_TVI950  38       /*    TVI950   */
1019#define     TT_ADM3A   39       /*    LSI ADM 3A */
1020#define     TT_VTNT    40       /*    Microsoft NT Virtual Terminal */
1021#define     TT_MAX   TT_VTNT
1022#define     TT_VT420   96       /*    DEC VT-420 */
1023#define     TT_VT520   97       /*    DEC VT-520/525 */
1024#define     TT_TEK40 99 /*    Tektronix 401x */
1025#define     TT_KBM_EMACS   TT_MAX+1
1026#define     TT_KBM_HEBREW  TT_MAX+2
1027#define     TT_KBM_RUSSIAN TT_MAX+3
1028#define     TT_KBM_WP      TT_MAX+4
1029
1030#define ISAAA(x)   (x == TT_AAA)
1031#define ISANSI(x)  (x >= TT_SCOANSI && x <= TT_ANSI)
1032#define ISBA80(x)  (x == TT_BA80)
1033#define ISBEOS(x)  (x == TT_BEOS)
1034#define ISQNX(x)   (x == TT_QNX)
1035#define ISQANSI(x)   (x == TT_QANSI)
1036#define ISLINUX(x) (x == TT_LINUX)
1037#define ISSCO(x)   (x == TT_SCOANSI)
1038#define ISAT386(x) (x == TT_AT386)
1039#define ISAVATAR(x) (x == TT_ANSI)
1040#define ISSUN(x)    (x == TT_SUN)
1041#define ISUNIXCON(x) (x == TT_SCOANSI || x == TT_AT386 || \
1042                      x == TT_LINUX   || x == TT_SUN)
1043#define ISDG200(x) (x >= TT_DG200 && x <= TT_DG217)
1044#define ISHZL(x)   (x == TT_HZL1500)
1045#define ISH19(x)   (x == TT_H19)
1046#define ISIBM31(x) (x == TT_IBM31)
1047#define ISTVI(x)   (x >= TT_TVI910 && x <= TT_TVI950)
1048#define ISTVI910(x) (x == TT_TVI910)
1049#define ISTVI925(x) (x == TT_TVI925)
1050#define ISTVI950(x) (x == TT_TVI950)
1051#define ISVT52(x)  (x == TT_VT52 || x == TT_H19)
1052#ifdef COMMENT
1053#define ISVT520(x) (x == TT_VT520)
1054#define ISVT420(x) (x >= TT_VT420 && x <= TT_VT520)
1055#else /* COMMENT */
1056/* Since we do not yet support 420/520 extend 320 */
1057#define ISVT520(x) (ISVT320(x))
1058#define ISVT420(x) (ISVT320(x))
1059#endif /* COMMENT */
1060#define ISVT320(x) (x >= TT_VT320 && x <= TT_AAA)
1061#define ISVT220(x) (x >= TT_VT220 && x <= TT_AAA || \
1062                    ISBEOS(x) || ISQANSI(x) || \
1063                    ISLINUX(x) || ISSUN(x))
1064#define ISVT102(x) (x >= TT_VIP7809 && x <= TT_BA80 || \
1065                    x == TT_VT102 || ISVT220(x))
1066#define ISVT100(x) (x == TT_VT100 || ISVT102(x))
1067#define ISWY30(x)  (x == TT_WY30)
1068#define ISWYSE(x)  (x >= TT_WY30 && x <= TT_WY160)
1069#define ISWY50(x)  (x == TT_WY50)
1070#define ISWY60(x)  (x == TT_WY60 || x == TT_WY160)
1071#define ISWY160(x) (x == TT_WY160)
1072#define ISWY370(x) (x == TT_WY370)
1073#define ISVC(x)    (x == TT_VC4404)
1074#define ISHP(x)    (x == TT_HPTERM || x == TT_HP2621)
1075#define ISHPTERM(x) (x == TT_HPTERM)
1076#define ISVIP(x)   (x == TT_VIP7809)
1077#define IS97801(x) (x == TT_97801)
1078#define ISHFT(x)   (x == TT_HFT || x == TT_AIXTERM)
1079#define ISAIXTERM(x) (x == TT_AIXTERM)
1080#define ISTEK(x)   (x == TT_TEK40)
1081#define ISVTNT(x)  (x == TT_VTNT)
1082#define ISADM3A(x) (x == TT_ADM3A)
1083#endif /* OS2 */
1084
1085#define   XYTCS  2      /*  Terminal Character Set */
1086#define   XYTSO  3      /*  Terminal Shift-In/Shift-Out */
1087#define   XYTNL  4      /*  Terminal newline mode */
1088#ifdef OS2
1089#define   XYTCOL 5      /*  Terminal colors */
1090#endif /* OS2 */
1091#define   XYTEC  6      /*  Terminal echo = duplex = local-echo */
1092#ifdef OS2
1093#define   XYTCUR 7      /*  Terminal cursor */
1094#define     TTC_ULINE 0
1095#define     TTC_HALF  1
1096#define     TTC_BLOCK 2
1097#define   XYTARR 8      /*  Terminal arrow-key mode */
1098#define   XYTKPD 9      /*  Terminal keypad mode */
1099#define    TTK_NORM 0   /*    Normal mode for arrow / keyad keys */
1100#define    TTK_APPL 1   /*    Application mode for arrow / keyad keys */
1101#define   XYTWRP 10     /*  Terminal wrap */
1102#endif /* OS2 */
1103#define   XYTCRD 11     /*  Terminal CR-display */
1104#define   XYTANS 12     /*  Terminal answerback */
1105#ifdef OS2
1106#define   XYSCRS 13     /*  Terminal scrollback buffer size */
1107#endif /* OS2 */
1108#define   XYTAPC 14     /*  Terminal APC */
1109#ifdef OS2
1110#define   XYTBEL 15     /*  Terminal Bell */
1111#endif /* OS2 */
1112#define   XYTDEB 16     /*  Terminal Debug */
1113#ifdef OS2
1114#define   XYTROL 17     /*  Terminal Rollback */
1115#define     TTR_OVER   0  /*  Rollback Overwrite */
1116#define     TTR_INSERT 1  /*  Rollback Insert */
1117#define     TTR_KEYS   2  /*  Keystrokes */
1118#define       TTRK_IGN 0  /*    Ignore */
1119#define       TTRK_RST 2  /*    Restore and Send */
1120#define       TTRK_SND 1  /*    Send */
1121#define   XYTCTS 18     /*  Terminal Transmit-Timeout */
1122#define   XYTCPG 19     /*  Terminal Code Page */
1123#ifdef COMMENT
1124#define   XYTHCU 20     /*  Terminal Hide-Cursor */
1125#endif /* COMMENT */
1126#define   XYTPAC 21         /*  Terminal Output-Pacing */
1127#define   XYTMOU 22         /*  Terminal Mouse */
1128#endif /* OS2 */
1129#define   XYTHIG 23     /*  Terminal Width */
1130#define   XYTWID 24     /*  Terminal Height */
1131#ifdef OS2
1132#define   XYTUPD 25     /*  Terminal Screen-update */
1133#define    TTU_FAST 0   /*     FAST but jerky */
1134#define    TTU_SMOOTH 1 /*     SMOOTH but slow */
1135#define   XYTFON 26     /*  Terminal Full screen Font */
1136#define    TTF_ROM    0 /*     ROM font */
1137#define    TTF_CY1    1 /*     CYRILL1 font */
1138#define    TTF_CY2    2 /*     CYRILL2 font */
1139#define    TTF_CY3    3 /*     CYRILL3 font */
1140#define    TTF_111  111 /*     CP111 font */
1141#define    TTF_112  112 /*     CP112 font */
1142#define    TTF_113  113 /*     CP113 font */
1143#define    TTF_437  437 /*     CP437 font */
1144#define    TTF_850  850 /*     CP850 font */
1145#define    TTF_851  851 /*     CP851 font */
1146#define    TTF_852  852 /*     CP852 font */
1147#define    TTF_853  853 /*     CP853 font */
1148#define    TTF_860  860 /*     CP860 font */
1149#define    TTF_861  861 /*     CP861 font */
1150#define    TTF_862  862 /*     CP862 font */
1151#define    TTF_863  863 /*     CP863 font */
1152#define    TTF_864  864 /*     CP864 font */
1153#define    TTF_865  865 /*     CP865 font */
1154#define    TTF_866  866 /*     CP866 font */
1155#define    TTF_880  880 /*     CP880 font */
1156#define    TTF_881  881 /*     CP881 font */
1157#define    TTF_882  882 /*     CP882 font */
1158#define    TTF_883  883 /*     CP883 font */
1159#define    TTF_884  884 /*     CP884 font */
1160#define    TTF_885  885 /*     CP885 font */
1161#define   XYTVCH 27     /* SET TERMINAL VIDEO-CHANGE */
1162#define    TVC_DIS   0  /*     DISABLED */
1163#define    TVC_ENA   1  /*     ENABLED  */
1164#define    TVC_W95   2  /*     WIN95-SAFE */
1165#endif /* OS2 */
1166#define   XYTAUTODL 28  /* SET TERMINAL AUTODOWNLOAD */
1167#define    TAD_OFF     0 /*    OFF */
1168#define    TAD_ON      1 /*    ON  */
1169#define    TAD_K       2 /*    KERMIT */
1170#define    TAD_Z       3 /*    ZMODEM */
1171#define    TAD_X_STR     0 /*    STRING */
1172#define    TAD_X_DETECT  1 /*    DETECTION ( PACKET, STRING ) */
1173#define    TAD_X_C0      2 /*    C0 CONFLICTS */
1174#define    TAD_ERR     4 /*    ERROR { STOP, CONTINUE } */
1175#define    TAD_ASK     5 /*    ASK (dialog) */
1176#define   XYTAUTOUL 29  /* SET TERMINAL AUTOUPLOAD   */
1177#ifdef OS2
1178#define   XYTATTBUG 30  /* SET TERM ATTR-BUG */
1179#define   XYTSTAT   31  /* SET TERM STATUSLINE */
1180#endif /* OS2 */
1181#define   XYTESC    32  /* SET TERM ESCAPE-CHARACTER */
1182#define   XYTCTRL   33  /* SET TERM CONTROLS */
1183#ifdef OS2
1184#define   XYTATTR   34  /* SET TERM ATTRIBUTE representation */
1185#define   XYTSGRC   35  /* SET TERM SGRCOLORS */
1186#endif /* OS2 */
1187#define   XYTLCS    36  /* SET TERM LOCAL-CHARACTER-SET */
1188#define   XYTRCS    37  /* SET TERM REMOTE-CHARACTER-SET */
1189#define   XYTUNI    38  /* SET TERM UNICODE */
1190#define   XYTKEY    39  /* SET TERM KEY */
1191#ifdef OS2
1192#define   XYTSEND   40  /* SET TERM SEND-DATA */
1193#define   XYTSEOB   41  /* SET TERM SEND-END-OF-BLOCK */
1194#define   XYTMBEL   42  /* SET TERM MARGIN-BELL */
1195#endif /* OS2 */
1196#define   XYTIDLE   43  /* SET TERM IDLE-SEND */
1197#ifdef OS2
1198#define   XYTKBMOD  44  /* SET TERM KEYBOARD-MODE */
1199#define   XYTUNX    45  /* SET TERM UNIX-MODE (DG) */
1200#define   XYTASCRL  46  /* SET TERM AUTOSCROLL */
1201#define   XYTAPAGE  47  /* SET TERM AUTOPAGE */
1202#endif /* OS2 */
1203#define   XYTRIGGER 48  /* SET TERM TRIGGER */
1204#ifdef OS2
1205#define   XYTPCTERM 49  /* SET TERM PCTERM */
1206#define   XYTOPTI   50  /* SET TERM SCREEN-OPTIMIZE */
1207#define   XYTSCNM   51  /* SET TERM SCREEN-MODE (DECSCNM) */
1208#endif /* OS2 */
1209#define   XYTPRN    52  /* SET TERM PRINT {AUTO, COPY, OFF} */
1210#ifdef OS2
1211#define   XYTSAC    53  /* SET TERM SPACING-ATTRIBUTE-CHARACTER (inv) */
1212#define   XYTSNIPM  54  /* SET TERM SNI-AUTOROLL */
1213#define   XYTSNISM  55  /* SET TERM SNI-SCROLLMODE */
1214#define   XYTKBDGL  56  /* SET TERM KBD-FOLLOWS-GL/GR */
1215#define   XYTVTLNG  57  /* SET TERM VT-LANGUAGE */
1216#define     VTL_NORTH_AM  1
1217#define     VTL_BRITISH   2
1218#define     VTL_BELGIAN   3
1219#define     VTL_FR_CAN    4
1220#define     VTL_DANISH    5
1221#define     VTL_FINNISH   6
1222#define     VTL_GERMAN    7
1223#define     VTL_DUTCH     8
1224#define     VTL_ITALIAN   9
1225#define     VTL_SW_FR    10
1226#define     VTL_SW_GR    11
1227#define     VTL_SWEDISH  12
1228#define     VTL_NORWEGIA 13
1229#define     VTL_FRENCH   14
1230#define     VTL_SPANISH  15
1231#define     VTL_PORTUGES 16
1232#define     VTL_HEBREW   19
1233#define     VTL_GREEK    22
1234#define     VTL_CANADIAN 28
1235#define     VTL_TURK_Q   29
1236#define     VTL_TURK_F   30
1237#define     VTL_HUNGARIA 31
1238#define     VTL_SLOVAK   33
1239#define     VTL_CZECH    34
1240#define     VTL_POLISH   35
1241#define     VTL_ROMANIAN 36
1242#define     VTL_SCS      38
1243#define     VTL_RUSSIAN  39
1244#define     VTL_LATIN_AM 40
1245#define   XYTVTNRC  58  /* SET TERM VT-NRC-MODE */
1246#define   XYTSNICC  59  /* SET TERM SNI-CH.CODE */
1247#define   XYTSNIFV  60  /* SET TERM SNI-FIRMWARE-VERSIONS */
1248#define   XYTURLHI  61  /* SET TERM URL-HIGHLIGHT */
1249#endif /* OS2 */
1250#define   XYTITMO   62  /* SET TERM IDLE-TIMEOUT */
1251#define   XYTIACT   63  /* SET TERM IDLE-ACTION  */
1252#define   XYTLSP    64  /* SET TERM LINE-SPACING */
1253
1254#define XYATTR 34       /* Attribute packets  */
1255#define XYSERV 35       /* Server parameters  */
1256#define   XYSERT 0      /*  Server timeout    */
1257#define   XYSERD 1      /*  Server display    */
1258#define   XYSERI 2      /*  Server idle       */
1259#define   XYSERP 3      /*  Server get-path   */
1260#define   XYSERL 4      /*  Server login      */
1261#define   XYSERC 5      /*  Server CD-Message */
1262#define   XYSERK 6      /*  Server keepalive  */
1263#define XYWIND 36       /* Window size */
1264#define XYXFER 37       /* Transfer */
1265#define   XYX_CAN 0     /*   Cancellation  */
1266#define   XYX_CSE 1     /*   Character-Set */
1267#define   XYX_LSH 2     /*   Locking-Shift */
1268#define   XYX_PRO 3     /*   Protocol      */
1269#define   XYX_MOD 4     /*   Mode          */
1270#define   XYX_DIS 5     /*   Display       */
1271#define   XYX_SLO 6     /*   Slow-start    */
1272#define   XYX_CRC 7     /*   CRC calculation */
1273#define   XYX_BEL 8     /*   Bell */
1274#define   XYX_PIP 9     /*   Pipes */
1275#define   XYX_INT 10    /*   Interruption */
1276#define   XYX_XLA 11    /*   (character-set) Translation On/Off */
1277#define   XYX_MSG 12    /*   Message */
1278#define   XYX_RPT 13    /*   Report */
1279#define XYLANG 38       /* Language */
1280#define XYCOUN 39       /* Count */
1281#define XYTAKE 40       /* Take */
1282#define XYUNCS 41       /* Unknown-character-set */
1283#define XYKEY  42       /* Key */
1284#define XYMACR 43       /* Macro */
1285#define XYHOST 44       /* Hostname on network */
1286#define XYNET  45       /* SET NETWORK things */
1287
1288#define XYNET_D 99      /* NETWORK DIRECTORY */
1289#define XYNET_T 100     /* NETWORK TYPE */
1290
1291#define XYCARR 46       /* Carrier */
1292#define XYXMIT 47       /* Transmit */
1293
1294#define XYDIAL 48       /* Dial options */
1295
1296/* And now we interrupt the flow to bring you lots of stuff about dialing */
1297
1298#ifndef MAXTOLLFREE     /* Maximum number of toll-free area codes */
1299#define MAXTOLLFREE 8
1300#endif /* MAXTOLLFREE */
1301
1302#ifndef MAXTPCC         /* Maximum Tone or Pulse dialing countries */
1303#define MAXTPCC 160
1304#endif /* MAXTPCC */
1305
1306#ifndef MAXPBXEXCH      /* Maximum number of PBX exchanges */
1307#define MAXPBXEXCH 8
1308#endif /* MAXPBXEXCH */
1309
1310#ifndef MAXLOCALAC
1311#define MAXLOCALAC 32
1312#endif /* MAXLOCALAC */
1313
1314#ifndef MAXDNUMS
1315#ifdef BIGBUFOK
1316#define MAXDDIR 32      /* Maximum number of dialing directories */
1317#define MAXDNUMS 4095   /* Max numbers to fetch from dialing directories */
1318#else
1319#define MAXDDIR 12
1320#define MAXDNUMS 1024
1321#endif /* BIGBUFOK */
1322#endif /* MAXDNUMS */
1323/*
1324  IMPORTANT: In 5A(192), the old SET DIAL command was split into two commands:
1325  SET MODEM (for modem-related parameters) and SET DIAL (for dialing items).
1326  To preserve the old formats, etc, invisibly we keep one symbol space for
1327  both commands.
1328*/
1329#define  XYDHUP  0      /*   Dial Hangup */
1330#define  XYDINI  1      /*   MODEM (dial) Initialization string */
1331#define  XYDKSP  2      /*   MODEM (dial) Kermit-Spoof */
1332#define  XYDTMO  3      /*   Dial Timeout */
1333#define  XYDDPY  4      /*   Dial Display */
1334#define  XYDSPD  5      /*   Dial Speed matching */
1335#define  XYDMNP  6      /*   MODEM (dial) MNP negotiation enabled (obsolete) */
1336#define  XYDEC   7      /*   MODEM (dial) error correction enabled */
1337#define  XYDDC   8      /*   MODEM (dial) compression enabled */
1338#define  XYDHCM  9      /*   MODEM (dial) hangup-string (moved elsewhere) */
1339#define  XYDDIR 10      /*   Dial directory */
1340#define  XYDDIA 11      /*   MODEM (dial) dial-command */
1341#define  XYDMHU 12      /*   MODEM HANGUP (dial modem-hangup) */
1342
1343#ifndef DEFMDHUP        /* Default MODEM HANGUP-METHOD */
1344#define DEFMDMHUP 1     /* 0 = RS232, 1 = modem command */
1345#endif /* DEFMDMHUP */
1346
1347#define  XYDNPR 13      /*   Dial PREFIX */
1348#define  XYDSTR 14      /*   MODEM COMMAND (dial string) ... */
1349
1350#define   XYDS_DC 0     /*    Data compression */
1351#define   XYDS_EC 1     /*    Error correction */
1352#define   XYDS_HU 2     /*    Hangup command */
1353#define   XYDS_HW 3     /*    Hardware flow control */
1354#define   XYDS_IN 4     /*    Init-string */
1355#define   XYDS_NF 5     /*    No flow control */
1356#define   XYDS_PX 6     /*    Prefix (no, this goes in SET DIAL) */
1357#define   XYDS_SW 7     /*    Software flow control */
1358#define   XYDS_DT 8     /*    Tone dialing command */
1359#define   XYDS_DP 9     /*    Pulse dialing command */
1360#define   XYDS_AN 10    /*    Autoanswer */
1361#define   XYDS_RS 11    /*    Reset */
1362#define   XYDS_MS 12    /*    Dial mode string */
1363#define   XYDS_MP 13    /*    Dial mode prompt */
1364#define   XYDS_SP 14    /*    Modem speaker */
1365#define   XYDS_VO 15    /*    Modem speaker volume */
1366#define   XYDS_ID 16    /*    Ignore dialtone */
1367#define   XYDS_I2 17    /*    Init string #2 */
1368
1369#define   XYDM_A  9     /*    Method: Auto */
1370#define   XYDM_D  0     /*      Default */
1371#define   XYDM_T  2     /*      Tone */
1372#define   XYDM_P  3     /*      Pulse */
1373
1374#define  XYDFC   15     /*   MODEM (dial) flow-control */
1375#define  XYDMTH  16     /*   Dial method */
1376#define  XYDESC  17     /*   MODEM (dial) escape-character */
1377#define  XYDMAX  18     /*   MODEM (dial) maximum interface speed */
1378#define  XYDCAP  19     /*   MODEM (dial) capabilities */
1379#define  XYDTYP  20     /*   MODEM TYPE */
1380#define  XYDINT  21     /*   DIAL retries */
1381#define  XYDRTM  22     /*   DIAL time between retries */
1382#define  XYDNAM  23     /*   MODEM NAME */
1383#define  XYDLAC  24     /*   DIAL (LOCAL-)AREA-CODE */
1384#define  XYDMCD  25     /*   MODEM CARRIER */
1385
1386#define  XYDCNF  26     /*   DIAL CONFIRMATION */
1387#define  XYDCVT  27     /*   DIAL CONVERT-DIRECTORY */
1388#define  XYDIXP  28     /*   DIAL INTERNATIONAL-PREFIX */
1389#define  XYDIXS  29     /*   DIAL INTERNATIONAL-SUFFIX */
1390#define  XYDLCC  30     /*   DIAL LOCAL-COUNTRY-CODE */
1391#define  XYDLDP  31     /*   DIAL LONG-DISTANCE-PREFIX */
1392#define  XYDLDS  32     /*   DIAL LONG-DISTANCE-SUFFIX */
1393#define  XYDPXX  33     /*   DIAL PBX-EXCHANGE */
1394#define  XYDPXI  34     /*   DIAL PBX-INTERNAL-PREFIX */
1395#define  XYDPXO  35     /*   DIAL PBX-OUTSIDE-PREFIX */
1396#define  XYDSFX  36     /*   DIAL SUFFIX */
1397#define  XYDSRT  37     /*   DIAL SORT */
1398#define  XYDTFC  38     /*   DIAL TOLL-FREE-AREA-CODE */
1399#define  XYDTFP  39     /*   DIAL TOLL-FREE-PREFIX */
1400#define  XYDTFS  40     /*   DIAL TOLL-FREE-SUFFIX */
1401#define  XYDCON  41     /*   DIAL CONNECT */
1402#define  XYDRSTR 42     /*   DIAL RESTRICT */
1403#define  XYDRSET 43     /*   MODEM RESET */
1404#define  XYDLCP  44     /*   DIAL LOCAL-PREFIX */
1405#define  XYDLCS  45     /*   DIAL LOCAL-SUFFIX */
1406#define  XYDLLAC 46     /*   DIAL LC-AREA-CODES */
1407#define  XYDFLD  47     /*   DIAL FORCE LONG-DISTANCE */
1408#define  XYDSPK  48     /*   MODEM SPEAKER */
1409#define  XYDVOL  49     /*   MODEM VOLUME */
1410#define  XYDIDT  50     /*   IGNORE DIALTONE */
1411#define  XYDPAC  51     /*   PACING */
1412#define  XYDMAC  52     /*   MACRO */
1413#define  XYDPUCC 53     /*   PULSE-COUNTRIES */
1414#define  XYDTOCC 54     /*   TONE-COUNTRIES */
1415#define  XYDTEST 55     /*   TEST */
1416
1417#define XYA_CID   1     /* SET ANSWER CALLER-ID */
1418#define XYA_RNG   2     /* SET ANSWER RINGS */
1419
1420#define XYSESS 49       /* SET SESSION options */
1421#define XYBUF  50       /* Buffer length */
1422#define XYBACK 51       /* Background */
1423#define XYDFLT 52       /* Default */
1424#define XYDBL  53       /* Double */
1425#define XYCMD  54       /* COMMAND */
1426#define XYCASE 55       /* Case */
1427#define XYCOMP 56       /* Compression */
1428#define XYX25  57       /* X.25 parameter (ANYX25) */
1429#define XYPAD  58       /* X.3 PAD parameter (ANYX25) */
1430#define XYWILD 59       /* Wildcard expansion method */
1431#define XYSUSP 60       /* Suspend */
1432#define XYMAIL 61       /* Mail-Command */
1433#define XYPRIN 62       /* Print-Command */
1434#define XYQUIE 63       /* Quiet */
1435#define XYLCLE 64       /* Local-echo */
1436#define XYSCRI 65       /* SCRIPT command paramaters */
1437#define XYMSGS 66       /* MESSAGEs ON/OFF */
1438#ifdef TNCODE
1439#define XYTEL  67       /* SET TELNET parameters */
1440#define  CK_TN_EC 0     /*  TELNET ECHO */
1441#define  CK_TN_TT 1     /*  TELNET TERMINAL-TYPE */
1442#define  CK_TN_NL 2     /*  TELNET NEWLINE-MODE */
1443#define  CK_TN_BM 3     /*  TELNET BINARY-MODE */
1444#define  CK_TN_BUG 4    /*  TELNET BUG */
1445#define  CK_TN_ENV 5    /*  TELNET ENVIRONMENT */
1446#define    TN_ENV_USR  0 /*    VAR USER */
1447#define    TN_ENV_JOB  1 /*    VAR JOB */
1448#define    TN_ENV_ACCT 2 /*    VAR ACCT */
1449#define    TN_ENV_PRNT 3 /*    VAR PRINTER */
1450#define    TN_ENV_SYS  4 /*    VAR SYSTEMTYPE */
1451#define    TN_ENV_DISP 5 /*    VAR DISPLAY */
1452#define    TN_ENV_UVAR 6 /*    USERVAR */
1453#define    TN_ENV_LOC  7 /*    USERVAR LOCATION */
1454#define    TN_ENV_ON  98 /*    ON (enabled) */
1455#define    TN_ENV_OFF 99 /*    OFF (disabled) */
1456#define  CK_TN_LOC 6    /*  TELNET LOCATION */
1457#define  CK_TN_AU  7    /*  TELNET AUTHENTICATION */
1458#define    TN_AU_FWD   4 /*    AUTH FORWARD */
1459#define    TN_AU_TYP   5 /*    AUTH TYPE */
1460#define      AUTH_NONE 0 /*      AUTH NONE */
1461#define      AUTH_KRB4 1 /*      AUTH Kerberos IV */
1462#define      AUTH_KRB5 2 /*      AUTH Kerberos V */
1463#define      AUTH_SSL  7 /*      AUTH Secure Sockets Layer */
1464#define      AUTH_TLS 98 /*      AUTH Transport Layer Security */
1465#define      AUTH_SRP  5 /*      AUTH Secure Remote Password */
1466#define      AUTH_NTLM 15 /*      AUTH NT Lan Manager */
1467#define      AUTH_AUTO 99 /*     AUTH AUTOMATIC */
1468#define    TN_AU_HOW  8  /*    AUTH HOW FLAG */
1469#define    TN_AU_ENC  9  /*    AUTH ENCRYPT FLAG */
1470#define  CK_TN_ENC 8    /*  TELNET ENCRYPTION */
1471#define    TN_EN_TYP   4 /*      ENCRYPT TYPE */
1472#define    TN_EN_START 5 /*      ENCRYPT START */
1473#define    TN_EN_STOP  6 /*      ENCRYPT STOP  */
1474#define  CK_TN_IKS 9    /*  TELNET KERMIT-SERVER */
1475#define  CK_TN_RE  10   /*  TELNET REMOTE-ECHO */
1476#define  CK_TN_TLS 11   /*  TELNET START_TLS */
1477#define  CK_TN_XD  12   /*  TELNET XDISPLOC */
1478#define  CK_TN_NAWS 13  /*  TELNET NAWS */
1479#define  CK_TN_WAIT 14  /*  TELNET WAIT-FOR-NEGOTIATIONS */
1480#define  CK_TN_SGA  15  /*  TELNET SGA */
1481#define  CK_TN_CLIENT 16  /* TELNET CLIENT */
1482#define  CK_TN_SERVER 17  /* TELNET SERVER */
1483#define  CK_TN_PHR    18  /* TELNET PRAGMA-HEARTBEAT */
1484#define  CK_TN_PLG    19  /* TELNET PRAGMA-LOGON */
1485#define  CK_TN_PSP    20  /* TELNET PRAGMA-SSPI */
1486#define  CK_TN_SAK    21  /* TELNET IBM SAK */
1487#define  CK_TN_FLW    22  /* TELNET LFLOW */
1488#define  CK_TN_XF     23  /* TELNET TRANSFER-MODE */
1489#define  CK_TN_PUID   24  /* TELNET PROMPT-FOR-USERID */
1490#define  CK_TN_NE     25  /* TELNET NO-ENCRYPT-DURING-XFER */
1491#define  CK_TN_CPC    26  /* TELNET COM-PORT-CONTROL */
1492#define  CK_TN_DB     27  /* TELNET DEBUG */
1493#define  CK_TN_FX     28  /* TELNET FORWARD_X */
1494#define  CK_TN_DL     29  /* TELNET DELAY-SB */
1495#define  CK_TN_SFU    30  /* TELNET SFU-COMPATIBILITY */
1496#define  CK_TN_LOG    31  /* TELNET LOGOUT */
1497#endif /* TNCODE */
1498#define XYOUTP 68       /* OUTPUT command parameters */
1499#define   OUT_PAC 0     /*   OUTPUT PACING */
1500#define   OUT_ESC 1     /*   OUTPUT SPECIAL-ESCAPES */
1501#define XYEXIT  69      /* SET EXIT */
1502#define XYPRTR  70      /* SET PRINTER */
1503#define XYFPATH 71      /* PATHNAME */
1504
1505#ifdef OS2
1506#define XYMOUSE 72      /* MOUSE SUPPORT */
1507#define  XYM_ON     0   /* Mouse ON/OFF        */
1508#define  XYM_BUTTON 1   /* Define Mouse Events */
1509#define  XYM_CLEAR  2   /* Clear Mouse Events  */
1510#define  XYM_DEBUG  3   /* Debug Mode ON/OFF */
1511/* These must match similar definitions in ckokey.h */
1512#define   XYM_B1 0      /* Mouse Button One */
1513#define   XYM_B2 1      /* Mouse Button Two */
1514#define   XYM_B3 2      /* Mouse Button Three */
1515#define   XYM_ALT   1     /* Alt */
1516#define   XYM_CTRL  2     /* Ctrl */
1517#define   XYM_SHIFT 4     /* Shift */
1518#define   XYM_C1    0     /* Single Click */
1519#define   XYM_C2    8     /* Double Click */
1520#define   XYM_DRAG  16    /* Drag Event */
1521#endif /* OS2 */
1522
1523#define XYBELL 73   /* BELL */
1524
1525#ifdef OS2
1526#define XYPRTY     74   /* Thread Priority Level */
1527#define   XYP_IDLE  1
1528#define   XYP_REG   2
1529#define   XYP_SRV   4
1530#define   XYP_RTP   3
1531#endif /* OS2 */
1532
1533#define XYALRM     75   /* SET ALARM */
1534#define XYPROTO    76   /* SET PROTOCOL */
1535#define XYPREFIX   77   /* SET PREFIXING */
1536#define XYLOGIN    78   /* Login info for script programs... */
1537
1538#define  LOGI_UID   0   /* User ID  */
1539#define  LOGI_PSW   1   /* Password */
1540#define  LOGI_PRM   2   /* Prompt   */
1541
1542#define XYSTARTUP  79    /* Startup file */
1543#define XYTMPDIR   80    /* Temporary directory */
1544
1545#ifdef OS2
1546#define XYTAPI     81    /* Microsoft Telephone API options */
1547#define   XYTAPI_CFG     1  /* TAPI Configure-Line Dialog */
1548#define   XYTAPI_DIAL    2  /* TAPI Dialing-Properties Dialog */
1549#define   XYTAPI_LIN     3  /* TAPI Line */
1550#define   XYTAPI_LOC     4  /* TAPI Location */
1551#define   XYTAPI_PASS    5  /* TAPI Passthrough */
1552#define   XYTAPI_CON     6  /* TAPI Conversions */
1553#define   XYTAPI_LGHT    7  /* TAPI Modem Lights */
1554#define   XYTAPI_PRE     8  /* TAPI Pre-dialing Terminal */
1555#define   XYTAPI_PST     9  /* TAPI Post-dialing Terminal */
1556#define   XYTAPI_INA    10  /* TAPI Inactivity Timeout */
1557#define   XYTAPI_BNG    11  /* TAPI Wait for Credit Card Tone */
1558#define   XYTAPI_MAN    12  /* TAPI Manual Dialing */
1559#define   XYTAPI_USE    13  /* TAPI Use Line Config settings */
1560#endif /* OS2 */
1561
1562#ifdef TCPSOCKET
1563#define XYTCP  82       /* TCP options */
1564#define  XYTCP_NODELAY   1  /* No Delay */
1565#define  XYTCP_SENDBUF   2  /* Send Buffer Size */
1566#define  XYTCP_LINGER    3  /* Linger */
1567#define  XYTCP_RECVBUF   4  /* Receive Buffer Size */
1568#define  XYTCP_KEEPALIVE 5  /* Keep Alive packets */
1569#define  XYTCP_UCX       6  /* UCX 2.0 port swabbing bug */
1570#define  XYTCP_NAGLE     7  /* Delay - inverse of 1 */
1571#define  XYTCP_RDNS      8  /* Reverse DNS lookup */
1572#define  XYTCP_ADDRESS   9  /* Set preferred IP Address */
1573#define  XYTCP_DNS_SRV  10  /* Use DNS Service Records */
1574#define  XYTCP_DONTROUTE 11 /* Dont Route */
1575#define  XYTCP_SOCKS_SVR 12 /* Name of Socks Server */
1576#define  XYTCP_HTTP_PROXY 13 /* Name/Port of HTTP Proxy Server */
1577#define  XYTCP_SOCKS_NS  14 /* Name of Socks Name Server */
1578#endif /* TCPSOCKET */
1579
1580#ifdef OS2
1581#define XYMSK  83       /* MS-DOS Kermit compatibility options */
1582#define  MSK_COLOR 0    /*  Terminal color handling   */
1583#define  MSK_KEYS  1    /*  SET KEY uses MSK keycodes */
1584#endif /* OS2 */
1585
1586#define XYDEST  84      /* SET DESTINATION as in MS-DOS Kermit */
1587
1588#ifdef OS2
1589#define XYWIN95 85      /* SET WIN95 work arounds  */
1590#define   XYWKEY 0      /*    Keyboard translation */
1591#define   XYWAGR 1      /*    Alt-Gr               */
1592#define   XYWOIO 2      /*    Overlapped I/O       */
1593#define   XYWLUC 3      /*    Lucida Console substitutions */
1594#define   XYWSELECT 4   /*    Select on Write Bug */
1595#define   XYW8_3 5      /*    Use 8.3 filenames? */
1596#define   XYWPOPUP 6    /*    Use Popups?  */
1597#define   XYWHSL 7      /*    Horz Scan Line substitutions */
1598#define XYDLR   86      /* SET K95 DIALER work arounds */
1599#define XYTITLE 87      /* SET TITLE of window */
1600#endif /* OS2 */
1601
1602#define XYIGN   88      /* SET IGNORE-CHARACTER */
1603#define XYEDIT  89      /* SET EDITOR */
1604#define XYFLTR  90      /* SET { SEND, RECEIVE } FILTER */
1605#define XYBROWSE 91     /* SET BROWSER */
1606#define XYEOF    92     /* EOF (= FILE EOF) */
1607#ifdef OS2
1608#define XYBDCP   93     /* BPRINTER */
1609#endif /* OS2 */
1610#define XYFLAG   94     /* FLAG */
1611#define XYLIMIT  95     /* SESSION-LIMIT */
1612#define XYINIL   96     /* Protocol negotiation string max length */
1613#define XYRELY   97     /* RELIABLE */
1614#define XYSTREAM 98     /* STREAMING */
1615#define XYTLOG   99     /* TRANSACTION-LOG */
1616#define XYCLEAR 100     /* CLEARCHANNEL */
1617#define XYAUTH  101     /* AUTHENTICATION */
1618
1619#ifdef TNCODE
1620#define XYKRBPR   0     /* Kerberos Principal */
1621#define XYKRBRL   1     /* Kerberos Realm */
1622#define XYKRBCC   2     /* Kerberos 5 Credentials-Cache */
1623#define XYKRBSRV  3     /* Kerberos Service Name */
1624#define XYKRBDBG  4     /* Kerberos Debugging */
1625#define XYKRBLIF  5     /* Kerberos Lifetime */
1626#define XYKRBPRE  6     /* Kerberos 4 Preauth */
1627#define XYKRBINS  7     /* Kerberos 4 Instance */
1628#define XYKRBFWD  8     /* Kerberos 5 Forwardable */
1629#define XYKRBPRX  9     /* Kerberos 5 Proxiable */
1630#define XYKRBRNW  10    /* Kerberos 5 Renewable lifetime */
1631#define XYKRBGET  11    /* Kerberos Auto-Get-TGTs */
1632#define XYKRBDEL  12    /* Kerberos Auto-Destroy-TGTs */
1633#define   KRB_DEL_NO  0 /*   Kerberos No Auto Destroy */
1634#define   KRB_DEL_CL  1 /*   Kerberos Auto Destory on Close */
1635#define   KRB_DEL_EX  2 /*   Kerberos Auto Destroy on Exit  */
1636#define XYKRBK5K4 13    /* Kerberos 5 Get K4 Tickets */
1637#define XYKRBPRM  14    /* Kerberos 4/5 Prompt */
1638#define XYKRBADR  15    /* Kerberos 4/5 CheckAddrs */
1639#define XYKRBNAD  16    /* Kerberos 5 No Addresses */
1640#define XYKRBADD  17    /* Kerberos 5 Address List */
1641#define XYKRBKTB  18    /* Kerberos 4/5 Key Table */
1642#define XYSRPPRM   0    /* SRP Prompt */
1643#define XYSSLRCFL  0    /* SSL/TLS RSA Certs file */
1644#define XYSSLCOK   1    /* SSL/TLS Certs-Ok flag */
1645#define XYSSLCRQ   2    /* SSL/TLS Certs-Required flag */
1646#define XYSSLCL    3    /* SSL/TLS Cipher List */
1647#define XYSSLDBG   4    /* SSL/TLS Debug flag */
1648#define XYSSLRKFL  5    /* SSL/TLS RSA Key File */
1649#define XYSSLLFL   6    /* SSL/TLS Log File */
1650#define XYSSLON    7    /* SSL/TLS Only flag */
1651#define XYSSLSEC   8    /* SSL/TLS Secure flag */
1652#define XYSSLVRB   9    /* SSL/TLS Verbose flag */
1653#define XYSSLVRF  10    /* SSL/TLS Verify flag */
1654#define XYSSLDUM  11    /* SSL/TLS Dummy flag */
1655#define XYSSLDCFL 12    /* SSL/TLS DSA Certs file */
1656#define XYSSLDKFL 13    /* SSL/TLS DH Certs file */
1657#define XYSSLDPFL 14    /* SSL/TLS DH Param file */
1658#define XYSSLCRL  15    /* SSL/TLS CRL file */
1659#define XYSSLCRLD 16    /* SSL/TLS CRL dir */
1660#define XYSSLVRFF 17    /* SSL/TLS Verify file */
1661#define XYSSLVRFD 18    /* SSL/TLS Verify dir */
1662#define XYSSLRND  19    /* SSL/TLS Random file */
1663#define XYSSLDCCF 20    /* SSL/TLS DSA Certs Chain File */
1664#define XYSSLRCCF 21    /* SSL/TLS RSA Certs Chain File */
1665
1666/* The following must be powers of 2 for a bit mask */
1667
1668#define  XYKLCEN  1     /* Kerberos List Credentials: Encryption */
1669#define  XYKLCFL  2     /* Kerberos List Credentials: Flags */
1670#define  XYKLCAD  4     /* Kerberos List Credentials: Addresses */
1671#endif /* TNCODE */
1672
1673#define XYFUNC   102    /* SET FUNCTION */
1674
1675#define  FUNC_DI   0    /* FUNCTION DIAGNOSTICS */
1676#define  FUNC_ER   1    /* FUNCTION ERROR */
1677
1678#define XYFTP    103    /* FTP application */
1679#define XYSLEEP  104    /* SLEEP / PAUSE options */
1680#define XYSSH    105    /* SSH options */
1681#define XYTELOP  106    /* TELNET OPTIONS (TELOPT) */
1682#define XYCD     107    /* SET CD */
1683#define XYCSET   108    /* CHARACTER-SET */
1684#define XYSTOP   109    /* STOP-BITS */
1685#define XYSERIAL 110    /* SERIAL */
1686#define XYDISC   111    /* CLOSE-ON-DISCONNECT */
1687#define XYOPTS   112    /* OPTIONS */
1688#define XYQ8FLG  113    /* Q8FLAG (invisible) */
1689#define XYTIMER  114    /* TIMER */
1690#define XYFACKB  115    /* F-ACK-BUG */
1691#define XYBUP    116    /* SET SEND/RECEIVE BACKUP */
1692#define XYMOVE   117    /* SET SEND/RECEIVE MOVE-TO */
1693#define XYRENAME 118    /* SET SEND/RECEIVE RENAME-TO */
1694#define XYHINTS  119    /* SET HINTS */
1695#define XYEVAL   120    /* SET EVALUATE */
1696#define XYFACKP  121    /* F-ACK-PATH */
1697#define XYSYSL   122    /* SysLog */
1698#define XYQNXPL  123    /* QNX Port Lock */
1699#define XYIKS    124    /* SET IKS ... */
1700#define XYROOT   125    /* SET ROOT */
1701#define XYFTPX   126    /* SET FTP */
1702#define XYSEXP   127    /* SET SEXP */
1703#define XYGPR    128    /* SET GET-PUT-REMOTE */
1704#define XYLOCUS  129    /* SET LOCUS */
1705#define XYGUI    130    /* SET GUI */
1706#define XYANSWER 131    /* SET ANSWER */
1707#define XYMATCH  132    /* SET MATCHDOT */
1708
1709/* End of SET commands */
1710
1711/* S-Expressions -- floating-point support required */
1712
1713#ifndef CKFLOAT
1714#ifndef NOSEXP
1715#define NOSEXP
1716#endif /* NOSEXP */
1717#endif /* CKFLOAT */
1718
1719/* Maximum number of elements in an S-Expression */
1720
1721#ifndef NOSEXP
1722#ifndef SEXPMAX
1723#ifdef BIGBUFOK
1724#define SEXPMAX 1024
1725#else
1726#define SEXPMAX 32
1727#endif /* BIGBUFOK */
1728#endif /* SEXPMAX */
1729#endif /* NOSEXP */
1730
1731#ifdef ANYX25
1732/* PAD command parameters */
1733
1734#define XYPADL 0        /* clear virtual call */
1735#define XYPADS 1        /* status of virtual call */
1736#define XYPADR 2        /* reset of virtual call */
1737#define XYPADI 3        /* send an interrupt packet */
1738
1739/* Used with XYX25... */
1740#define XYUDAT 0       /* X.25 call user data */
1741#define XYCLOS 1       /* X.25 closed user group call */
1742#define XYREVC 2       /* X.25 reverse charge call */
1743#endif /* ANYX25 */
1744
1745#ifdef OS2
1746/* SET PRINTER switches */
1747
1748#define PRN_OUT 0                       /* Output only */
1749#define PRN_BID 1                       /* Bidirectional */
1750#define PRN_DOS 2                       /* DOS device */
1751#define PRN_WIN 3                       /* Windows queue */
1752#define PRN_TMO 4                       /* Timeout */
1753#define PRN_TRM 5                       /* Terminator */
1754#define PRN_SEP 6                       /* Separator */
1755#define PRN_SPD 7                       /* COM-port speed */
1756#define PRN_FLO 8                       /* COM-port flow control */
1757#define PRN_PAR 9                       /* COM-port parity */
1758#define PRN_NON 10                      /* No printer */
1759#define PRN_FIL 11                      /* Filename */
1760#define PRN_PIP 12                      /* Pipename */
1761#define PRN_PS  13                      /* Text to PS */
1762#define PRN_WID 14                      /* PS Width */
1763#define PRN_LEN 15                      /* PS Length */
1764#define PRN_RAW 16                      /* Non-PS */
1765#define PRN_CS  17                      /* Character Set */
1766#define PRN_MAX 17                      /* Number of switches defined */
1767
1768/* Printer types */
1769
1770#define PRT_DOS 0                       /* DOS */
1771#define PRT_WIN 1                       /* Windows Queue */
1772#define PRT_FIL 2                       /* File */
1773#define PRT_PIP 3                       /* Pipe */
1774#define PRT_NON 4                       /* None */
1775
1776#define PRINTSWI
1777#endif /* OS2 */
1778#endif /* NOICP */
1779
1780#ifndef NODIAL
1781/*
1782  Symbols for modem types, moved here from ckudia.c, May 1997, because now
1783  they are also used in some other modules.  The numbers MUST correspond to
1784  the ordering of entries within the modemp[] array.
1785*/
1786#ifdef MINIDIAL                         /* Minimum dialer support */
1787
1788#define         n_DIRECT         0      /* Direct connection -- no modem */
1789#define         n_CCITT          1      /* CCITT/ITU-T V.25bis */
1790#define         n_HAYES          2      /* Hayes 2400 */
1791#define         n_UNKNOWN        3      /* Unknown */
1792#define         n_UDEF           4      /* User-Defined */
1793#define         n_GENERIC        5      /* Generic High Speed */
1794#define         n_ITUTV250       6      /* ITU-T V.250 */
1795#define         MAX_MDM          6      /* Number of modem types */
1796
1797#else                                   /* Full-blown dialer support */
1798
1799#define         n_DIRECT         0      /* Direct connection -- no modem */
1800#define         n_ATTDTDM        1
1801#define         n_ATTISN         2
1802#define         n_ATTMODEM       3
1803#define         n_CCITT          4
1804#define         n_CERMETEK       5
1805#define         n_DF03           6
1806#define         n_DF100          7
1807#define         n_DF200          8
1808#define         n_GDC            9
1809#define         n_HAYES         10
1810#define         n_PENRIL        11
1811#define         n_RACAL         12
1812#define         n_UNKNOWN       13
1813#define         n_VENTEL        14
1814#define         n_CONCORD       15
1815#define         n_ATTUPC        16      /* aka UNIX PC and ATT7300 */
1816#define         n_ROLM          17      /* Rolm CBX DCM */
1817#define         n_MICROCOM      18      /* Microcoms in SX command mode */
1818#define         n_USR           19      /* Modern USRs */
1819#define         n_TELEBIT       20      /* Telebits of all kinds */
1820#define         n_DIGITEL       21      /* Digitel DT-22 (CCITT variant) */
1821#define         n_H_1200        22      /* Hayes 1200 */
1822#define         n_H_ULTRA       23      /* Hayes Ultra and maybe Optima */
1823#define         n_H_ACCURA      24      /* Hayes Accura and maybe Optima */
1824#define         n_PPI           25      /* Practical Peripherals */
1825#define         n_DATAPORT      26      /* AT&T Dataport */
1826#define         n_BOCA          27      /* Boca */
1827#define         n_MOTOROLA      28      /* Motorola Fastalk or Lifestyle */
1828#define         n_DIGICOMM      29      /* Digicomm Connection */
1829#define         n_DYNALINK      30      /* Dynalink 1414VE */
1830#define         n_INTEL         31      /* Intel 14400 Faxmodem */
1831#define         n_UCOM_AT       32      /* Microcoms in AT mode */
1832#define         n_MULTI         33      /* Multitech MT1432 */
1833#define         n_SUPRA         34      /* SupraFAXmodem */
1834#define         n_ZOLTRIX       35      /* Zoltrix */
1835#define         n_ZOOM          36      /* Zoom */
1836#define         n_ZYXEL         37      /* ZyXEL */
1837#define         n_TAPI          38      /* TAPI Line modem - whatever it is */
1838#define         n_TBNEW         39      /* Newer Telebit models */
1839#define         n_MAXTECH       40      /* MaxTech XM288EA */
1840#define         n_UDEF          41      /* User-Defined */
1841#define         n_RWV32         42      /* Generic Rockwell V.32 */
1842#define         n_RWV32B        43      /* Generic Rockwell V.32bis */
1843#define         n_RWV34         44      /* Generic Rockwell V.34 */
1844#define         n_MWAVE         45      /* IBM Mwave Adapter */
1845#define         n_TELEPATH      46      /* Gateway Telepath */
1846#define         n_MICROLINK     47      /* MicroLink modems */
1847#define         n_CARDINAL      48      /* Cardinal modems */
1848#define         n_GENERIC       49      /* Generic high-speed */
1849#define         n_XJACK         50      /* Megahertz X-Jack */
1850#define         n_SPIRITII      51      /* Quickcomm Spirit II */
1851#define         n_MONTANA       52      /* Motorola Montana */
1852#define         n_COMPAQ        53      /* Compaq Data+Fax Modem */
1853#define         n_FUJITSU       54      /* Fujitsu Fax/Modem Adpater */
1854#define         n_MHZATT        55      /* Megahertz AT&T V.34 */
1855#define         n_SUPRASON      56      /* SupraSonic */
1856#define         n_BESTDATA      57      /* Best Data */
1857#define         n_ATT1900       58      /* AT&T STU III Model 1900 */
1858#define         n_ATT1910       59      /* AT&T STU III Model 1910 */
1859#define         n_KEEPINTOUCH   60      /* AT&T KeepinTouch */
1860#define         n_USRX2         61      /* USR XJ-1560 X2 56K */
1861#define         n_ROLMAT        62      /* Rolm with AT command set */
1862#define         n_ATLAS         63      /* Atlas / Newcom ixfC 33.6 */
1863#define         n_CODEX         64      /* Motorola Codex 326X Series */
1864#define         n_MT5634ZPX     65      /* Multitech MT5634ZPX */
1865#define         n_ULINKV250     66      /* Microlink ITU-T V.250 56K */
1866#define         n_ITUTV250      67      /* Generic ITU-T V.250 */
1867#define         n_RWV90         68      /* Generic Rockwell V.90 */
1868#define         n_SUPRAX        69      /* Diamond Supra Express V.90 */
1869#define         n_LUCENT        70      /* Lucent Venus chipset */
1870#define         n_PCTEL         71      /* PCTel chipset */
1871#define         n_CONEXANT      72      /* Conexant modem family */
1872#define         n_ZOOMV34       73      /* Zoom */
1873#define         n_ZOOMV90       74      /* Zoom */
1874#define         n_ZOOMV92       75      /* ZOOM V.92 */
1875#define         n_MOTSM56       76      /* Motorola SM56 chipset */
1876#define         MAX_MDM         76      /* Number of modem types */
1877
1878#endif /* MINIDIAL */
1879#endif /* NODIAL */
1880
1881#ifndef NOICP
1882/* SHOW command symbols */
1883
1884#define SHPAR 0                         /* Parameters */
1885#define SHVER 1                         /* Versions */
1886#define SHCOM 2                         /* Communications */
1887#define SHPRO 3                         /* Protocol */
1888#define SHFIL 4                         /* File */
1889#define SHLNG 5                         /* Language */
1890#define SHCOU 6                         /* Count */
1891#define SHMAC 7                         /* Macros */
1892#define SHKEY 8                         /* Key */
1893#define SHSCR 9                         /* Scripts */
1894#define SHSPD 10                        /* Speed */
1895#define SHSTA 11                        /* Status */
1896#define SHSER 12                        /* Server */
1897#define SHXMI 13                        /* Transmit */
1898#define SHATT 14                        /* Attributes */
1899#define SHMOD 15                        /* Modem */
1900#define SHDFLT 16                       /* Default (as in VMS) */
1901#define SHVAR 17                        /* Show global variables */
1902#define SHARG 18                        /* Show macro arguments */
1903#define SHARR 19                        /* Show arrays */
1904#define SHBUI 20                        /* Show builtin variables */
1905#define SHFUN 21                        /* Show functions */
1906#define SHPAD 22                        /* Show (X.25) PAD */
1907#define SHTER 23                        /* Show terminal settings */
1908#define SHESC 24                        /* Show escape character */
1909#define SHDIA 25                        /* Show DIAL parameters */
1910#define SHNET 26                        /* Show network parameters */
1911#define SHLBL 27                        /* Show VMS labeled file parameters */
1912#define SHSTK 28                        /* Show stack, MAC debugging */
1913#define SHCSE 29                        /* Show character sets */
1914#define SHFEA 30                        /* Show features */
1915#define SHCTL 31                        /* Show control-prefix table */
1916#define SHEXI 32                        /* Show EXIT items */
1917#define SHPRT 33                        /* Show printer */
1918#define SHCMD 34                        /* Show command parameters */
1919#define SHKVB 35                        /* Show \Kverbs */
1920#define SHMOU 36                        /* Show Mouse (like Show Key) */
1921#define SHTAB 37                        /* Show Tabs (OS/2) */
1922#define SHVSCRN 38                      /* Show Virtual Screen (OS/2) */
1923#define SHALRM  39                      /* ALARM */
1924#define SHSFL   40                      /* SEND-LIST */
1925#define SHUDK   41                      /* DEC VT UDKs (OS/2) */
1926#define SHDBL   42                      /* DOUBLE/IGNORE characters */
1927#define SHEDIT    43                    /* EDITOR */
1928#define SHBROWSE  44                    /* BROWSER */
1929#define SHTAPI    45                    /* TAPI */
1930#define SHTAPI_L  46                    /* TAPI Location */
1931#define SHTAPI_M  47                    /* TAPI Modem Properties */
1932#define SHTAPI_C  48                    /* TAPI Comm Properties  */
1933#define SHTEL     49                    /* SHOW TELNET */
1934#define SHINP     50                    /* SHOW INPUT */
1935#define SHTRIG    51                    /* SHOW TRIGGER */
1936#define SHLOG     52                    /* SHOW LOGS */
1937#define SHOUTP    53                    /* SHOW OUTPUT */
1938#define SHOPAT    54                    /* SHOW PATTERNS */
1939#define SHOSTR    55                    /* SHOW STREAMING */
1940#define SHOAUTH   56                    /* SHOW AUTHENTICATION */
1941#define SHOFTP    57                    /* SHOW FTP */
1942#define SHTOPT    58                    /* SHOW TELOPT */
1943#define SHXOPT    59                    /* SHOW EXTENDED-OPTIONS */
1944#define SHCD      60                    /* SHOW CD */
1945#define SHASSOC   61                    /* SHOW ASSOCIATIONS */
1946#define SHCONNX   62                    /* SHOW CONNECTION */
1947#define SHOPTS    63                    /* SHOW OPTIONS */
1948#define SHOFLO    64                    /* SHOW FLOW-CONTROL */
1949#define SHOXFER   65                    /* SHOW TRANSFER */
1950#define SHTCP     66                    /* SHOW TCP */
1951#define SHHISTORY 67                    /* SHOW (command) HISTORY */
1952#define SHSEXP    68                    /* SHOW SEXPRESSIONS */
1953#define SHOSSH    69                    /* SHOW SSH */
1954#define SHOIKS    70                    /* SHOW IKS */
1955#define SHOGUI    71                    /* SHOW RGB */
1956
1957/* REMOTE command symbols */
1958
1959#define XZCPY  0        /* Copy */
1960#define XZCWD  1        /* Change Working Directory */
1961#define XZDEL  2        /* Delete */
1962#define XZDIR  3        /* Directory */
1963#define XZHLP  4        /* Help */
1964#define XZHOS  5        /* Host */
1965#define XZKER  6        /* Kermit */
1966#define XZLGI  7        /* Login */
1967#define XZLGO  8        /* Logout */
1968#define XZMAI  9        /* Mail <-- wrong, this should be top-level */
1969#define XZMOU 10        /* Mount */
1970#define XZMSG 11        /* Message */
1971#define XZPRI 12        /* Print */
1972#define XZREN 13        /* Rename */
1973#define XZSET 14        /* Set */
1974#define XZSPA 15        /* Space */
1975#define XZSUB 16        /* Submit */
1976#define XZTYP 17        /* Type */
1977#define XZWHO 18        /* Who */
1978#define XZPWD 19        /* Print Working Directory */
1979#define XZQUE 20        /* Query */
1980#define XZASG 21        /* Assign */
1981#define XZMKD 22        /* mkdir */
1982#define XZRMD 23        /* rmdir */
1983#define XZXIT 24        /* Exit */
1984#define XZCDU 25        /* CDUP */
1985
1986/* SET INPUT command parameters */
1987
1988#define IN_DEF  0                       /* Default timeout */
1989#define IN_TIM  1                       /* Timeout action */
1990#define IN_CAS  2                       /* Case (matching) */
1991#define IN_ECH  3                       /* Echo */
1992#define IN_SIL  4                       /* Silence */
1993#define IN_BUF  5                       /* Buffer size */
1994#define IN_PAC  6                       /* Input Pacing (debug) */
1995#define IN_TRM  7                       /* Input Terminal Display */
1996#define IN_ADL  8                       /* Input autodownload */
1997#define IN_PAT  9                       /* Pattern to match */
1998#define IN_ASG 10                       /* Assign matching text to variable */
1999#define IN_CAN 11                       /* Keyboard cancellation of INPUT */
2000
2001/* ENABLE/DISABLE command parameters */
2002
2003#define EN_ALL  0                       /* ALL */
2004#define EN_CWD  1                       /* CD/CWD */
2005#define EN_DIR  2                       /* DIRECTORY */
2006#define EN_FIN  3                       /* FINISH */
2007#define EN_GET  4                       /* GET */
2008#define EN_HOS  5                       /* HOST command */
2009#define EN_KER  6                       /* KERMIT command */
2010#define EN_LOG  7                       /* LOGIN */
2011#define EN_SEN  8                       /* SEND */
2012#define EN_SET  9                       /* SET */
2013#define EN_SPA 10                       /* SPACE */
2014#define EN_TYP 11                       /* TYPE */
2015#define EN_WHO 12                       /* WHO, finger */
2016#define EN_DEL 13                       /* Delete */
2017#define EN_BYE 14                       /* BYE (as opposed to FINISH) */
2018#define EN_QUE 15                       /* QUERY */
2019#define EN_ASG 16                       /* ASSIGN */
2020#define EN_CPY 17                       /* COPY */
2021#define EN_REN 18                       /* RENAME */
2022#define EN_RET 19                       /* RETRIEVE */
2023#define EN_MAI 20                       /* MAIL */
2024#define EN_PRI 21                       /* PRINT */
2025#define EN_MKD 22                       /* MKDIR */
2026#define EN_RMD 23                       /* RMDIR */
2027#define EN_XIT 24                       /* EXIT */
2028#define EN_ENA 25                       /* ENABLE */
2029#endif /* NOICP */
2030
2031#ifndef NOICP
2032/* CLEAR command symbols */
2033#define CLR_DEV    1                    /* Clear Device Buffers */
2034#define CLR_INP    2                    /* Clear Input Buffers */
2035#define CLR_BTH    CLR_DEV|CLR_INP      /* Clear Device and Input */
2036#define CLR_SCL    4                    /* Clear Scrollback buffer */
2037#define CLR_CMD    8                    /* Clear Command Screen */
2038#define CLR_TRM   16                    /* Clear Terminal Screen */
2039#define CLR_DIA   32                    /* Clear Dial Status */
2040#define CLR_SFL   64                    /* Clear Send-File-List */
2041#define CLR_APC  128                    /* Clear APC */
2042#define CLR_ALR  256                    /* Clear Alarm */
2043#define CLR_TXT  512                    /* Clear text-patterns */
2044#define CLR_BIN 1024                    /* Clear binary-patterns */
2045#define CLR_SCR 2048                    /* Clear screen */
2046#define CLR_KBD 4096                    /* Clear keyboard buffer */
2047#endif /* NOICP */
2048
2049/* Symbols for logs */
2050
2051#define LOGD 0                          /* Debugging */
2052#define LOGP 1                          /* Packets */
2053#define LOGS 2                          /* Session */
2054#define LOGT 3                          /* Transaction */
2055#define LOGX 4                          /* Screen */
2056#define LOGR 5                          /* The "open read" file */
2057#define LOGW 6                          /* The "open write/append" file */
2058#define LOGE 7                          /* Error (e.g. stderr) */
2059#define LOGM 8                          /* The dialing log */
2060
2061#ifndef NOSPL
2062/* Symbols for builtin variables */
2063
2064#define VN_ARGC 0                       /* ARGC */
2065#define VN_COUN 1                       /* COUNT */
2066#define VN_DATE 2                       /* DATE */
2067#define VN_DIRE 3                       /* DIRECTORY */
2068#define VN_ERRO 4                       /* ERRORLEVEL */
2069#define VN_TIME 5                       /* TIME */
2070#define VN_VERS 6                       /* VERSION */
2071#define VN_IBUF 7                       /* INPUT buffer */
2072#define VN_SUCC 8                       /* SUCCESS flag */
2073#define VN_LINE 9                       /* LINE */
2074#define VN_ARGS 10                      /* Program command-line arg count */
2075#define VN_SYST 11                      /* System type */
2076#define VN_SYSV 12                      /* System version */
2077#define VN_RET  13                      /* RETURN value */
2078#define VN_FILE 14                      /* Most recent filespec */
2079#define VN_NDAT 15                      /* Numeric date yyyy/mm/dd */
2080#define VN_HOME 16                      /* Home directory */
2081#define VN_SPEE 17                      /* Transmission speed */
2082#define VN_HOST 18                      /* Host name */
2083#define VN_TTYF 19                      /* TTY file descriptor (UNIX only) */
2084#define VN_PROG 20                      /* Program name */
2085#define VN_NTIM 21                      /* NTIME */
2086#define VN_FFC  22                      /* Characters in last file xferred */
2087#define VN_TFC  23                      /* Chars in last file group xferred */
2088#define VN_CPU  24                      /* CPU type */
2089#define VN_CMDL 25                      /* Command level */
2090#define VN_DAY  26                      /* Day of week, string */
2091#define VN_NDAY 27                      /* Day of week, numeric */
2092#define VN_LCL  28                      /* Local (vs) remote mode */
2093#define VN_CMDS 29                      /* Command source */
2094#define VN_CMDF 30                      /* Command file name */
2095#define VN_MAC  31                      /* Macro name */
2096#define VN_EXIT 32                      /* Exit status */
2097#define VN_ICHR 33                      /* INPUT character */
2098#define VN_ICNT 34                      /* INPUT count */
2099#define VN_PRTY 35                      /* Current parity */
2100#define VN_DIAL 36                      /* DIAL status */
2101#define VN_KEYB 37                      /* Keyboard type */
2102#define VN_CPS  38                      /* Chars per second, last transfer */
2103#define VN_RPL  39                      /* Receive packet length */
2104#define VN_SPL  40                      /* Send packet length */
2105#define VN_MODE 41                      /* Transfer mode (text, binary) */
2106#define VN_REXX 42                      /* Rexx return value */
2107#define VN_NEWL 43                      /* Newline character or sequence */
2108#define VN_COLS 44                      /* Columns on console screen */
2109#define VN_ROWS 45                      /* Rows on console screen */
2110#define VN_TTYP 46                      /* Terminal type */
2111#define VN_MINP 47                      /* MINPUT result */
2112#define VN_CONN 48                      /* Connection type */
2113#define VN_SYSI 49                      /* System ID */
2114#define VN_TZ   50                      /* Timezone */
2115#define VN_SPA  51                      /* Space */
2116#define VN_QUE  52                      /* Query */
2117#define VN_STAR 53                      /* Startup directory */
2118#define VN_CSET 54                      /* Local character set */
2119#define VN_MDM  55                      /* Modem type */
2120#define VN_EVAL 56                      /* Most recent EVALUATE result */
2121
2122#define VN_D_CC 57                      /* DIAL COUNTRY-CODE */
2123#define VN_D_AC 58                      /* DIAL AREA-CODE */
2124#define VN_D_IP 59                      /* DIAL INTERNATIONAL-PREFIX */
2125#define VN_D_LP 60                      /* DIAL LD-PREFIX */
2126
2127#define VN_UID  61
2128#define VN_PWD  62
2129#define VN_PRM  63
2130
2131#define VN_PROTO 64                     /* Protocol */
2132#define VN_DLDIR 65                     /* Download directory */
2133
2134#define VN_M_AAA 66                     /* First MODEM one */
2135#define VN_M_INI 66                     /* Modem init string */
2136#define VN_M_DCM 67                     /* Modem dial command */
2137#define VN_M_DCO 68                     /* Modem data compression on */
2138#define VN_M_DCX 69                     /* Modem data compression off */
2139#define VN_M_ECO 70                     /* Modem error correction on */
2140#define VN_M_ECX 71                     /* Modem error correction off */
2141#define VN_M_AAO 72                     /* Modem autoanswer on */
2142#define VN_M_AAX 73                     /* Modem autoanswer off */
2143#define VN_M_HUP 74                     /* Modem hangup command */
2144#define VN_M_HWF 75                     /* Modem hardware flow command */
2145#define VN_M_SWF 76                     /* Modem software flow command */
2146#define VN_M_NFC 77                     /* Modem no flow-control command */
2147#define VN_M_PDM 78                     /* Modem pulse dialing mode */
2148#define VN_M_TDM 79                     /* Modem tone dialing mode */
2149#define VN_M_ZZZ 79                     /* Last MODEM one */
2150
2151#define VN_SELCT 80                     /* Selected Text from Mark Mode */
2152#define VN_TEMP  81                     /* Temporary directory */
2153#define VN_ISTAT 82                     /* INPUT command status */
2154#define VN_INI   83                     /* INI (kermrc) directory */
2155#define VN_EXEDIR 84                    /* EXE directory */
2156#define VN_ERRNO  85                    /* Value of errno */
2157#define VN_ERSTR  86                    /* Corresponding error message */
2158#define VN_TFLN   87                    /* TAKE file line number */
2159#define VN_XVNUM  88                    /* Product-specific version number */
2160#define VN_RPSIZ  89                    /* Receive packet length */
2161#define VN_WINDO  90                    /* Window size */
2162#define VN_MDMSG  91                    /* Modem message */
2163#define VN_DNUM   92                    /* Dial number */
2164#define VN_APC    93                    /* APC active */
2165#define VN_IPADDR 94                    /* My IP address */
2166#define VN_CRC16  95                    /* CRC-16 of most recent file group */
2167#define VN_TRMK   96                    /* Macro executed from Terminal Mode */
2168#define VN_PID    97                    /* Process ID */
2169#define VN_FNAM   98                    /* Name of file being transferred */
2170#define VN_FNUM   99                    /* Number of file being transferred */
2171#define VN_PEXIT  100                   /* Process exit status */
2172#define VN_P_CTL  101                   /* Control Prefix */
2173#define VN_P_8BIT 102                   /* 8-bit prefix */
2174#define VN_P_RPT  103                   /* Repeat count prefix */
2175#define VN_D_LCP  104                   /* DIAL LOCAL-PREFIX */
2176#define VN_URL    105                   /* Last URL selected */
2177#define VN_REGN   106                   /* Registration Name */
2178#define VN_REGO   107                   /* Registration Organization */
2179#define VN_REGS   108                   /* Registration Serial number */
2180#define VN_XPROG  109                   /* xprogram (like xversion) */
2181#define VN_EDITOR 110                   /* Editor */
2182#define VN_EDOPT  111                   /* Editor options */
2183#define VN_EDFILE 112                   /* Editor file */
2184#define VN_BROWSR 113                   /* Browser */
2185#define VN_BROPT  114                   /* Browser options */
2186#define VN_HERALD 115                   /* Program herald */
2187#define VN_TEST   116                   /* Program test level or "0" */
2188#define VN_XFSTAT 117                   /* File-Transfer status */
2189#define VN_XFMSG  119                   /* File-Transfer message */
2190#define VN_SNDL   120                   /* Send-list status */
2191#define VN_TRIG   121                   /* Trigger value */
2192#define VN_MOU_X  122                   /* OS/2 Mouse Cursor X */
2193#define VN_MOU_Y  123                   /* OS/2 Mouse Cursor Y */
2194#define VN_PRINT  124                   /* Printer */
2195#define VN_ESC    125                   /* Escape character */
2196#define VN_INTIME 126                   /* INPUT elapsed time */
2197#define VN_K4RLM  127                   /* Kerberos 4 Realm */
2198#define VN_K5RLM  128                   /* Kerberos 5 Realm */
2199#define VN_K4PRN  129                   /* Kerberos 4 Principal */
2200#define VN_K5PRN  130                   /* Kerberos 5 Principal */
2201#define VN_K4CC   131                   /* Kerberos 4 Credentials Cache */
2202#define VN_K5CC   132                   /* Kerberos 5 Credentials Cache */
2203#define VN_OSNAM  133                   /* OS name */
2204#define VN_OSVER  134                   /* OS version */
2205#define VN_OSREL  135                   /* OS release */
2206#define VN_NAME   136                   /* Name I was called by */
2207#define VN_MODL   137                   /* CPU model */
2208#define VN_X25LA  138                   /* X.25 local address */
2209#define VN_X25RA  139                   /* X.25 remote address */
2210#define VN_K4SRV  140                   /* Kerberos 4 Service Name */
2211#define VN_K5SRV  141                   /* Kerberos 5 Service Name */
2212#define VN_PDSFX  142                   /* PDIAL suffix */
2213#define VN_DTYPE  143                   /* DIAL type */
2214#define VN_LCKPID 144                   /* Lockfile PID (UNIX) */
2215#define VN_BLK    145                   /* Block check */
2216#define VN_TFTIM  146                   /* File transfer elapsed time */
2217#define VN_D_PXX  147                   /* DIAL PBX-EXCHANGE */
2218#define VN_HWPAR  148                   /* Hardware Parity */
2219#define VN_SERIAL 149                   /* SET SERIAL value */
2220#define VN_LCKDIR 150                   /* Lockfile directory (UNIX) */
2221
2222#define VN_K4ENO  151                   /* Kerberos 4 Last Errno */
2223#define VN_K4EMSG 152                   /* Kerberos 4 Last Err Msg */
2224#define VN_K5ENO  153                   /* Kerberos 5 Last Errno */
2225#define VN_K5EMSG 154                   /* Kerberos 5 Last Err Msg */
2226
2227#define VN_INTMO  155                   /* Input timeout */
2228#define VN_AUTHS  156                   /* Authentication State */
2229
2230#define VN_DM_LP  157                   /* Dial Modifier: Long Pause */
2231#define VN_DM_SP  158                   /* Dial Modifier: Short Pause */
2232#define VN_DM_PD  159                   /* Dial Modifier: Pulse Dial */
2233#define VN_DM_TD  160                   /* Dial Modifier: Tone Dial */
2234#define VN_DM_WA  161                   /* Dial Modifier: Wait for Answer */
2235#define VN_DM_WD  162                   /* Dial Modifier: Wait for Dialtone */
2236#define VN_DM_RC  163                   /* Dial Modifier: Return to Command */
2237
2238/* (more below...) */
2239
2240#define VN_TY_LN  164                   /* TYPE command line number */
2241#define VN_TY_LC  165                   /* TYPE command line count */
2242#define VN_TY_LM  166                   /* TYPE command match count */
2243
2244#define VN_MACLVL 167                   /* \v(maclevel) */
2245
2246#define VN_XF_BC  168                   /* Transfer blockcheck errors */
2247#define VN_XF_TM  169                   /* Transfer timeouts */
2248#define VN_XF_RX  170                   /* Transfer retransmissions */
2249
2250#define VN_M_NAM  171                   /* Modem full name  */
2251#define VN_MS_CD  172                   /* Modem signal CD  */
2252#define VN_MS_CTS 173                   /* Modem signal CTS */
2253#define VN_MS_DSR 174                   /* Modem signal DSR */
2254#define VN_MS_DTR 175                   /* Modem signal DTR */
2255#define VN_MS_RI  176                   /* Modem signal RI  */
2256#define VN_MS_RTS 177                   /* Modem signal RTS */
2257
2258#define VN_MATCH  178                   /* Most recent pattern match */
2259#define VN_SLMSG  179                   /* SET LINE (error) message */
2260#define VN_TXTDIR 180                   /* Kermit text-file directory */
2261#define VN_MA_PI  181                   /* Math constant Pi */
2262#define VN_MA_E   182                   /* Math constant e */
2263#define VN_MA_PR  183                   /* Math precision (digits) */
2264#define VN_CMDBL  184                   /* Command buffer length */
2265
2266#define VN_AUTHT  185                   /* Authentication Type */
2267
2268#ifdef CKCHANNELIO
2269#define VN_FERR   186                   /* FILE error */
2270#define VN_FMAX   187                   /* FILE max */
2271#define VN_FCOU   188                   /* Result of last FILE COUNT */
2272#endif /* CKCHANNELIO */
2273
2274#define VN_DRTR   189                   /* DIAL retry counter */
2275#define VN_CXTIME 190                   /* Elapsed time in session */
2276#define VN_BYTE   191                   /* Byte order */
2277#define VN_AUTHN  192                   /* Authentication Name */
2278#define VN_KBCHAR 193                   /* kbchar */
2279#define VN_TTYNAM 194                   /* Name of controlling terminal */
2280
2281#define VN_X509_S 195                   /* X.509 Certificate Subject */
2282#define VN_X509_I 196                   /* X.509 Certificate Issuer  */
2283
2284#define VN_PROMPT 197                   /* C-Kermit's prompt */
2285#define VN_BUILD  198                   /* Build ID string */
2286
2287#define VN_SEXP   199                   /* Last S-Expression */
2288#define VN_VSEXP  200                   /* Value of last S-Expression */
2289#define VN_LSEXP  201                   /* SEXP depth */
2290
2291#define VN_FTIME  202                   /* Time as floating-poing number */
2292
2293#define VN_FTP_C  203                   /* FTP Reply Code */
2294#define VN_FTP_M  204                   /* FTP Reply Message */
2295#define VN_FTP_S  205                   /* FTP Server type */
2296#define VN_FTP_H  206                   /* FTP Host */
2297#define VN_FTP_X  207                   /* FTP Connected */
2298#define VN_FTP_L  208                   /* FTP Logged in */
2299#define VN_FTP_G  209                   /* FTP GET-PUT-REMOTE setting */
2300
2301#define VN_SECURE 210                   /* Encrypted connection 0 or 1 */
2302
2303#define VN_DM_HF  211                   /* Dial Modifier: Hook Flash */
2304#define VN_DM_WB  212                   /* Dial Modifier: Wait for Bong */
2305#define VN_CX_STA 213                   /* CX_STATUS */
2306
2307#define VN_FTP_B  214                   /* FTP CPL */
2308#define VN_FTP_D  215                   /* FTP DPL */
2309#define VN_FTP_Z  216                   /* FTP SECURITY */
2310#define VN_HTTP_C 217                   /* HTTP Code */
2311#define VN_HTTP_N 218                   /* HTTP Connected */
2312#define VN_HTTP_H 219                   /* HTTP Host */
2313#define VN_HTTP_M 220                   /* HTTP Message */
2314#define VN_HTTP_S 221                   /* HTTP Security */
2315
2316#define VN_NOW    222                   /* Timestamp yyyymmdd hh:mm:ss */
2317#define VN_HOUR   223                   /* Current hour of the day 0-23 */
2318
2319#define VN_CI_DA  224                   /* Caller ID date */
2320#define VN_CI_TI  225                   /* Caller ID time */
2321#define VN_CI_NA  226                   /* Caller ID name */
2322#define VN_CI_NU  227                   /* Caller ID number */
2323#define VN_CI_ME  228                   /* Caller ID message */
2324#define VN_PERSONAL 229                 /* Personal Directory on Windows */
2325#define VN_APPDATA  230                 /* User AppData directory */
2326#define VN_COMMON   231                 /* Common AppData directory */
2327#define VN_DESKTOP  232                 /* User Desktop directory */
2328#define VN_TNC_SIG  233                 /* RFC 2717 Signature */
2329
2330#ifdef KUI
2331#define VN_GUI_XP   234                 /* GUI Window X position */
2332#define VN_GUI_YP   235                 /* GUI Window Y position */
2333#define VN_GUI_XR   236                 /* GUI Window X resolution */
2334#define VN_GUI_YR   237                 /* GUI Window Y resolution */
2335#define VN_GUI_RUN  238                 /* GUI Window Run mode */
2336#define VN_GUI_FNM  239                 /* GUI Window Font Name */
2337#define VN_GUI_FSZ  240                 /* GUI Window Font Size */
2338#endif /* KUI */
2339
2340#define VN_LOG_PKT  241                 /* Packet Log Filename */
2341#define VN_LOG_TRA  242                 /* Transaction Log Filename */
2342#define VN_LOG_SES  243                 /* Session Log Filename */
2343#define VN_LOG_DEB  244                 /* Debug Log Filename */
2344#define VN_LOG_CON  245                 /* Connection Log Filename */
2345#endif /* NOSPL */
2346
2347/* INPUT status values */
2348
2349#define INP_OK  0                       /* Succeeded */
2350#define INP_TO  1                       /* Timed out */
2351#define INP_UI  2                       /* User interrupted */
2352#define INP_IE  3                       /* Internal error */
2353#define INP_IO  4                       /* I/O error or connection lost */
2354#define INP_IKS 5                       /* Kermit Server Active */
2355
2356#ifndef NOSPL
2357/* Symbols for builtin functions */
2358
2359#define FNARGS 6                        /* Maximum number of function args */
2360
2361#define FN_IND      0                   /* Index (of string 1 in string 2) */
2362#define FN_LEN      1                   /* Length (of string) */
2363#define FN_LIT      2                   /* Literal (don't expand the string) */
2364#define FN_LOW      3                   /* Lower (convert to lowercase) */
2365#define FN_MAX      4                   /* Max (maximum) */
2366#define FN_MIN      5                   /* Min (minimum) */
2367#define FN_MOD      6                   /* Mod (modulus) */
2368#define FN_EVA      7                   /* Eval (evaluate arith expression) */
2369#define FN_SUB      8                   /* Substr (substring) */
2370#define FN_UPP      9                   /* Upper (convert to uppercase) */
2371#define FN_REV      10                  /* Reverse (a string) */
2372#define FN_REP      11                  /* Repeat (a string) */
2373#define FN_EXE      12                  /* Execute (a macro) */
2374#define FN_VAL      13                  /* Return value (of a macro) */
2375#define FN_LPA      14                  /* LPAD (left pad) */
2376#define FN_RPA      15                  /* RPAD (right pad) */
2377#define FN_DEF      16                  /* Definition of a macro, unexpanded */
2378#define FN_CON      17                  /* Contents of a variable, ditto */
2379#define FN_FIL      18                       /* File list */
2380#define FN_FC       19                  /* File count */
2381#define FN_CHR      20                  /* Character (like BASIC CHR$()) */
2382#define FN_RIG      21                  /* Right (like BASIC RIGHT$()) */
2383#define FN_COD      22                  /* Code value of character */
2384#define FN_RPL      23                  /* Replace */
2385#define FN_FD       24                  /* File date */
2386#define FN_FS       25                  /* File size */
2387#define FN_RIX      26                  /* Rindex (index from right) */
2388#define FN_VER      27                  /* Verify */
2389#define FN_IPA      28                  /* Find and return IP address */
2390#define FN_CRY      39                  /* ... */
2391#define FN_OOX      40                  /* ... */
2392#define FN_HEX      41                  /* Hexify */
2393#define FN_UNH      42                  /* Unhexify */
2394#define FN_BRK      43                  /* Break */
2395#define FN_SPN      44                  /* Span */
2396#define FN_TRM      45                  /* Trim */
2397#define FN_LTR      46                  /* Left-Trim */
2398#define FN_CAP      47                  /* Capitalize */
2399#define FN_TOD      48                  /* Time-of-day-to-secs-since-midnite */
2400#define FN_SEC      49                  /* Secs-since-midnite-to-time-of-day */
2401#define FN_FFN      50                  /* Full file name */
2402#define FN_CHK      51                  /* Checksum of text */
2403#define FN_CRC      52                  /* CRC-16 of text */
2404#define FN_BSN      53                  /* Basename of file */
2405#define FN_CMD      54                  /* Output of a command (cooked) */
2406#define FN_RAW      55                  /* Output of a command (raw) */
2407#define FN_STX      56                  /* Strip from right */
2408#define FN_STL      57                  /* Strip from left */
2409#define FN_STN      58                  /* Strip n chars */
2410#define FN_SCRN_CX  59                  /* Screen Cursor X Pos */
2411#define FN_SCRN_CY  60                  /* Screen Cursor Y Pos */
2412#define FN_SCRN_STR 61                  /* Screen String */
2413#define FN_2HEX     62                  /* Number (not string) to hex */
2414#define FN_2OCT     63                  /* Number (not string) to octal */
2415#define FN_RFIL     64                  /* Recursive file list */
2416#define FN_DIR      65                  /* Directory list */
2417#define FN_RDIR     66                  /* Recursive directory list */
2418#define FN_DNAM     67                  /* Directory part of filename */
2419#define FN_RAND     68                  /* Random number */
2420#define FN_WORD     69                  /* Word extraction */
2421#define FN_SPLIT    70                  /* Split string into words */
2422#define FN_KRB_TK   71                  /* Kerberos tickets */
2423#define FN_KRB_NX   72                  /* Kerberos next ticket */
2424#define FN_KRB_IV   73                  /* Kerberos ticket is valid */
2425#define FN_KRB_TT   74                  /* Kerberos ticket time */
2426#define FN_ERRMSG   75                  /* Error code to message */
2427
2428#ifndef UNIX
2429#ifndef VMS
2430#undef FN_ERRMSG
2431#endif /* VMS */
2432#endif /* UNIX */
2433
2434#define FN_DIM      76                  /* Dimension of array */
2435#define FN_DTIM     77                  /* Convert to standard date/time */
2436#define FN_JDATE    78                  /* Regular date to day of year */
2437#define FN_PNCVT    79                  /* Convert phone number for dialing */
2438#define FN_DATEJ    80                  /* Day of year to date */
2439#define FN_MJD      81                  /* Date to modified Julian date */
2440#define FN_MJD2     82                  /* Modified Julian date to date */
2441#define FN_DAY      83                  /* Day of week of given date */
2442#define FN_NDAY     84                  /* Numeric day of week of given date */
2443#define FN_TIME     85                  /* Convert to hh:mm:ss */
2444#define FN_NTIM     86                  /* Convert to seconds since midnite */
2445#define FN_N2TIM    87                  /* Sec since midnite to hh:mm:ss */
2446#define FN_PERM     88                  /* Permissions of file */
2447#define FN_KRB_FG   89                  /* Kerberos Ticket Flags */
2448#define FN_SEARCH   90                  /* Search for pattern in string */
2449#define FN_RSEARCH  91                  /* Ditto, but right to left */
2450#define FN_XLATE    92                  /* Translate string charset */
2451#define FN_ALOOK    93                  /* Array lookup */
2452#define FN_TLOOK    94                  /* Table lookup */
2453#define FN_TOB64    95                  /* Encode into Base64 */
2454#define FN_FMB64    96                  /* Decode from Base64 */
2455
2456#define FN_ABS      97                  /* Absolute value */
2457
2458#ifdef CKFLOAT
2459#define FN_FPADD    98                  /* Floating-point add */
2460#define FN_FPSUB    99                  /* Floating-point substract */
2461#define FN_FPMUL   100                  /* Floating-point multiply */
2462#define FN_FPDIV   101                  /* Floating-point divide */
2463#define FN_FPEXP   102                  /* Floating-point e to the x */
2464#define FN_FPLN    103                  /* Floating-point natural log */
2465#define FN_FPLOG   104                  /* Floating-point base-10 log */
2466#define FN_FPPOW   105                  /* Floating-point raise to power */
2467#define FN_FPSQR   106                  /* Floating-point square root */
2468#define FN_FPABS   107                  /* Floating-point absolute value */
2469#define FN_FPMOD   108                  /* Floating-point modulus */
2470#define FN_FPMAX   109                  /* Floating-point maximum */
2471#define FN_FPMIN   110                  /* Floating-point minimum*/
2472#define FN_FPINT   111                  /* Floating-point to integer */
2473#define FN_FPROU   112                  /* Floating-point round */
2474#define FN_FPSIN   113                  /* FP sine */
2475#define FN_FPCOS   114                  /* FP cosine */
2476#define FN_FPTAN   115                  /* FP tangent */
2477#endif /* CKFLOAT */
2478
2479#ifdef CKCHANNELIO
2480#define FN_FSTAT   116                  /* File status */
2481#define FN_FPOS    117                  /* File position */
2482#define FN_FEOF    118                  /* File eof */
2483#define FN_FILNO   119                  /* File number / handle */
2484#define FN_FGCHAR  120                  /* File getchar */
2485#define FN_FGLINE  121                  /* File getline */
2486#define FN_FGBLK   122                  /* File getblock */
2487#define FN_FPCHAR  123                  /* File putchar */
2488#define FN_FPLINE  124                  /* File putline */
2489#define FN_FPBLK   125                  /* File putblock */
2490#define FN_NLINE   126                  /* File get current line number */
2491#define FN_FERMSG  127                  /* File error message */
2492#endif /* CKCHANNELIO */
2493
2494#define FN_LEF     128                  /* Left (= substr starting on left) */
2495#define FN_AADUMP  129                  /* Associative Array Dump */
2496#define FN_STB     130                  /* \fstripb()  */
2497#define FN_PATTERN 131                  /* \fpattern() */
2498#define FN_HEX2N   132                  /* \fhexton()  */
2499#define FN_OCT2N   133                  /* \foctton()  */
2500#define FN_HEX2IP  134                  /* \fhextoip() */
2501#define FN_IP2HEX  135                  /* \fiptohex() */
2502#define FN_RADIX   136                  /* \fradix()   */
2503#define FN_JOIN    137                  /* \fjoin()    */
2504#define FN_SUBST   138                  /* \fsubstitute() */
2505#define FN_SEXP    139                  /* \fsexpression() */
2506#define FN_CMDSTK  140                  /* \fcmdstack() */
2507#define FN_TOGMT   141                  /* \ftogmt() */
2508#define FN_CMPDATE 142                  /* \fcmpdates() */
2509#define FN_DIFDATE 143                  /* \fdiffdates() */
2510#ifdef TCPSOCKET
2511#define FN_HSTADD  144                  /* \faddr2name() */
2512#define FN_HSTNAM  145                  /* \fname2addr() */
2513#endif /* TCPSOCKET */
2514#define FN_DELSEC  146                  /* \fdelta2sec() */
2515#define FN_PC_DU   147                  /* Path conversion DOS to Unix */
2516#define FN_PC_VU   148                  /* Path conversion VMS to Unix */
2517#define FN_PC_UD   149                  /* Path conversion Unix to DOS */
2518#define FN_PC_UV   150                  /* Path conversion Unix to VMS */
2519#define FN_KWVAL   151                  /* \fkeywordvalue() */
2520#define FN_SLEEP   152                  /* \fsleep() */
2521#define FN_MSLEEP  153                  /* \fmsleep() */
2522#define FN_LNAME   154                  /* \fLongPathName() (Windows) */
2523#define FN_SNAME   155                  /* \fShortPathName() (Windows) */
2524
2525#endif /* NOSPL */
2526
2527/* Time Units */
2528
2529#define TU_DAYS   0
2530#define TU_WEEKS  1
2531#define TU_MONTHS 2
2532#define TU_YEARS  3
2533
2534#ifdef CK_CURSES
2535/* Screen line numbers for fullscreen file-transfer display */
2536
2537#define CW_BAN  0                       /* Curses Window Banner */
2538#define CW_DIR  2                       /* Current directory */
2539#define CW_LIN  3                       /* Communication device */
2540#define CW_SPD  4                       /* Communication speed */
2541#define CW_PAR  5                       /* Parity */
2542#define CW_TMO  6
2543#define CW_NAM  7                       /* Filename */
2544#define CW_TYP  8                       /* File type */
2545#define CW_SIZ  9                       /* File size */
2546#define CW_PCD 10                       /* Percent done */
2547
2548#ifndef CK_PCT_BAR
2549#define CW_TR  11                       /* Time remaining */
2550#define CW_CP  12                       /* Characters per second */
2551#define CW_WS  13                       /* Window slots */
2552#define CW_PT  14                       /* Packet type */
2553#define CW_PC  15                       /* Packet count */
2554#define CW_PL  16                       /* Packet length */
2555#define CW_PR  17                       /* Packet retry */
2556#ifdef COMMENT
2557#define CW_PB  17                       /* Packet block check */
2558#endif /* COMMENT */
2559#else /* CK_PCT_BAR */
2560#define CW_BAR 11                       /* Percent Bar Scale */
2561#define CW_TR  12                       /* Time remaining */
2562#define CW_CP  13                       /* Chars per sec */
2563#define CW_WS  14                       /* Window slots */
2564#define CW_PT  15                       /* Packet type */
2565#define CW_PC  16                       /* Packet count */
2566#define CW_PL  17                       /* Packet length */
2567#define CW_PR  18                       /* Packet retry */
2568#ifdef COMMENT
2569#define CW_PB  18                       /* Packet block check */
2570#endif /* COMMENT */
2571#endif /* CK_PCT_BAR */
2572
2573#define CW_ERR 19                       /* Error message */
2574#define CW_MSG 20                       /* Info message */
2575#define CW_INT 22                       /* Instructions */
2576#define CW_FFC 99                       /* File Characters Sent/Received */
2577#endif /* CK_CURSES */
2578
2579#ifndef NOICP
2580/* Save Commands */
2581#define XSKEY   0                       /* Key map file */
2582#define XSCMD   1                       /* Command mode */
2583#define XSTERM  2                       /* Terminal mode */
2584#endif /* NOICP */
2585
2586#ifndef NODIAL
2587/* Dial routine sort priorities */
2588#define DN_INTERN 0
2589#define DN_FREE   1
2590#define DN_LOCAL  2
2591#define DN_UNK    3
2592#define DN_LONG   4
2593#define DN_INTL   5
2594#endif /* NODIAL */
2595
2596#ifdef SSHBUILTIN
2597#define XSSH_OPN 1
2598#define XSSH_V2  2
2599#define XSSH_FLP 3
2600#define XSSH_FRP 4
2601#define XSSH_ADD 5
2602#define XSSH_KEY 6
2603#define XSSH_CLR 7
2604#define XSSH_AGT 8
2605
2606#define SSHKT_1R   0                    /* SSH KEY TYPE symbols */
2607#define SSHKT_2R   1                    /* must match ssh/key.h values */
2608#define SSHKT_2D   2
2609#define SSHKT_SRP  3
2610
2611#define SSHKD_IN   1                    /* SSH KEY DISPLAY /IN-FORMAT */
2612#define SSHKD_OUT  2                    /* SSH KEY DISPLAY /OUT-FORMAT */
2613
2614#define SKDF_OSSH  1                    /* Key display format OpenSSH */
2615#define SKDF_SSHC  2                    /* Key display format SSH.COM */
2616#define SKDF_IETF  3                    /* Key display format IETF */
2617#define SKDF_FING  4                    /* Key display format FINGERPRINT */
2618
2619#define SSHSW_USR 1
2620#define SSHSW_VER 2
2621#define SSHSW_CMD 3
2622#define SSHSW_X11 4
2623#define SSHSW_PWD 5
2624#define SSHSW_SUB 6
2625
2626#define SSHC_LPF 1
2627#define SSHC_RPF 2
2628
2629#define XSSH2_RKE 1
2630
2631#define SSHF_LCL   1
2632#define SSHF_RMT   2
2633
2634#define SSHA_ADD   1
2635#define SSHA_DEL   2
2636#define SSHA_LST   3
2637
2638#define SSHASW_FP 1
2639
2640#define SSHK_PASS  1
2641#define SSHK_CREA  2
2642#define SSHK_DISP  3
2643#define SSHK_V1    4
2644
2645#define SSHKC_BI  1
2646#define SSHKC_PP  2
2647#define SSHKC_TY  3
2648#define SSHKC_1R  4
2649#endif /* SSHBUILTIN */
2650
2651/* ANSI-C prototypes for user interface functions */
2652
2653#ifndef NOICP
2654_PROTOTYP( int matchname, ( char *, int, int ) );
2655_PROTOTYP( int ck_cls, ( void ) );
2656_PROTOTYP( int ck_cleol, ( void ) );
2657_PROTOTYP( int ck_curpos, ( int, int ) );
2658_PROTOTYP( int cmdsrc, ( void ) );
2659_PROTOTYP( int parser, ( int ) );
2660_PROTOTYP( int chkvar, (char *) );
2661_PROTOTYP( int zzstring, (char *, char **, int *) );
2662#ifndef NOFRILLS
2663_PROTOTYP( int yystring, (char *, char **) );
2664#endif /* NOFRILLS */
2665_PROTOTYP( int getncm, (char *, int) );
2666_PROTOTYP( int getnct, (char *, int, FILE *, int) );
2667#endif /* NOICP */
2668_PROTOTYP( VOID bgchk, (void) );
2669_PROTOTYP( char * nvlook, (char *) );
2670_PROTOTYP( int xarray, (char *) );
2671_PROTOTYP( int arraynam, (char *, int *, int *) );
2672_PROTOTYP( int arraybounds, (char *, int *, int *) );
2673_PROTOTYP( int arrayitoa, (int) );
2674_PROTOTYP( int arrayatoi, (int) );
2675_PROTOTYP( char * bldlen, (char *, char *) );
2676_PROTOTYP( int chkarray, (int, int) );
2677_PROTOTYP( int dclarray, (char, int) );
2678_PROTOTYP( int pusharray, (int, int) );
2679_PROTOTYP( int parsevar, (char *, int *, int *) );
2680_PROTOTYP( int macini, (void) );
2681_PROTOTYP( VOID initmac, (void) );
2682_PROTOTYP( int delmac, (char *, int) );
2683_PROTOTYP( int addmac, (char *, char *) );
2684_PROTOTYP( int domac, (char *, char *, int) );
2685_PROTOTYP( int addmmac, (char *, char *[]) );
2686_PROTOTYP( int dobug, (void) );
2687_PROTOTYP( int docd, (int) );
2688_PROTOTYP( int doclslog, (int) );
2689_PROTOTYP( int docmd, (int) );
2690_PROTOTYP( int dodir, (int) );
2691_PROTOTYP( int dodo, (int, char *, int) );
2692_PROTOTYP( int doenable, (int, int) );
2693_PROTOTYP( int dogoto, (char *, int) );
2694_PROTOTYP( int dogta, (int) );
2695_PROTOTYP( int dohlp, (int) );
2696_PROTOTYP( int dohrmt, (int) );
2697_PROTOTYP( int doif, (int) );
2698_PROTOTYP( int doinput, (int, char *[], int[]) );
2699_PROTOTYP( int doreinp, (int, char *, int) );
2700_PROTOTYP( int dolog, (int) );
2701_PROTOTYP( int dologin, (char *) );
2702_PROTOTYP( int doopen, (void) );
2703_PROTOTYP( int doprm, (int, int) );
2704_PROTOTYP( int doreturn, (char *) );
2705_PROTOTYP( int dormt, (int) );
2706_PROTOTYP( int dosort, (void) );
2707_PROTOTYP( int dostat, (int) );
2708_PROTOTYP( int dostop, (void) );
2709_PROTOTYP( int dotype, (char *, int, int, int, char *, int, char *, int, int,
2710                        char *, int));
2711_PROTOTYP( int transmit, (char *, char, int, int, int) );
2712_PROTOTYP( int xlate, (char *, char *, int, int) );
2713_PROTOTYP( int litcmd, (char **, char **, int) );
2714_PROTOTYP( int incvar, (char *, int, int) );
2715_PROTOTYP( int ckdial, (char *, int, int, int, int) );
2716_PROTOTYP( int hmsg, (char *) );
2717_PROTOTYP( int hmsga, (char * []) );
2718_PROTOTYP( int mlook, (struct mtab [], char *, int) );
2719_PROTOTYP( int mxlook, (struct mtab [], char *, int) );
2720_PROTOTYP( int mxxlook, (struct mtab [], char *, int) );
2721_PROTOTYP( int prtopt, (int *, char *) );
2722_PROTOTYP( CHAR rfilop, (char *, char) );
2723_PROTOTYP( int setcc, (char *, int *) );
2724_PROTOTYP( int setnum, (int *, int, int, int) );
2725_PROTOTYP( int seton, (int *) );
2726_PROTOTYP( int setonaut, (int *) );
2727_PROTOTYP( VOID shmdmlin, (void) );
2728_PROTOTYP( VOID initmdm, (int) );
2729_PROTOTYP( char * showoff, (int) );
2730_PROTOTYP( char * showooa, (int) );
2731_PROTOTYP( int pktopn, (char *,int) );
2732_PROTOTYP( int traopn, (char *,int) );
2733_PROTOTYP( int sesopn, (char *,int) );
2734_PROTOTYP( int debopn, (char *,int) );
2735_PROTOTYP( int diaopn, (char *,int,int) );
2736_PROTOTYP( int prepop, (void) );
2737_PROTOTYP( int popclvl, (void) );
2738_PROTOTYP( int varval, (char *, int *) );
2739_PROTOTYP( char * evala, (char *) );
2740_PROTOTYP( char * evalx, (char *) );
2741_PROTOTYP( int setalarm, (long) );
2742_PROTOTYP( int setat, (int) );
2743_PROTOTYP( int setinp, (void) );
2744_PROTOTYP( VOID dolognet, (void) );
2745_PROTOTYP( VOID dologline, (void) );
2746_PROTOTYP( int setlin, (int, int, int) );
2747_PROTOTYP( int setmodem, (void) );
2748_PROTOTYP( int setfil, (int) );
2749_PROTOTYP( char * homepath, (void) );
2750#ifdef OS2
2751_PROTOTYP( int settapi, (void) ) ;
2752#ifdef OS2MOUSE
2753_PROTOTYP( int setmou, (void) );
2754#endif /* OS2MOUSE */
2755#endif /* OS2 */
2756#ifdef LOCUS
2757_PROTOTYP( VOID setlocus, (int,int) );
2758_PROTOTYP( VOID setautolocus, (int) );
2759#endif /* LOCUS */
2760_PROTOTYP( int setbell, (void) );
2761_PROTOTYP( VOID setcmask, (int));
2762_PROTOTYP( VOID setautodl, (int,int));
2763_PROTOTYP( VOID setdebses, (int));
2764_PROTOTYP( VOID setseslog, (int));
2765_PROTOTYP( VOID setaprint, (int));
2766_PROTOTYP( int settrm, (void) );
2767_PROTOTYP( int settrmtyp, (void) );
2768_PROTOTYP( int setsr, (int, int) );
2769_PROTOTYP( int setxmit, (void) );
2770_PROTOTYP( int dosetkey, (void) );
2771_PROTOTYP( int dochk, (void) );
2772_PROTOTYP( int ludial, (char *, int) );
2773_PROTOTYP( char * getdnum, (int) );
2774_PROTOTYP( VOID getnetenv, (void) );
2775_PROTOTYP( int getyesno, (char *, int) );
2776_PROTOTYP( VOID xwords, (char *, int, char *[], int) );
2777#ifdef OS2
2778_PROTOTYP( VOID keynaminit, (void) );
2779#endif /* OS2 */
2780_PROTOTYP( int xlookup, (struct keytab[], char *, int, int *) );
2781_PROTOTYP( char * rlookup, (struct keytab[], int, int) );
2782_PROTOTYP( int hupok, (int) );
2783_PROTOTYP( char * zzndate, (void) );
2784_PROTOTYP( char * zjdate, (char *) );
2785_PROTOTYP( char * jzdate, (char *) );
2786_PROTOTYP( char * ckdate, (void) );
2787_PROTOTYP( char * chk_ac, (int, char[]) );
2788_PROTOTYP( char * gmdmtyp, (void) );
2789_PROTOTYP( char * gfmode, (int, int) );
2790_PROTOTYP( int setdest, (void) );
2791_PROTOTYP( VOID ndinit, (void) );
2792_PROTOTYP( int doswitch, (void) );
2793_PROTOTYP( int dolocal, (void) );
2794_PROTOTYP( long tod2sec, (char *) );
2795_PROTOTYP( int lunet, (char *) );
2796_PROTOTYP( int doxdis, (int) );
2797_PROTOTYP( int dosave, (int) );
2798_PROTOTYP( int doxsend, (int) );
2799_PROTOTYP( int doxget, (int) );
2800_PROTOTYP( int doxconn, (int) );
2801_PROTOTYP( int clsconnx, (int) );
2802_PROTOTYP( VOID ftreset, (void) );
2803#ifdef CK_KERBEROS
2804_PROTOTYP (int cp_auth, ( void ) );
2805#endif /* CK_KERBEROS */
2806_PROTOTYP( long mjd, (char *) );
2807_PROTOTYP( char * mjd2date, (long) );
2808_PROTOTYP( char * ckgetpid, (void) );
2809
2810_PROTOTYP( int dogrep, (void) );
2811
2812#ifndef NOFTP
2813#ifndef SYSFTP
2814_PROTOTYP( int doxftp, (void) );
2815_PROTOTYP( int doftphlp, (void) );
2816_PROTOTYP( int dosetftp, (void) );
2817_PROTOTYP( int dosetftphlp, (void) );
2818_PROTOTYP( int shoftp, (int) );
2819#endif /* SYSFTP */
2820#endif /* NOFTP */
2821
2822_PROTOTYP( VOID cmhistory, (void) );
2823_PROTOTYP( char * getdcset, (void) );
2824_PROTOTYP( char * ttgtpn, (void) );
2825
2826#ifndef NOSHOW
2827_PROTOTYP( int doshow, (int) );
2828_PROTOTYP( int shotcp, (int) );
2829_PROTOTYP( VOID shopar, (void) );
2830_PROTOTYP( VOID shofil, (void) );
2831_PROTOTYP( VOID shoparp, (void) );
2832_PROTOTYP( int shoatt, (void) );
2833_PROTOTYP( VOID shover, (void) );
2834_PROTOTYP( VOID shoctl, (void) );
2835_PROTOTYP( VOID shodbl, (void) );
2836#ifndef NOSPL
2837_PROTOTYP( int shomac, (char *, char *) );
2838_PROTOTYP( int doshift, (int) );
2839#endif /* NOSPL */
2840#ifndef NOCSETS
2841_PROTOTYP( VOID shocharset, (void) );
2842_PROTOTYP( VOID shoparl, (void) );
2843_PROTOTYP( VOID shotcs, (int, int) );
2844#endif /* NOCSETS */
2845#ifndef NOLOCAL
2846_PROTOTYP( VOID shoparc, (void) );
2847_PROTOTYP( int shomodem, (void) );
2848#ifndef NODIAL
2849_PROTOTYP( VOID shods, (char *) );
2850_PROTOTYP( VOID shodial, (void) );
2851_PROTOTYP( int doshodial, (void) );
2852#endif /* NODIAL */
2853#ifndef NONET
2854_PROTOTYP( int shonet, (void) );
2855_PROTOTYP( int shotopt, (int) );
2856_PROTOTYP( int shotel, (int) );
2857#ifdef CK_AUTHENTICATION
2858_PROTOTYP (int sho_auth,( int  ) );
2859#endif /* CK_AUTHENTICATION */
2860#endif /* NONET */
2861_PROTOTYP( VOID shomdm, (void) );
2862#endif /* NOLOCAL */
2863#ifdef OS2
2864_PROTOTYP( VOID shokeycode, (int,int) );
2865#else
2866_PROTOTYP( VOID shokeycode, (int) );
2867#endif /* OS2 */
2868_PROTOTYP( VOID showassoc, (void) );
2869_PROTOTYP( VOID showdiropts, (void) );
2870_PROTOTYP( VOID showdelopts, (void) );
2871_PROTOTYP( VOID showtypopts, (void) );
2872_PROTOTYP( VOID shoflow, (void) );
2873_PROTOTYP( VOID shoxfer, (void) );
2874#endif /* NOSHOW */
2875
2876_PROTOTYP( VOID shostrdef, (CHAR *) );
2877
2878#ifndef NOSPL
2879_PROTOTYP( int addlocal, (char *) );
2880#endif /* NOSPL */
2881
2882_PROTOTYP( int setdelopts, (void) );
2883
2884#ifdef VMS
2885_PROTOTYP( int cvtdir, (char *, char *, int) );
2886#endif /* VMS */
2887
2888#ifdef FNFLOAT
2889_PROTOTYP( VOID initfloat, (void) );
2890#endif /* FNFLOAT */
2891
2892#ifdef CKCHANNELIO
2893_PROTOTYP( int dofile, (int) );
2894#endif /* CKCHANNELIO */
2895
2896#ifdef CKROOT
2897_PROTOTYP( int dochroot, (void) );
2898#endif /* CKROOT */
2899
2900#ifdef NEWFTP
2901_PROTOTYP( int doftpusr, () );
2902_PROTOTYP( int doftpput, (int,int) );
2903_PROTOTYP( int doftpget, (int,int) );
2904_PROTOTYP( int doftprmt, (int,int) );
2905_PROTOTYP( int ftpopen,  (char *, char *, int) );
2906_PROTOTYP( int cmdlinget,(int) );
2907_PROTOTYP( int cmdlinput,(int) );
2908_PROTOTYP( int doftparg, (char) );
2909#endif /* NEWFTP */
2910
2911#ifdef COMMENT
2912/* These prototypes are no longer used */
2913_PROTOTYP( char * getdws, (int) );
2914_PROTOTYP( char * getdcs, (int) );
2915_PROTOTYP( int doget, (int) );
2916_PROTOTYP( char * arrayval, (int, int) );
2917#endif /* COMMENT */
2918
2919#ifdef KUI
2920_PROTOTYP(int BuildFontTable,
2921          (struct keytab ** pTable, struct keytab ** pTable2, int * pN));
2922#endif /* KUI */
2923
2924_PROTOTYP(int cx_net, (int net, int protocol, char * xhost, char * svc,
2925        char * username, char * password, char * command,
2926        int param1, int param2, int param3,
2927        int cx, int sx, int flag, int gui));
2928_PROTOTYP(int cx_serial, (char *device,
2929        int cx, int sx, int shr, int flag, int gui, int special));
2930
2931#endif /* CKUUSR_H */
2932
2933/* End of ckuusr.h */
Note: See TracBrowser for help on using the repository browser.