--- /dev/null
+/* C K U U S R . H -- Symbol definitions for C-Kermit ckuus*.c modules */
+
+/*
+ Author: Frank da Cruz <fdc@columbia.edu>,
+ Columbia University Academic Information Systems, New York City.
+
+ Copyright (C) 1985, 2004,
+ Trustees of Columbia University in the City of New York.
+ All rights reserved. See the C-Kermit COPYING.TXT file or the
+ copyright text in the ckcmai.c module for disclaimer and permissions.
+*/
+#ifndef CKUUSR_H
+#define CKUUSR_H
+
+#include "ckucmd.h" /* Get symbols from command package */
+
+#ifndef NOLUCACHE /* Use lookup() cache */
+#ifndef NOSPL /* To speed up script programs */
+#ifndef USE_LUCACHE
+#define USE_LUCACHE
+#endif /* USE_LUCACHE */
+#endif /* NOSPL */
+#endif /* NOLUCACHE */
+
+#ifndef NODOUBLEQUOTING /* New to 8.0 */
+#define DOUBLEQUOTING /* Allow fields to be enclosed in */
+#endif /* NODOUBLEQUOTING */ /* doublequotes. */
+
+#ifndef NOLOCUS /* SET LOCUS */
+#define LOCUS
+#endif /* NOLOCUS */
+
+/* Sizes of things */
+
+#ifdef BIGBUFOK
+#define FNVALL 10238 /* Function return value length */
+#define MAXARGLEN 8191 /* Max func arg length after eval */
+#define MAXARGLIST 1024 /* Max number of args for a macro */
+#define FSPECL CMDBL /* Max length for MSEND/GET string */
+#define MSENDMAX 1024 /* Number of filespecs for MSEND */
+#define MAC_MAX 16384 /* Maximum number of macros */
+
+#else /* Same as above but for smaller builds... */
+
+#define FNVALL 1022
+#define MAXARGLEN 1023
+#define MAXARGLIST 64
+#define FSPECL 300
+#define MSENDMAX 128
+#define MAC_MAX 1024
+#endif /* BIGBUFOK */
+
+#define GVARS 127 /* Highest global var allowed */
+#ifdef BIGBUFOK
+#define VNAML 4096 /* Max length for variable name */
+#define ARRAYREFLEN 1024 /* Max length for array reference */
+#define FORDEPTH 32 /* Maximum depth of nested FOR loops */
+#define MAXTAKE 54 /* Maximum nesting of TAKE files */
+#define MACLEVEL 128 /* Maximum nesting for macros */
+#define INPBUFSIZ 4096 /* Size of INPUT buffer */
+#define PROMPTL 1024 /* Max length for prompt */
+#else
+#define VNAML 256 /* Max length for variable name */
+#define ARRAYREFLEN 128 /* Max length for array reference */
+#define FORDEPTH 10 /* Maximum depth of nested FOR loops */
+#define MAXTAKE 32 /* Maximum nesting of TAKE files */
+#define MACLEVEL 64 /* Maximum nesting for macros */
+#define INPBUFSIZ 256
+#define PROMPTL 256 /* Max length for prompt */
+#endif /* BIGBUFOK */
+#define NARGS 10 /* Max number of macro arguments */
+#define LINBUFSIZ (CMDBL + 10) /* Size of line[] buffer */
+#define TMPBUFSIZ (CMDBL + 10) /* Size of temporary buffer */
+#define LBLSIZ 50 /* Maximum length for a GOTO label */
+#define CMDSTKL ( MACLEVEL + MAXTAKE + 2) /* Command stack depth */
+
+#ifndef NOPURGE /* PURGE command */
+#ifdef UNIX
+#define CKPURGE
+#endif /* UNIX */
+#endif /* NOPURGE */
+
+#ifndef NOMINPUT /* MINPUT command */
+#ifndef NOSPL
+#define CK_MINPUT
+#ifndef MINPMAX
+#ifdef BIGBUFOK
+#define MINPMAX 96 /* Max number of MINPUT strings */
+#else
+#define MINPMAX 16
+#endif /* BIGBUFOK */
+#endif /* MINPMAX */
+#define MINPBUFL 256 /* Size of MINPUT temp buffer */
+#endif /* NOSPL */
+#endif /* NOMINPUT */
+
+#define ARRAYBASE 95 /* Lowest array-name character */
+
+#ifndef NOKERBANG
+#ifndef KERBANG
+#define KERBANG
+#endif /* KERBANG */
+#endif /* NOKERBANG */
+
+/* Bit values (1, 2, 4, 8, ...) for the ccflgs field */
+
+#define CF_APC 1 /* Executing an APC command */
+#define CF_KMAC 2 /* Executing a \Kmacro */
+#define CF_CMDL 4 /* Macro from -C "blah" command line */
+#define CF_REXX 8 /* Macro from REXX interpreter */
+#define CF_IMAC 16 /* Internal macro like FOR, WHILE... */
+
+struct cmdptr { /* Command stack structure */
+ int src; /* Command Source */
+ int lvl; /* Current TAKE or DO level */
+ int ccflgs; /* Flags */
+};
+
+struct mtab { /* Macro table, like keyword table */
+ char *kwd; /* But with pointers for vals */
+ char *mval; /* instead of ints. */
+ short flgs;
+};
+
+struct localvar { /* Local variable structure. */
+ char * lv_name;
+ char * lv_value;
+ struct localvar * lv_next;
+};
+
+struct stringlist { /* General purpose string list */
+ char * sl_name;
+ struct stringlist * sl_next;
+};
+
+#ifndef NOICP
+/*
+ C-Kermit Initialization file...
+
+ System-dependent defaults are built into the program, see below.
+ These can be overridden in either of two ways:
+ 1. CK_DSYSINI is defined at compile time, in which case a default
+ system-wide initialization file name is chosen from below, or:
+ 2: CK_SYSINI is defined to be a string, which lets the program
+ builder choose the initialization filespec at compile time.
+ These can be given on the CC command line, so the source code need not be
+ changed.
+*/
+
+#ifndef CK_SYSINI /* If no initialization file given, */
+#ifdef CK_DSYSINI /* but CK_DSYSINI is defined... */
+
+/* Supply system-dependent "default default" initialization file */
+
+#ifdef UNIX /* For UNIX, system-wide */
+/* This allows one copy of the standard init file on the whole system, */
+/* rather than a separate copy in each user's home directory. */
+#ifdef HPUX10
+#define CK_SYSINI "/usr/share/lib/kermit/ckermit.ini"
+#else
+#ifdef CU_ACIS
+#define CK_SYSINI "/usr/share/lib/kermit/ckermit.ini"
+#else
+#ifdef __linux__
+#define CK_SYSINI "/usr/share/kermit/ckermit.ini"
+#else
+#define CK_SYSINI "/usr/local/bin/ckermit.ini"
+#endif /* linux */
+#endif /* CU_ACIS */
+#endif /* HPUX10 */
+/* Fill in #else..#ifdef's here for VMS, OS/2, etc. */
+/* Fill in matching #endif's here. */
+#endif /* UNIX */
+
+#endif /* CK_DSYSINI */
+#endif /* CK_SYSINI */
+
+#ifdef CK_SYSINI /* Init-file precedence */
+#ifndef CK_INI_A /* A means system-wide file first */
+#ifndef CK_INI_B /* B means user's first */
+#define CK_INI_A /* A is default */
+#endif /* CK_INI_B */
+#endif /* CK_INI_A */
+#else
+#ifdef CK_INI_A /* Otherwise */
+#undef CK_INI_A /* make sure these aren't defined */
+#endif /* CK_INI_A */
+#ifdef CK_INI_B
+#undef CK_INI_B
+#endif /* CK_INI_B */
+#endif /* CK_SYSINI */
+
+#ifdef CK_SYSINI /* One more check... */
+#ifdef CK_INI_A /* Make sure they're not both */
+#ifdef CK_INI_B /* defined. */
+#undef CK_INI_B
+#endif /* CK_INI_B */
+#endif /* CK_INI_A */
+#endif /* CK_SYSINI */
+/*
+ If neither CK_DSYSINI nor CK_SYSINI are defined, these are the
+ built-in defaults for each platform. USE_CUSTOM means to execute the
+ customization file automatically if the initialization file is not found.
+*/
+#ifndef NOCUSTOM
+#ifndef USE_CUSTOM
+#define USE_CUSTOM
+#endif /* USE_CUSTOM */
+#endif /* NOCUSTOM */
+
+#ifndef KERMRCL /* Path length for init file */
+#define KERMRCL CKMAXPATH
+#endif /* KERMRCL */
+
+#ifdef vms
+#define KERMRC "CKERMIT.INI" /* Init file name */
+#define MYCUSTOM "CKERMOD.INI" /* Customization file name */
+#else
+#ifdef OS2
+#ifdef NT
+#define KERMRC "k95.ini"
+#define MYCUSTOM "k95custom.ini"
+#else
+#define KERMRC "k2.ini"
+#define MYCUSTOM "k2custom.ini"
+#endif /* NT */
+#else
+#ifdef UNIXOROSK
+#define KERMRC ".kermrc"
+#define MYCUSTOM ".mykermrc"
+#else
+#ifdef STRATUS
+#define KERMRC "ckermit.ini"
+#define MYCUSTOM "ckermod.ini"
+#else
+#define KERMRC "CKERMIT.INI"
+#define MYCUSTOM "ckermod.ini"
+#endif /* STRATUS */
+#endif /* UNIXOROSK */
+#endif /* OS2 */
+#endif /* vms */
+
+#ifndef KERMRCL
+#define KERMRCL 256
+#endif /* KERMRCL */
+#endif /* NOICP */
+
+/* User interface features */
+
+#ifdef CK_CURSES /* Thermometer */
+#ifndef NO_PCT_BAR
+#ifndef CK_PCT_BAR
+#define CK_PCT_BAR
+#endif /* NO_PCT_BAR */
+#endif /* CK_PCT_BAR */
+#endif /* CK_CURSES */
+
+#ifdef KUI /* KUI requires the Thermometer code */
+#ifndef NO_PCT_BAR
+#ifndef CK_PCT_BAR
+#define CK_PCT_BAR
+#endif /* NO_PCT_BAR */
+#endif /* CK_PCT_BAR */
+#endif /* KUI */
+
+/* Includes */
+
+#ifdef MINIX
+/* why? */
+#include <sys/types.h>
+#endif /* MINIX */
+
+/* Symbols for command source */
+
+#define CMD_KB 0 /* KeyBoard or standard input */
+#define CMD_TF 1 /* TAKE command File */
+#define CMD_MD 2 /* Macro Definition */
+
+/*
+ SET TRANSFER CANCELLATION command should be available in all versions.
+ But for now...
+*/
+#ifdef UNIX /* UNIX has it */
+#ifndef XFRCAN
+#define XFRCAN
+#endif /* XFRCAN */
+#endif /* UNIX */
+#ifdef VMS /* VMS has it */
+#ifndef XFRCAN
+#define XFRCAN
+#endif /* XFRCAN */
+#endif /* VMS */
+#ifdef datageneral /* DG AOS/VS has it */
+#ifndef XFRCAN
+#define XFRCAN
+#endif /* XFRCAN */
+#endif /* datageneral */
+#ifdef STRATUS /* Stratus VOS has it */
+#ifndef XFRCAN
+#define XFRCAN
+#endif /* XFRCAN */
+#endif /* STRATUS */
+#ifdef OSK /* OS-9 */
+#ifndef XFRCAN
+#define XFRCAN
+#endif /* XFRCAN */
+#endif /* OSK */
+
+#ifndef NOCMDL
+/* Extended Command-Line Option Codes (keep alphabetical by keyword) */
+
+#define XA_ANON 0 /* --anonymous */
+#define XA_BAFI 1 /* --bannerfile */
+#define XA_CDFI 2 /* --cdfile */
+#define XA_CDMS 3 /* --cdmessage */
+#define XA_HELP 4 /* --help */
+#define XA_HEFI 5 /* --helpfile */
+#define XA_IKFI 6 /* --xferfile */
+#define XA_IKLG 7 /* --xferlog */
+#define XA_ANFI 8 /* --initfile */
+#define XA_PERM 9 /* --permissions */
+#define XA_ROOT 10 /* --root */
+#define XA_SYSL 11 /* --syslog */
+#define XA_USFI 12 /* --userfile */
+#define XA_WTFI 13 /* --wtmpfile */
+#define XA_WTMP 14 /* --wtmplog */
+#define XA_TIMO 15 /* --timeout */
+#define XA_NOIN 16 /* --nointerrupts */
+#define XA_DBAS 17 /* --database */
+#define XA_DBFI 18 /* --dbfile */
+#define XA_PRIV 19 /* --privid */
+#define XA_VERS 20 /* --version */
+#define XA_NPRM 21 /* --noperms */
+#define XA_XPOS 22 /* Window position X coordinate */
+#define XA_YPOS 23 /* Window position Y coordinate */
+#define XA_FNAM 24 /* Font Facename */
+#define XA_FSIZ 25 /* Font Size */
+#define XA_TERM 26 /* Terminal type */
+#define XA_CSET 27 /* Remote Character Set */
+#define XA_ROWS 28 /* Screen rows (height) */
+#define XA_COLS 29 /* Screen columns (width) */
+#define XA_TEL 30 /* Make a Telnet connection */
+#define XA_FTP 31 /* Make an FTP connection */
+#define XA_SSH 32 /* Make an SSH connection */
+#define XA_USER 33 /* Username for login */
+#define XA_PASS 34 /* Password for login */
+#define XA_TITL 35 /* Window Title */
+#define XA_NOMN 36 /* No GUI Menu Bar */
+#define XA_NOTB 37 /* No GUI Tool Bar */
+#define XA_NOSB 38 /* No GUI Status Bar */
+#define XA_NOPUSH 39 /* Disable external commands */
+#define XA_NOSCROLL 40 /* Disable scrollback operations */
+#define XA_NOESCAPE 41 /* Disable escape from connect mode */
+#define XA_LOCK 42 /* All lockdown options */
+#define XA_NOBAR 43 /* No GUI Bars */
+#define XA_WMAX 44
+#define XA_WMIN 45
+#define XA_SCALE 46 /* GUI Scale Font */
+#define XA_CHGD 47 /* GUI Change Dimensions */
+#define XA_MAX 47 /* Highest extended option number */
+#endif /* NOCMDL */
+
+#ifndef NOICP
+/* Top Level Commands */
+/* Values associated with top-level commands must be 0 or greater. */
+
+#define XXBYE 0 /* BYE */
+#define XXCLE 1 /* CLEAR */
+#define XXCLO 2 /* CLOSE */
+#define XXCON 3 /* CONNECT */
+#define XXCPY 4 /* COPY */
+#define XXCWD 5 /* CWD (Change Working Directory) */
+#define XXDEF 6 /* DEFINE (a macro or variable) */
+#define XXDEL 7 /* (Local) DELETE */
+#define XXDIR 8 /* (Local) DIRECTORY */
+
+/* DIRECTORY Command options... */
+#define DIR_BRF 1 /* BRIEF */
+#define DIR_VRB 2 /* VERBOSE */
+#define DIR_PAG 3 /* PAGE */
+#define DIR_NOP 4 /* NOPAGE */
+#define DIR_ISO 5 /* ISODATE */
+#define DIR_DAT 6 /* ENGLISHDATE */
+#define DIR_HDG 7 /* HEADINGS */
+#define DIR_NOH 8 /* NOHEADINGS */
+#define DIR_SRT 9 /* SORT */
+#define DIR_NOS 10 /* NOSORT */
+#define DIR_ASC 11 /* ASCENDING */
+#define DIR_DSC 12 /* DESCENDING */
+#define DIR_REC 13 /* RECURSIVE */
+#define DIR_NOR 14 /* NORECURIVE */
+#define DIR_DOT 15 /* DOTFILES */
+#define DIR_NOD 16 /* NODOTFILES */
+#define DIR_DIR 17 /* DIRECTORIES */
+#define DIR_FIL 18 /* FILES */
+#define DIR_ALL 19 /* ALL */
+#define DIR_NAM 20 /* NAMES: */
+#define DIR_TYP 21 /* FILETYPES */
+#define DIR_NOT 22 /* NOFILETYPES */
+#define DIR_BUP 23 /* BACKUP */
+#define DIR_NOB 24 /* NOBACKUP */
+#define DIR_MSG 25 /* MESSAGE */
+#define DIR_NOM 26 /* NOMESSAGE */
+#define DIR_ARR 27 /* ARRAY: */
+#define DIR_NAR 28 /* NOARRAY */
+#define DIR_EXC 29 /* EXCEPT: */
+#define DIR_LAR 30 /* LARGER-THAN: */
+#define DIR_SMA 31 /* SMALLER-THAN: */
+#define DIR_AFT 32 /* AFTER: */
+#define DIR_NAF 33 /* NOT-AFTER: */
+#define DIR_BEF 34 /* BEFORE: */
+#define DIR_NBF 35 /* NOT-BEFORE: */
+#define DIR_SUM 36 /* SUMMARY */
+#define DIR_BIN 37 /* TYPE (only show binary or text) */
+#define DIR_LNK 38 /* follow symlinks */
+#define DIR_NLK 39 /* don't follow symlinks */
+#define DIR_OUT 40 /* Output file for listing */
+
+#define DIRS_NM 0 /* Sort directory by NAME */
+#define DIRS_DT 1 /* Sort directory by DATE */
+#define DIRS_SZ 2 /* Sort directory by SIZE */
+
+#define XXDIS 9 /* DISABLE */
+#define XXECH 10 /* ECHO */
+#define XXEXI 11 /* EXIT */
+#define XXFIN 12 /* FINISH */
+#define XXGET 13 /* GET */
+#define XXHLP 14 /* HELP */
+#define XXINP 15 /* INPUT */
+#define XXLOC 16 /* LOCAL */
+#define XXLOG 17 /* LOG */
+#define XXMAI 18 /* MAIL */
+#define XXMOU 19 /* (Local) MOUNT */
+#define XXMSG 20 /* (Local) MESSAGE */
+#define XXOUT 21 /* OUTPUT */
+#define XXPAU 22 /* PAUSE */
+#define XXPRI 23 /* (Local) PRINT */
+#define XXQUI 24 /* QUIT */
+#define XXREC 25 /* RECEIVE */
+#define XXREM 26 /* REMOTE */
+#define XXREN 27 /* (Local) RENAME */
+#define XXSEN 28 /* SEND */
+
+/* SEND switches */
+
+#define SND_BIN 0 /* Binary mode */
+#define SND_DEL 1 /* Delete after */
+#define SND_EXC 2 /* Except */
+#define SND_LAR 3 /* Larger than */
+#define SND_MAI 4 /* Mail */
+#define SND_BEF 5 /* Before */
+#define SND_AFT 6 /* After */
+#define SND_PRI 7 /* Print */
+#define SND_SHH 8 /* Quiet */
+#define SND_REC 9 /* Recursive */
+#define SND_SMA 10 /* Smaller than */
+#define SND_STA 11 /* Starting-from */
+#define SND_TXT 12 /* Text mode */
+#define SND_CMD 13 /* From command (pipe) */
+#define SND_RES 14 /* Resend/Recover */
+#define SND_PRO 15 /* Protocol */
+#define SND_ASN 16 /* As-name */
+#define SND_IMG 17 /* Image */
+#define SND_LBL 18 /* Labeled */
+#define SND_NAF 19 /* Not-After */
+#define SND_NBE 20 /* Not-Before */
+#define SND_FLT 21 /* Filter */
+#define SND_PTH 22 /* Pathnames */
+#define SND_NAM 23 /* Filenames */
+#define SND_MOV 24 /* MOVE to another directory */
+#define SND_REN 25 /* RENAME after sending */
+#define SND_CAL 26 /* Calibrate */
+#define SND_FIL 27 /* File containing list of files to send */
+#define SND_NOB 28 /* Skip backup files */
+#define SND_DOT 29 /* Include dot-files */
+#define SND_NOD 30 /* Exclude dot-files */
+#define SND_ARR 31 /* Send from array */
+#define SND_TYP 32 /* TYPE (only send text (or binary)) */
+#define SND_XPA 33 /* TRANSPARENT */
+#define SND_PIP 34 /* PIPES */
+#define SND_ERR 35 /* ERROR */
+#define SND_CSL 36 /* Local character set */
+#define SND_CSR 37 /* Remote character set */
+#define SND_UPD 38 /* Update */
+#define SND_COL 39 /* Collision */
+#define SND_NML 40 /* Namelist */
+#define SND_SRN 41 /* Server-Rename */
+#define SND_LNK 42 /* Follow links */
+#define SND_NLK 43 /* Don't follow links */
+#define SND_SIM 44 /* Simulate */
+#define SND_DIF 45 /* If dates Differ */
+#define SND_PAT 46 /* Pattern to use locally when GET'ing */
+#define SND_NLS 47 /* (FTP only) MGET forces NLST */
+#define SND_MLS 48 /* (FTP only) MGET forces MLSD */
+
+#define SND_MAX 48 /* Highest SEND switch */
+
+#define XXSER 29 /* SERVER */
+#define XXSET 30 /* SET */
+#define XXSHE 31 /* Command for SHELL */
+#define XXSHO 32 /* SHOW */
+#define XXSPA 33 /* (Local) SPACE */
+#define XXSTA 34 /* STATISTICS */
+#define XXSUB 35 /* (Local) SUBMIT */
+#define XXTAK 36 /* TAKE */
+#define XXTRA 37 /* TRANSMIT */
+#define XXTYP 38 /* (Local) TYPE */
+#define XXWHO 39 /* (Local) WHO */
+#define XXDIAL 40 /* (Local) DIAL */
+#define XXLOGI 41 /* (Local) SCRIPT */
+#define XXCOM 42 /* Comment */
+#define XXHAN 43 /* HANGUP */
+#define XXXLA 44 /* TRANSLATE */
+#define XXIF 45 /* IF */
+#define XXLBL 46 /* label */
+#define XXGOTO 47 /* GOTO */
+#define XXEND 48 /* END */
+#define XXSTO 49 /* STOP */
+#define XXDO 50 /* DO */
+#define XXPWD 51 /* PWD */
+#define XXTES 52 /* TEST */
+#define XXASK 53 /* ASK */
+#define XXASKQ 54 /* ASKQ */
+#define XXASS 55 /* ASSIGN */
+#define XXREI 56 /* REINPUT */
+#define XXINC 57 /* INCREMENT */
+#define XXDEC 59 /* DECREMENT */
+#define XXELS 60 /* ELSE */
+#define XXEXE 61 /* EXECUTE */
+#define XXWAI 62 /* WAIT */
+#define XXVER 63 /* VERSION */
+#define XXENA 64 /* ENABLE */
+#define XXWRI 65 /* WRITE */
+#define XXCLS 66 /* CLS (clear screen) */
+#define XXRET 67 /* RETURN */
+#define XXOPE 68 /* OPEN */
+#define XXREA 69 /* READ */
+#define XXON 70 /* ON */
+#define XXDCL 71 /* DECLARE */
+#define XXBEG 72 /* BEGIN (not used) */
+#define XXFOR 72 /* FOR */
+#define XXWHI 73 /* WHILE */
+#define XXIFX 74 /* Extended IF */
+#define XXCMS 75 /* SEND from command output (not yet) */
+#define XXCMR 76 /* RECEIVE to a command's input (not yet) */
+#define XXCMG 77 /* GET to a command's input (not yet) */
+#define XXSUS 78 /* SUSPEND */
+#define XXERR 79 /* ERROR */
+#define XXMSE 80 /* MSEND */
+#define XXBUG 81 /* BUG */
+#define XXPAD 82 /* PAD (as in X.25 PAD) ANYX25 */
+#define XXRED 83 /* REDIAL */
+#define XXGTA 84 /* _getargs (invisible internal) */
+#define XXPTA 85 /* _putargs (invisible internal) */
+#define XXGOK 86 /* GETOK - Ask for YES/NO */
+#define XXTEL 87 /* TELNET */
+#define XXASX 88 /* _ASSIGN (evaluates var name) */
+#define XXDFX 89 /* _DEFINE (evaluates var name) */
+#define XXPNG 90 /* PING (for TCP/IP) */
+#define XXINT 91 /* INTRODUCTION */
+#define XXCHK 92 /* CHECK (a feature) */
+#define XXMSL 93 /* MSLEEP, MPAUSE (millisecond sleep) */
+#define XXNEW 94 /* NEWS */
+#define XXAPC 95 /* APC */
+#define XXFUN 96 /* REDIRECT */
+#define XXWRL 97 /* WRITE-LINE */
+#define XXREXX 98 /* Rexx */
+#define XXMINP 100 /* MINPUT */
+#define XXRSEN 101 /* RESEND */
+#define XXPSEN 102 /* PSEND */
+#define XXGETC 103 /* GETC */
+#define XXEVAL 104 /* EVALUATE */
+#define XXFWD 105 /* FORWARD */
+#define XXUPD 106 /* UPDATES */
+#define XXBEEP 107 /* BEEP */
+#define XXMOVE 108 /* MOVE */
+#define XXMMOVE 109 /* MMOVE */
+#define XXREGET 110 /* REGET */
+#define XXLOOK 111 /* LOOKUP */
+#define XXVIEW 112 /* VIEW (terminal buffer) */
+#define XXANSW 113 /* ANSWER (the phone) */
+#define XXPDIA 114 /* PDIAL (partial dial) */
+#define XXASC 115 /* ASCII / TEXT */
+#define XXBIN 116 /* BINARY */
+#define XXFTP 117 /* FTP */
+#define XXMKDIR 118 /* MKDIR */
+#define XXRMDIR 119 /* RMDIR */
+#define XXTELOP 120 /* TELOPT */
+#define XXRLOG 121 /* RLOGIN */
+#define XXUNDEF 122 /* UNDEFINE */
+#define XXNPSH 123 /* NOPUSH */
+#define XXADD 124 /* ADD */
+#define ADD_SND 0 /* ADD SEND-LIST */
+#define ADD_BIN 1 /* ADD BINARY-PATTERNS */
+#define ADD_TXT 2 /* ADD TEXT-PATTERNS */
+#define XXLOCAL 125 /* LOCAL */
+#define XXKERMI 126 /* KERMIT */
+#define XXDATE 127 /* DATE */
+#define XXSWIT 128 /* SWITCH */
+#define XXXFWD 129 /* _FORWARD */
+#define XXSAVE 130 /* SAVE */
+#define XXXECH 131 /* XECHO */
+#define XXRDBL 132 /* READBLOCK */
+#define XXWRBL 133 /* WRITEBLOCK */
+#define XXRETR 134 /* RETRIEVE */
+#define XXEIGHT 135 /* EIGHTBIT */
+#define XXEDIT 136 /* EDIT */
+#define XXCSEN 137 /* CSEND */
+#define XXCREC 138 /* CRECEIVE */
+#define XXCQ 139 /* CQ */
+#define XXTAPI 140 /* TAPI actions such as dialogs */
+#define XXRES 141 /* RESET */
+#define XXCGET 142 /* CGET */
+#define XXFUNC 143 /* Function (help-only) */
+#define XXKVRB 144 /* Kverb (help-only) */
+#define XXBROWS 145 /* BROWSE */
+#define XXMGET 146 /* MGET */
+#define XXBACK 147 /* BACK */
+#define XXWHERE 148 /* WHERE */
+#define XXREDO 149 /* REDO */
+#define XXEXCH 150 /* EXCHANGE */
+#define XXREMV 151 /* REMOVE */
+#define XXCHRT 152 /* CHROOT */
+#define XXOPTS 153 /* Options (help-only) */
+#define XXAUTH 154 /* AUTHORIZE */
+#define XXPIPE 155 /* PIPE */
+#define XXSSH 156 /* SSH */
+#define XXTERM 157 /* TERMINAL */
+#define XXSTATUS 158 /* STATUS */
+#define XXCPR 159 /* COPYRIGHT */
+#define XXASSER 160 /* ASSERT */
+#define XXSUCC 161 /* SUCCEED */
+#define XXFAIL 162 /* FAIL */
+#define XXLOGIN 163 /* LOGIN */
+#define XXLOGOUT 164 /* LOGOUT */
+#define XXNLCL 165 /* NOLOCAL */
+#define XXWILD 166 /* WILDCARDS (help-only) */
+
+/* One-word synonyms for REMOTE commands */
+
+#define XXRCPY 167 /* REMOTE COPY */
+#define XXRCWD 168 /* Change Working Directory */
+#define XXRDEL 169 /* Delete */
+#define XXRDIR 170 /* Directory */
+#define XXRHLP 171 /* Help */
+#define XXRHOS 172 /* Host */
+#define XXRKER 173 /* Kermit */
+#define XXRMSG 174 /* Message */
+#define XXRPRI 175 /* Print */
+#define XXRREN 176 /* Rename */
+#define XXRSET 177 /* Set */
+#define XXRSPA 178 /* Space */
+#define XXRSUB 179 /* Submit */
+#define XXRTYP 180 /* Type */
+#define XXRWHO 181 /* Who */
+#define XXRPWD 182 /* Print Working Directory */
+#define XXRQUE 183 /* Query */
+#define XXRASG 184 /* Assign */
+#define XXRMKD 185 /* mkdir */
+#define XXRRMD 186 /* rmdir */
+#define XXRXIT 187 /* Exit */
+
+/* Top-Level commands, cont'd... */
+
+#define XXGETK 188 /* GETKEYCODE */
+#define XXMORE 189 /* MORE */
+#define XXXOPTS 190 /* Extended-Options (help-only) */
+#define XXIKSD 191 /* IKSD */
+#define XXRESET 192 /* RESET */
+#define XXASSOC 193 /* ASSOCIATE */
+
+#define ASSOC_FC 0 /* ASSOCIATE FILE-CHARACTER-SET */
+#define ASSOC_TC 1 /* ASSOCIATE TRANSFER-CHARACTER-SET */
+
+#define XXSHIFT 194 /* SHIFT */
+#define XXMAN 195 /* MANUAL */
+#define XXLS 196 /* LS */
+#define XXSORT 197 /* SORT */
+#define XXPURGE 198 /* PURGE */
+#define XXFAST 199 /* FAST */
+#define XXCAU 200 /* CAUTIOUS */
+#define XXROB 201 /* ROBUST */
+#define XXMACRO 202 /* Immediate macro */
+#define XXSCRN 203 /* SCREEN */
+#define XXLNOUT 204 /* LINEOUT */
+#define XX_INCR 205 /* _INCREMENT */
+#define XX_DECR 206 /* _DECREMENT */
+#define XX_EVAL 207 /* _EVALUATE */
+#define XXARRAY 208 /* ARRAY */
+#define XXPARSE 209 /* PARSE */
+#define XXHTTP 210 /* HTTP */
+
+#ifdef CKCHANNELIO
+#define XXFILE 211 /* FILE */
+#define XXF_CL 212 /* FCLOSE */
+#define XXF_FL 213 /* FFLUSH */
+#define XXF_LI 214 /* FLIST */
+#define XXF_OP 215 /* FOPEN */
+#define XXF_RE 216 /* FREAD */
+#define XXF_SE 217 /* FSEEK */
+#define XXF_ST 218 /* FSTATUS */
+#define XXF_WR 219 /* FWRITE */
+#define XXF_RW 220 /* FREWIND */
+#define XXF_CO 221 /* FCOUNT */
+#endif /* CKCHANNELIO */
+
+#define XXEXEC 222 /* exec() */
+#define XXTRACE 223 /* TRACE */
+#define XXNOTAV 224 /* The "not available" command */
+#define XXPTY 225 /* PTY (like PIPE) */
+#define XXCHMOD 226 /* CHMOD */
+#define XXPROMP 227 /* PROMPT */
+#define XXFEACH 228 /* FOREACH */
+#define XXGREP 229 /* GREP */
+#define XXSEXP 230 /* S-Expression */
+#define XXUNDCL 231 /* UNDECLARE */
+#define XXVOID 232 /* VOID */
+#define XXPUT 233 /* PUT */
+#define XXUNDFX 234 /* _UNDEFINE */
+#define XXHEAD 235 /* HEAD */
+#define XXTAIL 236 /* TAIL */
+#define XXDEBUG 237 /* DEBUG */
+#define XXLEARN 238 /* LEARN */
+#define XXPAT 239 /* PATTERNS (help only) */
+
+#define XXCDUP 240 /* CDUP (Change working directory upwards) */
+#define XXRCDUP 241 /* REMOTE CDUP */
+#define XXCAT 242 /* CAT (= TYPE /NOPAGE) */
+#define XXFIREW 243 /* FIREWALL (help only) */
+
+#define XXLCWD 244 /* Local C(W)D */
+#define XXLCDU 245 /* Local CDUP */
+#define XXLPWD 246 /* Local PWD */
+#define XXLDEL 247 /* Local DELETE */
+#define XXLDIR 248 /* Local DIRECTORY */
+#define XXLREN 249 /* Local RENAME */
+#define XXLMKD 250 /* Local MKDIR */
+#define XXLRMD 251 /* Local RMDIR */
+#define XXUSER 252 /* (FTP) USER */
+#define XXACCT 253 /* (FTP) ACCOUNT */
+#define XXLINK 254 /* LINK source destination */
+#define XXORIE 255 /* ORIENT(ATION) */
+#define XXDIALER 256 /* DIALER */
+#define XXKCD 257 /* KCD */
+#define XXSITE 258 /* (FTP) SITE */
+#define XXPASV 259 /* (FTP) PASSIVE */
+#define XXCONT 260 /* CONTINUE */
+#define XXNSCR 261 /* NOSCROLL */
+#define XXSFTP 262 /* SFTP */
+#define XXSKRM 263 /* SKERMIT */
+
+/* End of Top-Level Commands */
+
+#define SCN_CLR 0 /* SCREEN CLEAR */
+#define SCN_CLE 1 /* SCREEN CLEOL */
+#define SCN_MOV 2 /* SCREEN MOVE */
+
+/* ARRAY operations */
+
+#define ARR_DCL 0 /* Declare */
+#define ARR_CPY 1 /* Copy */
+#define ARR_RSZ 2 /* Resize */
+#define ARR_SRT 3 /* Sort */
+#define ARR_CLR 4 /* Clear */
+#define ARR_SEA 5 /* Search */
+#define ARR_DST 6 /* Destroy */
+#define ARR_SHO 7 /* Show */
+#define ARR_SET 8 /* Set */
+#define ARR_EQU 9 /* Equate */
+
+/* SORT options */
+
+#define SRT_CAS 0 /* /CASE */
+#define SRT_KEY 1 /* /KEY:n */
+#define SRT_REV 2 /* /REVERSE */
+#define SRT_RNG 3 /* /RANGE:n:m */
+#define SRT_NUM 4 /* /NUMERIC */
+
+/* PURGE command options */
+
+#define PU_KEEP 0 /* /KEEP: */
+#define PU_LIST 1 /* /LIST */
+#define PU_PAGE 2 /* /PAGE */
+#define PU_NOPA 3 /* /NOPAGE */
+#define PU_NODE 4 /* /SIMULATE */
+#define PU_DELE 5 /* /DELETE */
+#define PU_NOLI 6 /* /NOLIST */
+#define PU_QUIE 7 /* /QUIET (= NOLIST) */
+#define PU_VERB 8 /* /VERBOSE (= LIST) */
+#define PU_ASK 9 /* /ASK */
+#define PU_NASK 10 /* /NOASK */
+#define PU_LAR 11 /* /LARGER-THAN: */
+#define PU_SMA 12 /* /SMALLER-THAN: */
+#define PU_AFT 13 /* /AFTER: */
+#define PU_NAF 14 /* /NOT-AFTER: */
+#define PU_BEF 15 /* /BEFORE: */
+#define PU_NBF 16 /* /NOT-BEFORE: */
+#define PU_EXC 17 /* /EXCEPT: */
+#define PU_RECU 18 /* /RECURSIVE */
+#define PU_DOT 19 /* /DOTFILES */
+#define PU_NODOT 20 /* /NODOTFILES */
+#define PU_HDG 21 /* /HEADING */
+#define PU_NOH 22 /* /NOHEADING */
+
+/* DELETE command options */
+
+#define DEL_NOL 0 /* /NOLIST */
+#define DEL_LIS 1 /* /LIST */
+#define DEL_HDG 2 /* /HEADINGS */
+#define DEL_NOH 2 /* /NOHEADINGS */
+#define DEL_BEF 3 /* /BEFORE: */
+#define DEL_NBF 4 /* /NOT-BEFORE: */
+#define DEL_AFT 5 /* /AFTER: */
+#define DEL_NAF 6 /* /NOT-AFTER: */
+#define DEL_DOT 7 /* /DOTFILES */
+#define DEL_NOD 8 /* /NODOTFILES */
+#define DEL_EXC 9 /* /EXCEPT:*/
+#define DEL_PAG 10 /* /PAGE */
+#define DEL_NOP 11 /* /NOPAGE */
+#define DEL_REC 12 /* /RECURSIVE */
+#define DEL_NOR 13 /* /NORECURSIVE */
+#define DEL_VRB 14 /* /VERBOSE */
+#define DEL_QUI 15 /* /QUIET */
+#define DEL_SMA 16 /* /SMALLER-THAN: */
+#define DEL_LAR 17 /* /LARGER-THAN: */
+#define DEL_SIM 18 /* /SIMULATE */
+#define DEL_ASK 19 /* /ASK */
+#define DEL_NAS 20 /* /NOASK */
+#define DEL_SUM 21 /* /SUMMARY */
+#define DEL_DIR 22 /* /DIRECTORY */
+#define DEL_ALL 23 /* /ALL */
+#define DEL_TYP 24 /* /TYPE: */
+#define DEL_LNK 25 /* /FOLLOWLINKS */
+#define DEL_NLK 26 /* /NOFOLLOWLINKS */
+
+/* FILE operations */
+
+#define FIL_OPN 0 /* OPEN */
+#define FIL_CLS 1 /* CLOSE */
+#define FIL_REA 2 /* READ */
+#define FIL_GET 3 /* GET */
+#define FIL_WRI 4 /* WRITE */
+#define FIL_REW 5 /* REWIND */
+#define FIL_LIS 6 /* LIST */
+#define FIL_FLU 7 /* FLUSH */
+#define FIL_SEE 8 /* SEEK */
+#define FIL_STA 9 /* STATUS */
+#define FIL_COU 10 /* COUNT */
+
+/* OPEN / CLOSE items */
+
+#define OPN_FI_R 1 /* FILE READ */
+#define OPN_FI_W 2 /* FILE WRITE */
+#define OPN_FI_A 3 /* FILE APPEND */
+#define OPN_PI_R 4 /* PIPE READ */
+#define OPN_PI_W 5 /* PIPE WRITE */
+#define OPN_PT_R 6 /* PTY READ */
+#define OPN_PT_W 7 /* PTY WRITE */
+#define OPN_SER 8 /* PORT or LINE */
+#define OPN_NET 9 /* HOST */
+
+/* KERBEROS command switches */
+
+#define KRB_S_VE 0 /* /VERSION */
+#define KRB_S_CA 1 /* /CACHE: */
+#define KRB_S_MAX 1 /* Highest KERBEROS switch number */
+
+#ifdef CK_KERBEROS
+
+/* KERBEROS actions */
+
+#define KRB_A_IN 0 /* INITIALIZE */
+#define KRB_A_DE 1 /* DESTROY */
+#define KRB_A_LC 2 /* LIST-CREDENTIALS */
+
+/* KERBEROS INIT switches */
+
+#define KRB_I_FW 0 /* /FORWARDABLE */
+#define KRB_I_LF 1 /* /LIFETIME: */
+#define KRB_I_PD 2 /* /POSTDATE: */
+#define KRB_I_PR 3 /* /PROXIABLE */
+#define KRB_I_RB 4 /* /RENEWABLE: */
+#define KRB_I_RN 5 /* /RENEW */
+#define KRB_I_SR 6 /* /SERVICE: */
+#define KRB_I_VA 7 /* /VALIDATE */
+#define KRB_I_RL 8 /* /REALM: */
+#define KRB_I_IN 9 /* /INSTANCE: */
+#define KRB_I_PW 10 /* /PASSWORD: */
+#define KRB_I_PA 11 /* /PREAUTH */
+#define KRB_I_VB 12 /* /VERBOSE */
+#define KRB_I_BR 13 /* /BRIEF */
+#define KRB_I_NFW 14 /* /NOT-FORWARDABLE */
+#define KRB_I_NPR 15 /* /NOT-PROXIABLE */
+#define KRB_I_NPA 16 /* /NOT-PREAUTH */
+#define KRB_I_K4 17 /* /KERBEROS4 (should k5 get k4 as well) */
+#define KRB_I_NK4 18 /* /NO-KERBEROS4 */
+#define KRB_I_POP 19 /* /POPUP */
+#define KRB_I_ADR 20 /* /ADDRESSES: */
+#define KRB_I_NAD 21 /* /NO-ADDRESSES */
+#define KRB_I_MAX 21 /* Highest KERBEROS INIT switch number */
+
+#endif /* CK_KERBEROS */
+
+/* SET parameters */
+
+#define XYBREA 0 /* BREAK simulation */
+#define XYCHKT 1 /* Block check type */
+#define XYDEBU 2 /* Debugging */
+#define XYDELA 3 /* Delay */
+#define XYDUPL 4 /* Duplex */
+#define XYEOL 5 /* End-Of-Line (packet terminator) */
+#define XYESC 6 /* Escape character */
+#define XYFILE 7 /* File Parameters (see ckcker.h for values) */
+ /* (this space available) */
+#define XYFLOW 9 /* Flow Control */
+#define XYHAND 10 /* Handshake */
+#define XYIFD 11 /* Incomplete File Disposition */
+#define XYIMAG 12 /* "Image Mode" */
+#define XYINPU 13 /* INPUT command parameters */
+#define XYLEN 14 /* Maximum packet length to send */
+#define XYLINE 15 /* Communication line to use */
+
+/* SET LINE / SET HOST command switches */
+
+#define SL_CNX 0 /* /CONNECT */
+#define SL_SRV 1 /* /SERVER */
+#define SL_SHR 2 /* /SHARE */
+#define SL_NSH 3 /* /NOSHARE */
+#define SL_BEE 4 /* /BEEP */
+#define SL_ANS 5 /* /ANSWER */
+#define SL_DIA 6 /* /DIAL:xxx */
+#define SL_SPD 7 /* /SPEED:xxx */
+#define SL_FLO 8 /* /FLOW:xxx */
+#define SL_TMO 9 /* /TIMEOUT:xxx */
+#define SL_CMD 10 /* /COMMAND */
+#define SL_PSW 11 /* /PASSWORD:xxx */
+#define SL_IKS 12 /* /KERMIT-SERVICE */
+#define SL_NET 13 /* /NETWORK-TYPE:xxx */
+#define SL_ENC 14 /* /ENCRYPT:type (telnet) /ENCRYPT (rlogin) */
+#define SL_KRB4 15 /* /KERBEROS 4 (rlogin/telnet) */
+#define SL_KRB5 16 /* /KERBEROS 5 (rlogin/telnet) */
+#define SL_SRP 17 /* /SRP (telnet) */
+#define SL_NTLM 18 /* /NTLM (telnet) */
+#define SL_SSL 19 /* /SSL (telnet) */
+#define SL_UID 20 /* /USERID:xxxx */
+#define SL_AUTH 21 /* /AUTH:type */
+#define SL_WAIT 22 /* /WAIT */
+#define SL_NOWAIT 23 /* /NOWAIT */
+#define SL_PTY 24 /* /PTY */
+
+#define XYLOG 16 /* Log file */
+#define XYMARK 17 /* Start of Packet mark */
+#define XYNPAD 18 /* Amount of padding */
+#define XYPADC 19 /* Pad character */
+#define XYPARI 20 /* Parity */
+#define XYPAUS 21 /* Interpacket pause */
+#define XYPROM 22 /* Program prompt string */
+#define XYQBIN 23 /* 8th-bit prefix */
+#define XYQCTL 24 /* Control character prefix */
+#define XYREPT 25 /* Repeat count prefix */
+#define XYRETR 26 /* Retry limit */
+#define XYSPEE 27 /* Line speed (baud rate) */
+#define XYTACH 28 /* Character to be doubled */
+#define XYTIMO 29 /* Timeout interval */
+#define XYMODM 30 /* Modem - also see XYDIAL */
+
+#define XYSEND 31 /* SET SEND parameters */
+#define XYRECV 32 /* SET RECEIVE parameters */
+#define XYTERM 33 /* SET TERMINAL parameters */
+#define XYTBYT 0 /* Terminal Bytesize (7 or 8) */
+#define XYTTYP 1 /* Terminal emulation Type */
+#define TT_NONE 0 /* NONE, no emulation */
+#ifdef OS2
+/*
+ Note, the symbols for VT and VT-like terminals should be in ascending
+ numerical order, so that higher ones can be treated as supersets of
+ lower ones with respect to capabilities.
+
+ This is no longer the case with the influx of new terminal types.
+ Just make sure that the ISXXXXX() macros include the proper family
+ groups.
+*/
+#define TT_DG200 1 /* Data General 200 */
+#define TT_DG210 2 /* Data General 210 */
+#define TT_DG217 3 /* Data General 217 */
+#define TT_HP2621 4 /* Hewlett-Packard 2621A */
+#define TT_HPTERM 5 /* Hewlett-Packard Console */
+#define TT_HZL1500 6 /* Hazeltine 1500 */
+#define TT_VC4404 7 /* Volker Craig VC4404/404 */
+#define TT_WY30 8 /* WYSE-30/30+ */
+#define TT_WY50 9 /* WYSE-50/50+ */
+#define TT_WY60 10 /* WYSE-60 */
+#define TT_WY160 11 /* WYSE-160 */
+#define TT_QNX 12 /* QNX */
+#define TT_QANSI 13 /* QNX Ansi emulation */
+#define TT_VT52 14 /* DEC VT-52 */
+#define TT_H19 15 /* Heath-19 */
+#define TT_IBM31 16 /* IBM 31xx */
+#define TT_SCOANSI 17 /* SCOANSI (Unix mode) */
+#define TT_AT386 18 /* Unixware AT386 (Unix mode) */
+#define TT_ANSI 19 /* IBM ANSI.SYS (BBS) */
+#define TT_VIP7809 20 /* Honeywell VIP7809 */
+#define TT_LINUX 21 /* Linux Console */
+#define TT_HFT 22 /* IBM High Function Terminal */
+#define TT_AIXTERM 23 /* IBM AIXterm */
+#define TT_SUN 24 /* SUN Console */
+#define TT_BA80 25 /* Nixdorf BA80 */
+#define TT_BEOS 26 /* BeOS Ansi */
+#define TT_VT100 27 /* DEC VT-100 */
+#define TT_VT102 28 /* DEC VT-102 */
+#define TT_VT220 29 /* DEC VT-220 */
+#define TT_VT220PC 30 /* DEC VT-220 with PC keyboard */
+#define TT_VT320 31 /* DEC VT-320 */
+#define TT_VT320PC 32 /* DEC VT-320 with PC keyboard */
+#define TT_WY370 33 /* WYSE 370 ANSI Terminal */
+#define TT_97801 34 /* Sinix 97801-5xx terminal */
+#define TT_AAA 35 /* Ann Arbor Ambassador */
+#define TT_TVI910 36 /* TVI 910+ */
+#define TT_TVI925 37 /* TVI 925 */
+#define TT_TVI950 38 /* TVI950 */
+#define TT_ADM3A 39 /* LSI ADM 3A */
+#define TT_ADM5 40 /* LSI ADM 5 */
+#define TT_VTNT 41 /* Microsoft NT Virtual Terminal */
+#define TT_MAX TT_VTNT
+#define TT_VT420 96 /* DEC VT-420 */
+#define TT_VT520 97 /* DEC VT-520/525 */
+#define TT_TEK40 99 /* Tektronix 401x */
+#define TT_KBM_EMACS TT_MAX+1
+#define TT_KBM_HEBREW TT_MAX+2
+#define TT_KBM_RUSSIAN TT_MAX+3
+#define TT_KBM_WP TT_MAX+4
+
+#define ISAAA(x) (x == TT_AAA)
+#define ISANSI(x) (x >= TT_SCOANSI && x <= TT_ANSI)
+#define ISBA80(x) (x == TT_BA80)
+#define ISBEOS(x) (x == TT_BEOS)
+#define ISQNX(x) (x == TT_QNX)
+#define ISQANSI(x) (x == TT_QANSI)
+#define ISLINUX(x) (x == TT_LINUX)
+#define ISSCO(x) (x == TT_SCOANSI)
+#define ISAT386(x) (x == TT_AT386)
+#define ISAVATAR(x) (x == TT_ANSI)
+#define ISSUN(x) (x == TT_SUN)
+#define ISUNIXCON(x) (x == TT_SCOANSI || x == TT_AT386 || \
+ x == TT_LINUX || x == TT_SUN)
+#define ISDG200(x) (x >= TT_DG200 && x <= TT_DG217)
+#define ISHZL(x) (x == TT_HZL1500)
+#define ISH19(x) (x == TT_H19)
+#define ISIBM31(x) (x == TT_IBM31)
+#define ISTVI(x) (x >= TT_TVI910 && x <= TT_TVI950)
+#define ISTVI910(x) (x == TT_TVI910)
+#define ISTVI925(x) (x == TT_TVI925)
+#define ISTVI950(x) (x == TT_TVI950)
+#define ISVT52(x) (x == TT_VT52 || x == TT_H19)
+#ifdef COMMENT
+#define ISVT520(x) (x == TT_VT520)
+#define ISVT420(x) (x >= TT_VT420 && x <= TT_VT520)
+#else /* COMMENT */
+/* Since we do not yet support 420/520 extend 320 */
+#define ISVT520(x) (ISVT320(x))
+#define ISVT420(x) (ISVT320(x))
+#endif /* COMMENT */
+#define ISVT320(x) (x >= TT_VT320 && x <= TT_AAA)
+#define ISVT220(x) (x >= TT_VT220 && x <= TT_AAA || \
+ ISBEOS(x) || ISQANSI(x) || \
+ ISLINUX(x) || ISSUN(x))
+#define ISVT102(x) (x >= TT_VIP7809 && x <= TT_BA80 || \
+ x == TT_VT102 || ISVT220(x))
+#define ISVT100(x) (x == TT_VT100 || ISVT102(x))
+#define ISWY30(x) (x == TT_WY30)
+#define ISWYSE(x) (x >= TT_WY30 && x <= TT_WY160)
+#define ISWY50(x) (x == TT_WY50)
+#define ISWY60(x) (x == TT_WY60 || x == TT_WY160)
+#define ISWY160(x) (x == TT_WY160)
+#define ISWY370(x) (x == TT_WY370)
+#define ISVC(x) (x == TT_VC4404)
+#define ISHP(x) (x == TT_HPTERM || x == TT_HP2621)
+#define ISHPTERM(x) (x == TT_HPTERM)
+#define ISVIP(x) (x == TT_VIP7809)
+#define IS97801(x) (x == TT_97801)
+#define ISHFT(x) (x == TT_HFT || x == TT_AIXTERM)
+#define ISAIXTERM(x) (x == TT_AIXTERM)
+#define ISTEK(x) (x == TT_TEK40)
+#define ISVTNT(x) (x == TT_VTNT)
+#define ISADM3A(x) (x == TT_ADM3A)
+#define ISADM5(x) (x == TT_ADM5)
+#endif /* OS2 */
+
+#define XYTCS 2 /* Terminal Character Set */
+#define XYTSO 3 /* Terminal Shift-In/Shift-Out */
+#define XYTNL 4 /* Terminal newline mode */
+#ifdef OS2
+#define XYTCOL 5 /* Terminal colors */
+#endif /* OS2 */
+#define XYTEC 6 /* Terminal echo = duplex = local-echo */
+#ifdef OS2
+#define XYTCUR 7 /* Terminal cursor */
+#define TTC_ULINE 0
+#define TTC_HALF 1
+#define TTC_BLOCK 2
+#define XYTARR 8 /* Terminal arrow-key mode */
+#define XYTKPD 9 /* Terminal keypad mode */
+#define TTK_NORM 0 /* Normal mode for arrow / keyad keys */
+#define TTK_APPL 1 /* Application mode for arrow / keyad keys */
+#define XYTWRP 10 /* Terminal wrap */
+#endif /* OS2 */
+#define XYTCRD 11 /* Terminal CR-display */
+#define XYTANS 12 /* Terminal answerback */
+#ifdef OS2
+#define XYSCRS 13 /* Terminal scrollback buffer size */
+#endif /* OS2 */
+#define XYTAPC 14 /* Terminal APC */
+#ifdef OS2
+#define XYTBEL 15 /* Terminal Bell */
+#endif /* OS2 */
+#define XYTDEB 16 /* Terminal Debug */
+#ifdef OS2
+#define XYTROL 17 /* Terminal Rollback */
+#define TTR_OVER 0 /* Rollback Overwrite */
+#define TTR_INSERT 1 /* Rollback Insert */
+#define TTR_KEYS 2 /* Keystrokes */
+#define TTRK_IGN 0 /* Ignore */
+#define TTRK_RST 2 /* Restore and Send */
+#define TTRK_SND 1 /* Send */
+#define XYTCTS 18 /* Terminal Transmit-Timeout */
+#define XYTCPG 19 /* Terminal Code Page */
+#ifdef COMMENT
+#define XYTHCU 20 /* Terminal Hide-Cursor */
+#endif /* COMMENT */
+#define XYTPAC 21 /* Terminal Output-Pacing */
+#define XYTMOU 22 /* Terminal Mouse */
+#endif /* OS2 */
+#define XYTHIG 23 /* Terminal Width */
+#define XYTWID 24 /* Terminal Height */
+#ifdef OS2
+#define XYTUPD 25 /* Terminal Screen-update */
+#define TTU_FAST 0 /* FAST but jerky */
+#define TTU_SMOOTH 1 /* SMOOTH but slow */
+#define XYTFON 26 /* Terminal Full screen Font */
+#define TTF_ROM 0 /* ROM font */
+#define TTF_CY1 1 /* CYRILL1 font */
+#define TTF_CY2 2 /* CYRILL2 font */
+#define TTF_CY3 3 /* CYRILL3 font */
+#define TTF_111 111 /* CP111 font */
+#define TTF_112 112 /* CP112 font */
+#define TTF_113 113 /* CP113 font */
+#define TTF_437 437 /* CP437 font */
+#define TTF_850 850 /* CP850 font */
+#define TTF_851 851 /* CP851 font */
+#define TTF_852 852 /* CP852 font */
+#define TTF_853 853 /* CP853 font */
+#define TTF_860 860 /* CP860 font */
+#define TTF_861 861 /* CP861 font */
+#define TTF_862 862 /* CP862 font */
+#define TTF_863 863 /* CP863 font */
+#define TTF_864 864 /* CP864 font */
+#define TTF_865 865 /* CP865 font */
+#define TTF_866 866 /* CP866 font */
+#define TTF_880 880 /* CP880 font */
+#define TTF_881 881 /* CP881 font */
+#define TTF_882 882 /* CP882 font */
+#define TTF_883 883 /* CP883 font */
+#define TTF_884 884 /* CP884 font */
+#define TTF_885 885 /* CP885 font */
+#define XYTVCH 27 /* SET TERMINAL VIDEO-CHANGE */
+#define TVC_DIS 0 /* DISABLED */
+#define TVC_ENA 1 /* ENABLED */
+#define TVC_W95 2 /* WIN95-SAFE */
+#endif /* OS2 */
+#define XYTAUTODL 28 /* SET TERMINAL AUTODOWNLOAD */
+#define TAD_OFF 0 /* OFF */
+#define TAD_ON 1 /* ON */
+#define TAD_K 2 /* KERMIT */
+#define TAD_Z 3 /* ZMODEM */
+#define TAD_X_STR 0 /* STRING */
+#define TAD_X_DETECT 1 /* DETECTION ( PACKET, STRING ) */
+#define TAD_X_C0 2 /* C0 CONFLICTS */
+#define TAD_ERR 4 /* ERROR { STOP, CONTINUE } */
+#define TAD_ASK 5 /* ASK (dialog) */
+#define XYTAUTOUL 29 /* SET TERMINAL AUTOUPLOAD */
+#ifdef OS2
+#define XYTATTBUG 30 /* SET TERM ATTR-BUG */
+#define XYTSTAT 31 /* SET TERM STATUSLINE */
+#endif /* OS2 */
+#define XYTESC 32 /* SET TERM ESCAPE-CHARACTER */
+#define XYTCTRL 33 /* SET TERM CONTROLS */
+#ifdef OS2
+#define XYTATTR 34 /* SET TERM ATTRIBUTE representation */
+#define XYTSGRC 35 /* SET TERM SGRCOLORS */
+#endif /* OS2 */
+#define XYTLCS 36 /* SET TERM LOCAL-CHARACTER-SET */
+#define XYTRCS 37 /* SET TERM REMOTE-CHARACTER-SET */
+#define XYTUNI 38 /* SET TERM UNICODE */
+#define XYTKEY 39 /* SET TERM KEY */
+#ifdef OS2
+#define XYTSEND 40 /* SET TERM SEND-DATA */
+#define XYTSEOB 41 /* SET TERM SEND-END-OF-BLOCK */
+#define XYTMBEL 42 /* SET TERM MARGIN-BELL */
+#endif /* OS2 */
+#define XYTIDLE 43 /* SET TERM IDLE-SEND */
+#ifdef OS2
+#define XYTKBMOD 44 /* SET TERM KEYBOARD-MODE */
+#define XYTUNX 45 /* SET TERM UNIX-MODE (DG) */
+#define XYTASCRL 46 /* SET TERM AUTOSCROLL */
+#define XYTAPAGE 47 /* SET TERM AUTOPAGE */
+#endif /* OS2 */
+#define XYTRIGGER 48 /* SET TERM TRIGGER */
+#ifdef OS2
+#define XYTPCTERM 49 /* SET TERM PCTERM */
+#define XYTOPTI 50 /* SET TERM SCREEN-OPTIMIZE */
+#define XYTSCNM 51 /* SET TERM SCREEN-MODE (DECSCNM) */
+#endif /* OS2 */
+#define XYTPRN 52 /* SET TERM PRINT {AUTO, COPY, OFF} */
+#ifdef OS2
+#define XYTSAC 53 /* SET TERM SPACING-ATTRIBUTE-CHARACTER (inv) */
+#define XYTSNIPM 54 /* SET TERM SNI-AUTOROLL */
+#define XYTSNISM 55 /* SET TERM SNI-SCROLLMODE */
+#define XYTKBDGL 56 /* SET TERM KBD-FOLLOWS-GL/GR */
+#define XYTVTLNG 57 /* SET TERM VT-LANGUAGE */
+#define VTL_NORTH_AM 1
+#define VTL_BRITISH 2
+#define VTL_BELGIAN 3
+#define VTL_FR_CAN 4
+#define VTL_DANISH 5
+#define VTL_FINNISH 6
+#define VTL_GERMAN 7
+#define VTL_DUTCH 8
+#define VTL_ITALIAN 9
+#define VTL_SW_FR 10
+#define VTL_SW_GR 11
+#define VTL_SWEDISH 12
+#define VTL_NORWEGIA 13
+#define VTL_FRENCH 14
+#define VTL_SPANISH 15
+#define VTL_PORTUGES 16
+#define VTL_HEBREW 19
+#define VTL_GREEK 22
+#define VTL_CANADIAN 28
+#define VTL_TURK_Q 29
+#define VTL_TURK_F 30
+#define VTL_HUNGARIA 31
+#define VTL_SLOVAK 33
+#define VTL_CZECH 34
+#define VTL_POLISH 35
+#define VTL_ROMANIAN 36
+#define VTL_SCS 38
+#define VTL_RUSSIAN 39
+#define VTL_LATIN_AM 40
+#define XYTVTNRC 58 /* SET TERM VT-NRC-MODE */
+#define XYTSNICC 59 /* SET TERM SNI-CH.CODE */
+#define XYTSNIFV 60 /* SET TERM SNI-FIRMWARE-VERSIONS */
+#define XYTURLHI 61 /* SET TERM URL-HIGHLIGHT */
+#endif /* OS2 */
+#define XYTITMO 62 /* SET TERM IDLE-TIMEOUT */
+#define XYTIACT 63 /* SET TERM IDLE-ACTION */
+#define XYTLSP 64 /* SET TERM LINE-SPACING */
+
+#define XYATTR 34 /* Attribute packets */
+#define XYSERV 35 /* Server parameters */
+#define XYSERT 0 /* Server timeout */
+#define XYSERD 1 /* Server display */
+#define XYSERI 2 /* Server idle */
+#define XYSERP 3 /* Server get-path */
+#define XYSERL 4 /* Server login */
+#define XYSERC 5 /* Server CD-Message */
+#define XYSERK 6 /* Server keepalive */
+#define XYWIND 36 /* Window size */
+#define XYXFER 37 /* Transfer */
+#define XYX_CAN 0 /* Cancellation */
+#define XYX_CSE 1 /* Character-Set */
+#define XYX_LSH 2 /* Locking-Shift */
+#define XYX_PRO 3 /* Protocol */
+#define XYX_MOD 4 /* Mode */
+#define XYX_DIS 5 /* Display */
+#define XYX_SLO 6 /* Slow-start */
+#define XYX_CRC 7 /* CRC calculation */
+#define XYX_BEL 8 /* Bell */
+#define XYX_PIP 9 /* Pipes */
+#define XYX_INT 10 /* Interruption */
+#define XYX_XLA 11 /* (character-set) Translation On/Off */
+#define XYX_MSG 12 /* Message */
+#define XYX_RPT 13 /* Report */
+#define XYLANG 38 /* Language */
+#define XYCOUN 39 /* Count */
+#define XYTAKE 40 /* Take */
+#define XYUNCS 41 /* Unknown-character-set */
+#define XYKEY 42 /* Key */
+#define XYMACR 43 /* Macro */
+#define XYHOST 44 /* Hostname on network */
+#define XYNET 45 /* SET NETWORK things */
+
+#define XYNET_D 99 /* NETWORK DIRECTORY */
+#define XYNET_T 100 /* NETWORK TYPE */
+
+#define XYCARR 46 /* Carrier */
+#define XYXMIT 47 /* Transmit */
+
+#define XYDIAL 48 /* Dial options */
+
+/* And now we interrupt the flow to bring you lots of stuff about dialing */
+
+#ifndef MAXTOLLFREE /* Maximum number of toll-free area codes */
+#define MAXTOLLFREE 8
+#endif /* MAXTOLLFREE */
+
+#ifndef MAXTPCC /* Maximum Tone or Pulse dialing countries */
+#define MAXTPCC 160
+#endif /* MAXTPCC */
+
+#ifndef MAXPBXEXCH /* Maximum number of PBX exchanges */
+#define MAXPBXEXCH 8
+#endif /* MAXPBXEXCH */
+
+#ifndef MAXLOCALAC
+#define MAXLOCALAC 32
+#endif /* MAXLOCALAC */
+
+#ifndef MAXDNUMS
+#ifdef BIGBUFOK
+#define MAXDDIR 32 /* Maximum number of dialing directories */
+#define MAXDNUMS 4095 /* Max numbers to fetch from dialing directories */
+#else
+#define MAXDDIR 12
+#define MAXDNUMS 1024
+#endif /* BIGBUFOK */
+#endif /* MAXDNUMS */
+/*
+ IMPORTANT: In 5A(192), the old SET DIAL command was split into two commands:
+ SET MODEM (for modem-related parameters) and SET DIAL (for dialing items).
+ To preserve the old formats, etc, invisibly we keep one symbol space for
+ both commands.
+*/
+#define XYDHUP 0 /* Dial Hangup */
+#define XYDINI 1 /* MODEM (dial) Initialization string */
+#define XYDKSP 2 /* MODEM (dial) Kermit-Spoof */
+#define XYDTMO 3 /* Dial Timeout */
+#define XYDDPY 4 /* Dial Display */
+#define XYDSPD 5 /* Dial Speed matching */
+#define XYDMNP 6 /* MODEM (dial) MNP negotiation enabled (obsolete) */
+#define XYDEC 7 /* MODEM (dial) error correction enabled */
+#define XYDDC 8 /* MODEM (dial) compression enabled */
+#define XYDHCM 9 /* MODEM (dial) hangup-string (moved elsewhere) */
+#define XYDDIR 10 /* Dial directory */
+#define XYDDIA 11 /* MODEM (dial) dial-command */
+#define XYDMHU 12 /* MODEM HANGUP (dial modem-hangup) */
+
+#ifndef DEFMDHUP /* Default MODEM HANGUP-METHOD */
+#define DEFMDMHUP 1 /* 0 = RS232, 1 = modem command */
+#endif /* DEFMDMHUP */
+
+#define XYDNPR 13 /* Dial PREFIX */
+#define XYDSTR 14 /* MODEM COMMAND (dial string) ... */
+
+#define XYDS_DC 0 /* Data compression */
+#define XYDS_EC 1 /* Error correction */
+#define XYDS_HU 2 /* Hangup command */
+#define XYDS_HW 3 /* Hardware flow control */
+#define XYDS_IN 4 /* Init-string */
+#define XYDS_NF 5 /* No flow control */
+#define XYDS_PX 6 /* Prefix (no, this goes in SET DIAL) */
+#define XYDS_SW 7 /* Software flow control */
+#define XYDS_DT 8 /* Tone dialing command */
+#define XYDS_DP 9 /* Pulse dialing command */
+#define XYDS_AN 10 /* Autoanswer */
+#define XYDS_RS 11 /* Reset */
+#define XYDS_MS 12 /* Dial mode string */
+#define XYDS_MP 13 /* Dial mode prompt */
+#define XYDS_SP 14 /* Modem speaker */
+#define XYDS_VO 15 /* Modem speaker volume */
+#define XYDS_ID 16 /* Ignore dialtone */
+#define XYDS_I2 17 /* Init string #2 */
+
+#define XYDM_A 9 /* Method: Auto */
+#define XYDM_D 0 /* Default */
+#define XYDM_T 2 /* Tone */
+#define XYDM_P 3 /* Pulse */
+
+#define XYDFC 15 /* MODEM (dial) flow-control */
+#define XYDMTH 16 /* Dial method */
+#define XYDESC 17 /* MODEM (dial) escape-character */
+#define XYDMAX 18 /* MODEM (dial) maximum interface speed */
+#define XYDCAP 19 /* MODEM (dial) capabilities */
+#define XYDTYP 20 /* MODEM TYPE */
+#define XYDINT 21 /* DIAL retries */
+#define XYDRTM 22 /* DIAL time between retries */
+#define XYDNAM 23 /* MODEM NAME */
+#define XYDLAC 24 /* DIAL (LOCAL-)AREA-CODE */
+#define XYDMCD 25 /* MODEM CARRIER */
+
+#define XYDCNF 26 /* DIAL CONFIRMATION */
+#define XYDCVT 27 /* DIAL CONVERT-DIRECTORY */
+#define XYDIXP 28 /* DIAL INTERNATIONAL-PREFIX */
+#define XYDIXS 29 /* DIAL INTERNATIONAL-SUFFIX */
+#define XYDLCC 30 /* DIAL LOCAL-COUNTRY-CODE */
+#define XYDLDP 31 /* DIAL LONG-DISTANCE-PREFIX */
+#define XYDLDS 32 /* DIAL LONG-DISTANCE-SUFFIX */
+#define XYDPXX 33 /* DIAL PBX-EXCHANGE */
+#define XYDPXI 34 /* DIAL PBX-INTERNAL-PREFIX */
+#define XYDPXO 35 /* DIAL PBX-OUTSIDE-PREFIX */
+#define XYDSFX 36 /* DIAL SUFFIX */
+#define XYDSRT 37 /* DIAL SORT */
+#define XYDTFC 38 /* DIAL TOLL-FREE-AREA-CODE */
+#define XYDTFP 39 /* DIAL TOLL-FREE-PREFIX */
+#define XYDTFS 40 /* DIAL TOLL-FREE-SUFFIX */
+#define XYDCON 41 /* DIAL CONNECT */
+#define XYDRSTR 42 /* DIAL RESTRICT */
+#define XYDRSET 43 /* MODEM RESET */
+#define XYDLCP 44 /* DIAL LOCAL-PREFIX */
+#define XYDLCS 45 /* DIAL LOCAL-SUFFIX */
+#define XYDLLAC 46 /* DIAL LC-AREA-CODES */
+#define XYDFLD 47 /* DIAL FORCE LONG-DISTANCE */
+#define XYDSPK 48 /* MODEM SPEAKER */
+#define XYDVOL 49 /* MODEM VOLUME */
+#define XYDIDT 50 /* IGNORE DIALTONE */
+#define XYDPAC 51 /* PACING */
+#define XYDMAC 52 /* MACRO */
+#define XYDPUCC 53 /* PULSE-COUNTRIES */
+#define XYDTOCC 54 /* TONE-COUNTRIES */
+#define XYDTEST 55 /* TEST */
+
+#define XYA_CID 1 /* SET ANSWER CALLER-ID */
+#define XYA_RNG 2 /* SET ANSWER RINGS */
+
+#define XYSESS 49 /* SET SESSION options */
+#define XYBUF 50 /* Buffer length */
+#define XYBACK 51 /* Background */
+#define XYDFLT 52 /* Default */
+#define XYDBL 53 /* Double */
+#define XYCMD 54 /* COMMAND */
+#define XYCASE 55 /* Case */
+#define XYCOMP 56 /* Compression */
+#define XYX25 57 /* X.25 parameter (ANYX25) */
+#define XYPAD 58 /* X.3 PAD parameter (ANYX25) */
+#define XYWILD 59 /* Wildcard expansion method */
+#define XYSUSP 60 /* Suspend */
+#define XYMAIL 61 /* Mail-Command */
+#define XYPRIN 62 /* Print-Command */
+#define XYQUIE 63 /* Quiet */
+#define XYLCLE 64 /* Local-echo */
+#define XYSCRI 65 /* SCRIPT command paramaters */
+#define XYMSGS 66 /* MESSAGEs ON/OFF */
+#ifdef TNCODE
+#define XYTEL 67 /* SET TELNET parameters */
+#define CK_TN_EC 0 /* TELNET ECHO */
+#define CK_TN_TT 1 /* TELNET TERMINAL-TYPE */
+#define CK_TN_NL 2 /* TELNET NEWLINE-MODE */
+#define CK_TN_BM 3 /* TELNET BINARY-MODE */
+#define CK_TN_BUG 4 /* TELNET BUG */
+#define CK_TN_ENV 5 /* TELNET ENVIRONMENT */
+#define TN_ENV_USR 0 /* VAR USER */
+#define TN_ENV_JOB 1 /* VAR JOB */
+#define TN_ENV_ACCT 2 /* VAR ACCT */
+#define TN_ENV_PRNT 3 /* VAR PRINTER */
+#define TN_ENV_SYS 4 /* VAR SYSTEMTYPE */
+#define TN_ENV_DISP 5 /* VAR DISPLAY */
+#define TN_ENV_UVAR 6 /* USERVAR */
+#define TN_ENV_LOC 7 /* USERVAR LOCATION */
+#define TN_ENV_ON 98 /* ON (enabled) */
+#define TN_ENV_OFF 99 /* OFF (disabled) */
+#define CK_TN_LOC 6 /* TELNET LOCATION */
+#define CK_TN_AU 7 /* TELNET AUTHENTICATION */
+#define TN_AU_FWD 4 /* AUTH FORWARD */
+#define TN_AU_TYP 5 /* AUTH TYPE */
+#define AUTH_NONE 0 /* AUTH NONE */
+#define AUTH_KRB4 1 /* AUTH Kerberos IV */
+#define AUTH_KRB5 2 /* AUTH Kerberos V */
+#define AUTH_SSL 7 /* AUTH Secure Sockets Layer */
+#define AUTH_TLS 98 /* AUTH Transport Layer Security */
+#define AUTH_SRP 5 /* AUTH Secure Remote Password */
+#define AUTH_NTLM 15 /* AUTH NT Lan Manager */
+#define AUTH_AUTO 99 /* AUTH AUTOMATIC */
+#define TN_AU_HOW 8 /* AUTH HOW FLAG */
+#define TN_AU_ENC 9 /* AUTH ENCRYPT FLAG */
+#define CK_TN_ENC 8 /* TELNET ENCRYPTION */
+#define TN_EN_TYP 4 /* ENCRYPT TYPE */
+#define TN_EN_START 5 /* ENCRYPT START */
+#define TN_EN_STOP 6 /* ENCRYPT STOP */
+#define CK_TN_IKS 9 /* TELNET KERMIT-SERVER */
+#define CK_TN_RE 10 /* TELNET REMOTE-ECHO */
+#define CK_TN_TLS 11 /* TELNET START_TLS */
+#define CK_TN_XD 12 /* TELNET XDISPLOC */
+#define CK_TN_NAWS 13 /* TELNET NAWS */
+#define CK_TN_WAIT 14 /* TELNET WAIT-FOR-NEGOTIATIONS */
+#define CK_TN_SGA 15 /* TELNET SGA */
+#define CK_TN_CLIENT 16 /* TELNET CLIENT */
+#define CK_TN_SERVER 17 /* TELNET SERVER */
+#define CK_TN_PHR 18 /* TELNET PRAGMA-HEARTBEAT */
+#define CK_TN_PLG 19 /* TELNET PRAGMA-LOGON */
+#define CK_TN_PSP 20 /* TELNET PRAGMA-SSPI */
+#define CK_TN_SAK 21 /* TELNET IBM SAK */
+#define CK_TN_FLW 22 /* TELNET LFLOW */
+#define CK_TN_XF 23 /* TELNET TRANSFER-MODE */
+#define CK_TN_PUID 24 /* TELNET PROMPT-FOR-USERID */
+#define CK_TN_NE 25 /* TELNET NO-ENCRYPT-DURING-XFER */
+#define CK_TN_CPC 26 /* TELNET COM-PORT-CONTROL */
+#define CK_TN_DB 27 /* TELNET DEBUG */
+#define CK_TN_FX 28 /* TELNET FORWARD_X */
+#define CK_TN_DL 29 /* TELNET DELAY-SB */
+#define CK_TN_SFU 30 /* TELNET SFU-COMPATIBILITY */
+#define CK_TN_LOG 31 /* TELNET LOGOUT */
+#endif /* TNCODE */
+#define XYOUTP 68 /* OUTPUT command parameters */
+#define OUT_PAC 0 /* OUTPUT PACING */
+#define OUT_ESC 1 /* OUTPUT SPECIAL-ESCAPES */
+#define XYEXIT 69 /* SET EXIT */
+#define XYPRTR 70 /* SET PRINTER */
+#define XYFPATH 71 /* PATHNAME */
+
+#ifdef OS2
+#define XYMOUSE 72 /* MOUSE SUPPORT */
+#define XYM_ON 0 /* Mouse ON/OFF */
+#define XYM_BUTTON 1 /* Define Mouse Events */
+#define XYM_CLEAR 2 /* Clear Mouse Events */
+#define XYM_DEBUG 3 /* Debug Mode ON/OFF */
+/* These must match similar definitions in ckokey.h */
+#define XYM_B1 0 /* Mouse Button One */
+#define XYM_B2 1 /* Mouse Button Two */
+#define XYM_B3 2 /* Mouse Button Three */
+#define XYM_ALT 1 /* Alt */
+#define XYM_CTRL 2 /* Ctrl */
+#define XYM_SHIFT 4 /* Shift */
+#define XYM_C1 0 /* Single Click */
+#define XYM_C2 8 /* Double Click */
+#define XYM_DRAG 16 /* Drag Event */
+#endif /* OS2 */
+
+#define XYBELL 73 /* BELL */
+
+#ifdef OS2
+#define XYPRTY 74 /* Thread Priority Level */
+#define XYP_IDLE 1
+#define XYP_REG 2
+#define XYP_SRV 4
+#define XYP_RTP 3
+#endif /* OS2 */
+
+#define XYALRM 75 /* SET ALARM */
+#define XYPROTO 76 /* SET PROTOCOL */
+#define XYPREFIX 77 /* SET PREFIXING */
+#define XYLOGIN 78 /* Login info for script programs... */
+
+#define LOGI_UID 0 /* User ID */
+#define LOGI_PSW 1 /* Password */
+#define LOGI_PRM 2 /* Prompt */
+
+#define XYSTARTUP 79 /* Startup file */
+#define XYTMPDIR 80 /* Temporary directory */
+
+#ifdef OS2
+#define XYTAPI 81 /* Microsoft Telephone API options */
+#define XYTAPI_CFG 1 /* TAPI Configure-Line Dialog */
+#define XYTAPI_DIAL 2 /* TAPI Dialing-Properties Dialog */
+#define XYTAPI_LIN 3 /* TAPI Line */
+#define XYTAPI_LOC 4 /* TAPI Location */
+#define XYTAPI_PASS 5 /* TAPI Passthrough */
+#define XYTAPI_CON 6 /* TAPI Conversions */
+#define XYTAPI_LGHT 7 /* TAPI Modem Lights */
+#define XYTAPI_PRE 8 /* TAPI Pre-dialing Terminal */
+#define XYTAPI_PST 9 /* TAPI Post-dialing Terminal */
+#define XYTAPI_INA 10 /* TAPI Inactivity Timeout */
+#define XYTAPI_BNG 11 /* TAPI Wait for Credit Card Tone */
+#define XYTAPI_MAN 12 /* TAPI Manual Dialing */
+#define XYTAPI_USE 13 /* TAPI Use Line Config settings */
+#endif /* OS2 */
+
+#ifdef TCPSOCKET
+#define XYTCP 82 /* TCP options */
+#define XYTCP_NODELAY 1 /* No Delay */
+#define XYTCP_SENDBUF 2 /* Send Buffer Size */
+#define XYTCP_LINGER 3 /* Linger */
+#define XYTCP_RECVBUF 4 /* Receive Buffer Size */
+#define XYTCP_KEEPALIVE 5 /* Keep Alive packets */
+#define XYTCP_UCX 6 /* UCX 2.0 port swabbing bug */
+#define XYTCP_NAGLE 7 /* Delay - inverse of 1 */
+#define XYTCP_RDNS 8 /* Reverse DNS lookup */
+#define XYTCP_ADDRESS 9 /* Set preferred IP Address */
+#define XYTCP_DNS_SRV 10 /* Use DNS Service Records */
+#define XYTCP_DONTROUTE 11 /* Dont Route */
+#define XYTCP_SOCKS_SVR 12 /* Name of Socks Server */
+#define XYTCP_HTTP_PROXY 13 /* Name/Port of HTTP Proxy Server */
+#define XYTCP_SOCKS_NS 14 /* Name of Socks Name Server */
+#endif /* TCPSOCKET */
+
+#ifdef OS2
+#define XYMSK 83 /* MS-DOS Kermit compatibility options */
+#define MSK_COLOR 0 /* Terminal color handling */
+#define MSK_KEYS 1 /* SET KEY uses MSK keycodes */
+#endif /* OS2 */
+
+#define XYDEST 84 /* SET DESTINATION as in MS-DOS Kermit */
+
+#ifdef OS2
+#define XYWIN95 85 /* SET WIN95 work arounds */
+#define XYWKEY 0 /* Keyboard translation */
+#define XYWAGR 1 /* Alt-Gr */
+#define XYWOIO 2 /* Overlapped I/O */
+#define XYWLUC 3 /* Lucida Console substitutions */
+#define XYWSELECT 4 /* Select on Write Bug */
+#define XYW8_3 5 /* Use 8.3 filenames? */
+#define XYWPOPUP 6 /* Use Popups? */
+#define XYWHSL 7 /* Horz Scan Line substitutions */
+#define XYDLR 86 /* SET K95 DIALER work arounds */
+#define XYTITLE 87 /* SET TITLE of window */
+#endif /* OS2 */
+
+#define XYIGN 88 /* SET IGNORE-CHARACTER */
+#define XYEDIT 89 /* SET EDITOR */
+#define XYFLTR 90 /* SET { SEND, RECEIVE } FILTER */
+#define XYBROWSE 91 /* SET BROWSER */
+#define XYEOF 92 /* EOF (= FILE EOF) */
+#ifdef OS2
+#define XYBDCP 93 /* BPRINTER */
+#endif /* OS2 */
+#define XYFLAG 94 /* FLAG */
+#define XYLIMIT 95 /* SESSION-LIMIT */
+#define XYINIL 96 /* Protocol negotiation string max length */
+#define XYRELY 97 /* RELIABLE */
+#define XYSTREAM 98 /* STREAMING */
+#define XYTLOG 99 /* TRANSACTION-LOG */
+#define XYCLEAR 100 /* CLEARCHANNEL */
+#define XYAUTH 101 /* AUTHENTICATION */
+
+#ifdef TNCODE
+#define XYKRBPR 0 /* Kerberos Principal */
+#define XYKRBRL 1 /* Kerberos Realm */
+#define XYKRBCC 2 /* Kerberos 5 Credentials-Cache */
+#define XYKRBSRV 3 /* Kerberos Service Name */
+#define XYKRBDBG 4 /* Kerberos Debugging */
+#define XYKRBLIF 5 /* Kerberos Lifetime */
+#define XYKRBPRE 6 /* Kerberos 4 Preauth */
+#define XYKRBINS 7 /* Kerberos 4 Instance */
+#define XYKRBFWD 8 /* Kerberos 5 Forwardable */
+#define XYKRBPRX 9 /* Kerberos 5 Proxiable */
+#define XYKRBRNW 10 /* Kerberos 5 Renewable lifetime */
+#define XYKRBGET 11 /* Kerberos Auto-Get-TGTs */
+#define XYKRBDEL 12 /* Kerberos Auto-Destroy-TGTs */
+#define KRB_DEL_NO 0 /* Kerberos No Auto Destroy */
+#define KRB_DEL_CL 1 /* Kerberos Auto Destory on Close */
+#define KRB_DEL_EX 2 /* Kerberos Auto Destroy on Exit */
+#define XYKRBK5K4 13 /* Kerberos 5 Get K4 Tickets */
+#define XYKRBPRM 14 /* Kerberos 4/5 Prompt */
+#define XYKRBADR 15 /* Kerberos 4/5 CheckAddrs */
+#define XYKRBNAD 16 /* Kerberos 5 No Addresses */
+#define XYKRBADD 17 /* Kerberos 5 Address List */
+#define XYKRBKTB 18 /* Kerberos 4/5 Key Table */
+#define XYSRPPRM 0 /* SRP Prompt */
+#define XYSSLRCFL 0 /* SSL/TLS RSA Certs file */
+#define XYSSLCOK 1 /* SSL/TLS Certs-Ok flag */
+#define XYSSLCRQ 2 /* SSL/TLS Certs-Required flag */
+#define XYSSLCL 3 /* SSL/TLS Cipher List */
+#define XYSSLDBG 4 /* SSL/TLS Debug flag */
+#define XYSSLRKFL 5 /* SSL/TLS RSA Key File */
+#define XYSSLLFL 6 /* SSL/TLS Log File */
+#define XYSSLON 7 /* SSL/TLS Only flag */
+#define XYSSLSEC 8 /* SSL/TLS Secure flag */
+#define XYSSLVRB 9 /* SSL/TLS Verbose flag */
+#define XYSSLVRF 10 /* SSL/TLS Verify flag */
+#define XYSSLDUM 11 /* SSL/TLS Dummy flag */
+#define XYSSLDCFL 12 /* SSL/TLS DSA Certs file */
+#define XYSSLDKFL 13 /* SSL/TLS DH Certs file */
+#define XYSSLDPFL 14 /* SSL/TLS DH Param file */
+#define XYSSLCRL 15 /* SSL/TLS CRL file */
+#define XYSSLCRLD 16 /* SSL/TLS CRL dir */
+#define XYSSLVRFF 17 /* SSL/TLS Verify file */
+#define XYSSLVRFD 18 /* SSL/TLS Verify dir */
+#define XYSSLRND 19 /* SSL/TLS Random file */
+#define XYSSLDCCF 20 /* SSL/TLS DSA Certs Chain File */
+#define XYSSLRCCF 21 /* SSL/TLS RSA Certs Chain File */
+
+/* The following must be powers of 2 for a bit mask */
+
+#define XYKLCEN 1 /* Kerberos List Credentials: Encryption */
+#define XYKLCFL 2 /* Kerberos List Credentials: Flags */
+#define XYKLCAD 4 /* Kerberos List Credentials: Addresses */
+#endif /* TNCODE */
+
+#define XYFUNC 102 /* SET FUNCTION */
+
+#define FUNC_DI 0 /* FUNCTION DIAGNOSTICS */
+#define FUNC_ER 1 /* FUNCTION ERROR */
+
+#define XYFTP 103 /* FTP application */
+#define XYSLEEP 104 /* SLEEP / PAUSE options */
+#define XYSSH 105 /* SSH options */
+#define XYTELOP 106 /* TELNET OPTIONS (TELOPT) */
+#define XYCD 107 /* SET CD */
+#define XYCSET 108 /* CHARACTER-SET */
+#define XYSTOP 109 /* STOP-BITS */
+#define XYSERIAL 110 /* SERIAL */
+#define XYDISC 111 /* CLOSE-ON-DISCONNECT */
+#define XYOPTS 112 /* OPTIONS */
+#define XYQ8FLG 113 /* Q8FLAG (invisible) */
+#define XYTIMER 114 /* TIMER */
+#define XYFACKB 115 /* F-ACK-BUG */
+#define XYBUP 116 /* SET SEND/RECEIVE BACKUP */
+#define XYMOVE 117 /* SET SEND/RECEIVE MOVE-TO */
+#define XYRENAME 118 /* SET SEND/RECEIVE RENAME-TO */
+#define XYHINTS 119 /* SET HINTS */
+#define XYEVAL 120 /* SET EVALUATE */
+#define XYFACKP 121 /* F-ACK-PATH */
+#define XYSYSL 122 /* SysLog */
+#define XYQNXPL 123 /* QNX Port Lock */
+#define XYIKS 124 /* SET IKS ... */
+#define XYROOT 125 /* SET ROOT */
+#define XYFTPX 126 /* SET FTP */
+#define XYSEXP 127 /* SET SEXP */
+#define XYGPR 128 /* SET GET-PUT-REMOTE */
+#define XYLOCUS 129 /* SET LOCUS */
+#define XYGUI 130 /* SET GUI */
+#define XYANSWER 131 /* SET ANSWER */
+#define XYMATCH 132 /* SET MATCHDOT */
+#define XYSFTP 133 /* SET SFTP */
+
+/* End of SET commands */
+
+/* S-Expressions -- floating-point support required */
+
+#ifndef CKFLOAT
+#ifndef NOSEXP
+#define NOSEXP
+#endif /* NOSEXP */
+#endif /* CKFLOAT */
+
+/* Maximum number of elements in an S-Expression */
+
+#ifndef NOSEXP
+#ifndef SEXPMAX
+#ifdef BIGBUFOK
+#define SEXPMAX 1024
+#else
+#define SEXPMAX 32
+#endif /* BIGBUFOK */
+#endif /* SEXPMAX */
+#endif /* NOSEXP */
+
+#ifdef ANYX25
+/* PAD command parameters */
+
+#define XYPADL 0 /* clear virtual call */
+#define XYPADS 1 /* status of virtual call */
+#define XYPADR 2 /* reset of virtual call */
+#define XYPADI 3 /* send an interrupt packet */
+
+/* Used with XYX25... */
+#define XYUDAT 0 /* X.25 call user data */
+#define XYCLOS 1 /* X.25 closed user group call */
+#define XYREVC 2 /* X.25 reverse charge call */
+#endif /* ANYX25 */
+
+#ifdef OS2
+/* SET PRINTER switches */
+
+#define PRN_OUT 0 /* Output only */
+#define PRN_BID 1 /* Bidirectional */
+#define PRN_DOS 2 /* DOS device */
+#define PRN_WIN 3 /* Windows queue */
+#define PRN_TMO 4 /* Timeout */
+#define PRN_TRM 5 /* Terminator */
+#define PRN_SEP 6 /* Separator */
+#define PRN_SPD 7 /* COM-port speed */
+#define PRN_FLO 8 /* COM-port flow control */
+#define PRN_PAR 9 /* COM-port parity */
+#define PRN_NON 10 /* No printer */
+#define PRN_FIL 11 /* Filename */
+#define PRN_PIP 12 /* Pipename */
+#define PRN_PS 13 /* Text to PS */
+#define PRN_WID 14 /* PS Width */
+#define PRN_LEN 15 /* PS Length */
+#define PRN_RAW 16 /* Non-PS */
+#define PRN_CS 17 /* Character Set */
+#define PRN_MAX 17 /* Number of switches defined */
+
+/* Printer types */
+
+#define PRT_DOS 0 /* DOS */
+#define PRT_WIN 1 /* Windows Queue */
+#define PRT_FIL 2 /* File */
+#define PRT_PIP 3 /* Pipe */
+#define PRT_NON 4 /* None */
+
+#define PRINTSWI
+#endif /* OS2 */
+#endif /* NOICP */
+
+#ifndef NODIAL
+/*
+ Symbols for modem types, moved here from ckudia.c, May 1997, because now
+ they are also used in some other modules. The numbers MUST correspond to
+ the ordering of entries within the modemp[] array.
+*/
+#ifdef MINIDIAL /* Minimum dialer support */
+
+#define n_DIRECT 0 /* Direct connection -- no modem */
+#define n_CCITT 1 /* CCITT/ITU-T V.25bis */
+#define n_HAYES 2 /* Hayes 2400 */
+#define n_UNKNOWN 3 /* Unknown */
+#define n_UDEF 4 /* User-Defined */
+#define n_GENERIC 5 /* Generic High Speed */
+#define n_ITUTV250 6 /* ITU-T V.250 */
+#define MAX_MDM 6 /* Number of modem types */
+
+#else /* Full-blown dialer support */
+
+#define n_DIRECT 0 /* Direct connection -- no modem */
+#define n_ATTDTDM 1
+#define n_ATTISN 2
+#define n_ATTMODEM 3
+#define n_CCITT 4
+#define n_CERMETEK 5
+#define n_DF03 6
+#define n_DF100 7
+#define n_DF200 8
+#define n_GDC 9
+#define n_HAYES 10
+#define n_PENRIL 11
+#define n_RACAL 12
+#define n_UNKNOWN 13
+#define n_VENTEL 14
+#define n_CONCORD 15
+#define n_ATTUPC 16 /* aka UNIX PC and ATT7300 */
+#define n_ROLM 17 /* Rolm CBX DCM */
+#define n_MICROCOM 18 /* Microcoms in SX command mode */
+#define n_USR 19 /* Modern USRs */
+#define n_TELEBIT 20 /* Telebits of all kinds */
+#define n_DIGITEL 21 /* Digitel DT-22 (CCITT variant) */
+#define n_H_1200 22 /* Hayes 1200 */
+#define n_H_ULTRA 23 /* Hayes Ultra and maybe Optima */
+#define n_H_ACCURA 24 /* Hayes Accura and maybe Optima */
+#define n_PPI 25 /* Practical Peripherals */
+#define n_DATAPORT 26 /* AT&T Dataport */
+#define n_BOCA 27 /* Boca */
+#define n_MOTOROLA 28 /* Motorola Fastalk or Lifestyle */
+#define n_DIGICOMM 29 /* Digicomm Connection */
+#define n_DYNALINK 30 /* Dynalink 1414VE */
+#define n_INTEL 31 /* Intel 14400 Faxmodem */
+#define n_UCOM_AT 32 /* Microcoms in AT mode */
+#define n_MULTI 33 /* Multitech MT1432 */
+#define n_SUPRA 34 /* SupraFAXmodem */
+#define n_ZOLTRIX 35 /* Zoltrix */
+#define n_ZOOM 36 /* Zoom */
+#define n_ZYXEL 37 /* ZyXEL */
+#define n_TAPI 38 /* TAPI Line modem - whatever it is */
+#define n_TBNEW 39 /* Newer Telebit models */
+#define n_MAXTECH 40 /* MaxTech XM288EA */
+#define n_UDEF 41 /* User-Defined */
+#define n_RWV32 42 /* Generic Rockwell V.32 */
+#define n_RWV32B 43 /* Generic Rockwell V.32bis */
+#define n_RWV34 44 /* Generic Rockwell V.34 */
+#define n_MWAVE 45 /* IBM Mwave Adapter */
+#define n_TELEPATH 46 /* Gateway Telepath */
+#define n_MICROLINK 47 /* MicroLink modems */
+#define n_CARDINAL 48 /* Cardinal modems */
+#define n_GENERIC 49 /* Generic high-speed */
+#define n_XJACK 50 /* Megahertz X-Jack */
+#define n_SPIRITII 51 /* Quickcomm Spirit II */
+#define n_MONTANA 52 /* Motorola Montana */
+#define n_COMPAQ 53 /* Compaq Data+Fax Modem */
+#define n_FUJITSU 54 /* Fujitsu Fax/Modem Adpater */
+#define n_MHZATT 55 /* Megahertz AT&T V.34 */
+#define n_SUPRASON 56 /* SupraSonic */
+#define n_BESTDATA 57 /* Best Data */
+#define n_ATT1900 58 /* AT&T STU III Model 1900 */
+#define n_ATT1910 59 /* AT&T STU III Model 1910 */
+#define n_KEEPINTOUCH 60 /* AT&T KeepinTouch */
+#define n_USRX2 61 /* USR XJ-1560 X2 56K */
+#define n_ROLMAT 62 /* Rolm with AT command set */
+#define n_ATLAS 63 /* Atlas / Newcom ixfC 33.6 */
+#define n_CODEX 64 /* Motorola Codex 326X Series */
+#define n_MT5634ZPX 65 /* Multitech MT5634ZPX */
+#define n_ULINKV250 66 /* Microlink ITU-T V.250 56K */
+#define n_ITUTV250 67 /* Generic ITU-T V.250 */
+#define n_RWV90 68 /* Generic Rockwell V.90 */
+#define n_SUPRAX 69 /* Diamond Supra Express V.90 */
+#define n_LUCENT 70 /* Lucent Venus chipset */
+#define n_PCTEL 71 /* PCTel chipset */
+#define n_CONEXANT 72 /* Conexant modem family */
+#define n_ZOOMV34 73 /* Zoom */
+#define n_ZOOMV90 74 /* Zoom */
+#define n_ZOOMV92 75 /* ZOOM V.92 */
+#define n_MOTSM56 76 /* Motorola SM56 chipset */
+#define MAX_MDM 76 /* Number of modem types */
+
+#endif /* MINIDIAL */
+#endif /* NODIAL */
+
+#ifndef NOICP
+/* SHOW command symbols */
+
+#define SHPAR 0 /* Parameters */
+#define SHVER 1 /* Versions */
+#define SHCOM 2 /* Communications */
+#define SHPRO 3 /* Protocol */
+#define SHFIL 4 /* File */
+#define SHLNG 5 /* Language */
+#define SHCOU 6 /* Count */
+#define SHMAC 7 /* Macros */
+#define SHKEY 8 /* Key */
+#define SHSCR 9 /* Scripts */
+#define SHSPD 10 /* Speed */
+#define SHSTA 11 /* Status */
+#define SHSER 12 /* Server */
+#define SHXMI 13 /* Transmit */
+#define SHATT 14 /* Attributes */
+#define SHMOD 15 /* Modem */
+#define SHDFLT 16 /* Default (as in VMS) */
+#define SHVAR 17 /* Show global variables */
+#define SHARG 18 /* Show macro arguments */
+#define SHARR 19 /* Show arrays */
+#define SHBUI 20 /* Show builtin variables */
+#define SHFUN 21 /* Show functions */
+#define SHPAD 22 /* Show (X.25) PAD */
+#define SHTER 23 /* Show terminal settings */
+#define SHESC 24 /* Show escape character */
+#define SHDIA 25 /* Show DIAL parameters */
+#define SHNET 26 /* Show network parameters */
+#define SHLBL 27 /* Show VMS labeled file parameters */
+#define SHSTK 28 /* Show stack, MAC debugging */
+#define SHCSE 29 /* Show character sets */
+#define SHFEA 30 /* Show features */
+#define SHCTL 31 /* Show control-prefix table */
+#define SHEXI 32 /* Show EXIT items */
+#define SHPRT 33 /* Show printer */
+#define SHCMD 34 /* Show command parameters */
+#define SHKVB 35 /* Show \Kverbs */
+#define SHMOU 36 /* Show Mouse (like Show Key) */
+#define SHTAB 37 /* Show Tabs (OS/2) */
+#define SHVSCRN 38 /* Show Virtual Screen (OS/2) */
+#define SHALRM 39 /* ALARM */
+#define SHSFL 40 /* SEND-LIST */
+#define SHUDK 41 /* DEC VT UDKs (OS/2) */
+#define SHDBL 42 /* DOUBLE/IGNORE characters */
+#define SHEDIT 43 /* EDITOR */
+#define SHBROWSE 44 /* BROWSER */
+#define SHTAPI 45 /* TAPI */
+#define SHTAPI_L 46 /* TAPI Location */
+#define SHTAPI_M 47 /* TAPI Modem Properties */
+#define SHTAPI_C 48 /* TAPI Comm Properties */
+#define SHTEL 49 /* SHOW TELNET */
+#define SHINP 50 /* SHOW INPUT */
+#define SHTRIG 51 /* SHOW TRIGGER */
+#define SHLOG 52 /* SHOW LOGS */
+#define SHOUTP 53 /* SHOW OUTPUT */
+#define SHOPAT 54 /* SHOW PATTERNS */
+#define SHOSTR 55 /* SHOW STREAMING */
+#define SHOAUTH 56 /* SHOW AUTHENTICATION */
+#define SHOFTP 57 /* SHOW FTP */
+#define SHTOPT 58 /* SHOW TELOPT */
+#define SHXOPT 59 /* SHOW EXTENDED-OPTIONS */
+#define SHCD 60 /* SHOW CD */
+#define SHASSOC 61 /* SHOW ASSOCIATIONS */
+#define SHCONNX 62 /* SHOW CONNECTION */
+#define SHOPTS 63 /* SHOW OPTIONS */
+#define SHOFLO 64 /* SHOW FLOW-CONTROL */
+#define SHOXFER 65 /* SHOW TRANSFER */
+#define SHTCP 66 /* SHOW TCP */
+#define SHHISTORY 67 /* SHOW (command) HISTORY */
+#define SHSEXP 68 /* SHOW SEXPRESSIONS */
+#define SHOSSH 69 /* SHOW SSH */
+#define SHOIKS 70 /* SHOW IKS */
+#define SHOGUI 71 /* SHOW RGB */
+
+/* REMOTE command symbols */
+
+#define XZCPY 0 /* Copy */
+#define XZCWD 1 /* Change Working Directory */
+#define XZDEL 2 /* Delete */
+#define XZDIR 3 /* Directory */
+#define XZHLP 4 /* Help */
+#define XZHOS 5 /* Host */
+#define XZKER 6 /* Kermit */
+#define XZLGI 7 /* Login */
+#define XZLGO 8 /* Logout */
+#define XZMAI 9 /* Mail <-- wrong, this should be top-level */
+#define XZMOU 10 /* Mount */
+#define XZMSG 11 /* Message */
+#define XZPRI 12 /* Print */
+#define XZREN 13 /* Rename */
+#define XZSET 14 /* Set */
+#define XZSPA 15 /* Space */
+#define XZSUB 16 /* Submit */
+#define XZTYP 17 /* Type */
+#define XZWHO 18 /* Who */
+#define XZPWD 19 /* Print Working Directory */
+#define XZQUE 20 /* Query */
+#define XZASG 21 /* Assign */
+#define XZMKD 22 /* mkdir */
+#define XZRMD 23 /* rmdir */
+#define XZXIT 24 /* Exit */
+#define XZCDU 25 /* CDUP */
+
+/* SET INPUT command parameters */
+
+#define IN_DEF 0 /* Default timeout */
+#define IN_TIM 1 /* Timeout action */
+#define IN_CAS 2 /* Case (matching) */
+#define IN_ECH 3 /* Echo */
+#define IN_SIL 4 /* Silence */
+#define IN_BUF 5 /* Buffer size */
+#define IN_PAC 6 /* Input Pacing (debug) */
+#define IN_TRM 7 /* Input Terminal Display */
+#define IN_ADL 8 /* Input autodownload */
+#define IN_PAT 9 /* Pattern to match */
+#define IN_ASG 10 /* Assign matching text to variable */
+#define IN_CAN 11 /* Keyboard cancellation of INPUT */
+#define IN_SCA 12 /* Timeout scaling */
+
+/* ENABLE/DISABLE command parameters */
+
+#define EN_ALL 0 /* ALL */
+#define EN_CWD 1 /* CD/CWD */
+#define EN_DIR 2 /* DIRECTORY */
+#define EN_FIN 3 /* FINISH */
+#define EN_GET 4 /* GET */
+#define EN_HOS 5 /* HOST command */
+#define EN_KER 6 /* KERMIT command */
+#define EN_LOG 7 /* LOGIN */
+#define EN_SEN 8 /* SEND */
+#define EN_SET 9 /* SET */
+#define EN_SPA 10 /* SPACE */
+#define EN_TYP 11 /* TYPE */
+#define EN_WHO 12 /* WHO, finger */
+#define EN_DEL 13 /* Delete */
+#define EN_BYE 14 /* BYE (as opposed to FINISH) */
+#define EN_QUE 15 /* QUERY */
+#define EN_ASG 16 /* ASSIGN */
+#define EN_CPY 17 /* COPY */
+#define EN_REN 18 /* RENAME */
+#define EN_RET 19 /* RETRIEVE */
+#define EN_MAI 20 /* MAIL */
+#define EN_PRI 21 /* PRINT */
+#define EN_MKD 22 /* MKDIR */
+#define EN_RMD 23 /* RMDIR */
+#define EN_XIT 24 /* EXIT */
+#define EN_ENA 25 /* ENABLE */
+#endif /* NOICP */
+
+#ifndef NOICP
+/* CLEAR command symbols */
+#define CLR_DEV 1 /* Clear Device Buffers */
+#define CLR_INP 2 /* Clear Input Buffers */
+#define CLR_BTH CLR_DEV|CLR_INP /* Clear Device and Input */
+#define CLR_SCL 4 /* Clear Scrollback buffer */
+#define CLR_CMD 8 /* Clear Command Screen */
+#define CLR_TRM 16 /* Clear Terminal Screen */
+#define CLR_DIA 32 /* Clear Dial Status */
+#define CLR_SFL 64 /* Clear Send-File-List */
+#define CLR_APC 128 /* Clear APC */
+#define CLR_ALR 256 /* Clear Alarm */
+#define CLR_TXT 512 /* Clear text-patterns */
+#define CLR_BIN 1024 /* Clear binary-patterns */
+#define CLR_SCR 2048 /* Clear screen */
+#define CLR_KBD 4096 /* Clear keyboard buffer */
+#endif /* NOICP */
+
+/* Symbols for logs */
+
+#define LOGD 0 /* Debugging */
+#define LOGP 1 /* Packets */
+#define LOGS 2 /* Session */
+#define LOGT 3 /* Transaction */
+#define LOGX 4 /* Screen */
+#define LOGR 5 /* The "open read" file */
+#define LOGW 6 /* The "open write/append" file */
+#define LOGE 7 /* Error (e.g. stderr) */
+#define LOGM 8 /* The dialing log */
+
+#ifndef NOSPL
+/* Symbols for builtin variables */
+
+#define VN_ARGC 0 /* ARGC */
+#define VN_COUN 1 /* COUNT */
+#define VN_DATE 2 /* DATE */
+#define VN_DIRE 3 /* DIRECTORY */
+#define VN_ERRO 4 /* ERRORLEVEL */
+#define VN_TIME 5 /* TIME */
+#define VN_VERS 6 /* VERSION */
+#define VN_IBUF 7 /* INPUT buffer */
+#define VN_SUCC 8 /* SUCCESS flag */
+#define VN_LINE 9 /* LINE */
+#define VN_ARGS 10 /* Program command-line arg count */
+#define VN_SYST 11 /* System type */
+#define VN_SYSV 12 /* System version */
+#define VN_RET 13 /* RETURN value */
+#define VN_FILE 14 /* Most recent filespec */
+#define VN_NDAT 15 /* Numeric date yyyy/mm/dd */
+#define VN_HOME 16 /* Home directory */
+#define VN_SPEE 17 /* Transmission speed */
+#define VN_HOST 18 /* Host name */
+#define VN_TTYF 19 /* TTY file descriptor (UNIX only) */
+#define VN_PROG 20 /* Program name */
+#define VN_NTIM 21 /* NTIME */
+#define VN_FFC 22 /* Characters in last file xferred */
+#define VN_TFC 23 /* Chars in last file group xferred */
+#define VN_CPU 24 /* CPU type */
+#define VN_CMDL 25 /* Command level */
+#define VN_DAY 26 /* Day of week, string */
+#define VN_NDAY 27 /* Day of week, numeric */
+#define VN_LCL 28 /* Local (vs) remote mode */
+#define VN_CMDS 29 /* Command source */
+#define VN_CMDF 30 /* Command file name */
+#define VN_MAC 31 /* Macro name */
+#define VN_EXIT 32 /* Exit status */
+#define VN_ICHR 33 /* INPUT character */
+#define VN_ICNT 34 /* INPUT count */
+#define VN_PRTY 35 /* Current parity */
+#define VN_DIAL 36 /* DIAL status */
+#define VN_KEYB 37 /* Keyboard type */
+#define VN_CPS 38 /* Chars per second, last transfer */
+#define VN_RPL 39 /* Receive packet length */
+#define VN_SPL 40 /* Send packet length */
+#define VN_MODE 41 /* Transfer mode (text, binary) */
+#define VN_REXX 42 /* Rexx return value */
+#define VN_NEWL 43 /* Newline character or sequence */
+#define VN_COLS 44 /* Columns on console screen */
+#define VN_ROWS 45 /* Rows on console screen */
+#define VN_TTYP 46 /* Terminal type */
+#define VN_MINP 47 /* MINPUT result */
+#define VN_CONN 48 /* Connection type */
+#define VN_SYSI 49 /* System ID */
+#define VN_TZ 50 /* Timezone */
+#define VN_SPA 51 /* Space */
+#define VN_QUE 52 /* Query */
+#define VN_STAR 53 /* Startup directory */
+#define VN_CSET 54 /* Local character set */
+#define VN_MDM 55 /* Modem type */
+#define VN_EVAL 56 /* Most recent EVALUATE result */
+
+#define VN_D_CC 57 /* DIAL COUNTRY-CODE */
+#define VN_D_AC 58 /* DIAL AREA-CODE */
+#define VN_D_IP 59 /* DIAL INTERNATIONAL-PREFIX */
+#define VN_D_LP 60 /* DIAL LD-PREFIX */
+
+#define VN_UID 61
+#define VN_PWD 62
+#define VN_PRM 63
+
+#define VN_PROTO 64 /* Protocol */
+#define VN_DLDIR 65 /* Download directory */
+
+#define VN_M_AAA 66 /* First MODEM one */
+#define VN_M_INI 66 /* Modem init string */
+#define VN_M_DCM 67 /* Modem dial command */
+#define VN_M_DCO 68 /* Modem data compression on */
+#define VN_M_DCX 69 /* Modem data compression off */
+#define VN_M_ECO 70 /* Modem error correction on */
+#define VN_M_ECX 71 /* Modem error correction off */
+#define VN_M_AAO 72 /* Modem autoanswer on */
+#define VN_M_AAX 73 /* Modem autoanswer off */
+#define VN_M_HUP 74 /* Modem hangup command */
+#define VN_M_HWF 75 /* Modem hardware flow command */
+#define VN_M_SWF 76 /* Modem software flow command */
+#define VN_M_NFC 77 /* Modem no flow-control command */
+#define VN_M_PDM 78 /* Modem pulse dialing mode */
+#define VN_M_TDM 79 /* Modem tone dialing mode */
+#define VN_M_ZZZ 79 /* Last MODEM one */
+
+#define VN_SELCT 80 /* Selected Text from Mark Mode */
+#define VN_TEMP 81 /* Temporary directory */
+#define VN_ISTAT 82 /* INPUT command status */
+#define VN_INI 83 /* INI (kermrc) directory */
+#define VN_EXEDIR 84 /* EXE directory */
+#define VN_ERRNO 85 /* Value of errno */
+#define VN_ERSTR 86 /* Corresponding error message */
+#define VN_TFLN 87 /* TAKE file line number */
+#define VN_XVNUM 88 /* Product-specific version number */
+#define VN_RPSIZ 89 /* Receive packet length */
+#define VN_WINDO 90 /* Window size */
+#define VN_MDMSG 91 /* Modem message */
+#define VN_DNUM 92 /* Dial number */
+#define VN_APC 93 /* APC active */
+#define VN_IPADDR 94 /* My IP address */
+#define VN_CRC16 95 /* CRC-16 of most recent file group */
+#define VN_TRMK 96 /* Macro executed from Terminal Mode */
+#define VN_PID 97 /* Process ID */
+#define VN_FNAM 98 /* Name of file being transferred */
+#define VN_FNUM 99 /* Number of file being transferred */
+#define VN_PEXIT 100 /* Process exit status */
+#define VN_P_CTL 101 /* Control Prefix */
+#define VN_P_8BIT 102 /* 8-bit prefix */
+#define VN_P_RPT 103 /* Repeat count prefix */
+#define VN_D_LCP 104 /* DIAL LOCAL-PREFIX */
+#define VN_URL 105 /* Last URL selected */
+#define VN_REGN 106 /* Registration Name */
+#define VN_REGO 107 /* Registration Organization */
+#define VN_REGS 108 /* Registration Serial number */
+#define VN_XPROG 109 /* xprogram (like xversion) */
+#define VN_EDITOR 110 /* Editor */
+#define VN_EDOPT 111 /* Editor options */
+#define VN_EDFILE 112 /* Editor file */
+#define VN_BROWSR 113 /* Browser */
+#define VN_BROPT 114 /* Browser options */
+#define VN_HERALD 115 /* Program herald */
+#define VN_TEST 116 /* Program test level or "0" */
+#define VN_XFSTAT 117 /* File-Transfer status */
+#define VN_XFMSG 119 /* File-Transfer message */
+#define VN_SNDL 120 /* Send-list status */
+#define VN_TRIG 121 /* Trigger value */
+#define VN_MOU_X 122 /* OS/2 Mouse Cursor X */
+#define VN_MOU_Y 123 /* OS/2 Mouse Cursor Y */
+#define VN_PRINT 124 /* Printer */
+#define VN_ESC 125 /* Escape character */
+#define VN_INTIME 126 /* INPUT elapsed time */
+#define VN_K4RLM 127 /* Kerberos 4 Realm */
+#define VN_K5RLM 128 /* Kerberos 5 Realm */
+#define VN_K4PRN 129 /* Kerberos 4 Principal */
+#define VN_K5PRN 130 /* Kerberos 5 Principal */
+#define VN_K4CC 131 /* Kerberos 4 Credentials Cache */
+#define VN_K5CC 132 /* Kerberos 5 Credentials Cache */
+#define VN_OSNAM 133 /* OS name */
+#define VN_OSVER 134 /* OS version */
+#define VN_OSREL 135 /* OS release */
+#define VN_NAME 136 /* Name I was called by */
+#define VN_MODL 137 /* CPU model */
+#define VN_X25LA 138 /* X.25 local address */
+#define VN_X25RA 139 /* X.25 remote address */
+#define VN_K4SRV 140 /* Kerberos 4 Service Name */
+#define VN_K5SRV 141 /* Kerberos 5 Service Name */
+#define VN_PDSFX 142 /* PDIAL suffix */
+#define VN_DTYPE 143 /* DIAL type */
+#define VN_LCKPID 144 /* Lockfile PID (UNIX) */
+#define VN_BLK 145 /* Block check */
+#define VN_TFTIM 146 /* File transfer elapsed time */
+#define VN_D_PXX 147 /* DIAL PBX-EXCHANGE */
+#define VN_HWPAR 148 /* Hardware Parity */
+#define VN_SERIAL 149 /* SET SERIAL value */
+#define VN_LCKDIR 150 /* Lockfile directory (UNIX) */
+
+#define VN_K4ENO 151 /* Kerberos 4 Last Errno */
+#define VN_K4EMSG 152 /* Kerberos 4 Last Err Msg */
+#define VN_K5ENO 153 /* Kerberos 5 Last Errno */
+#define VN_K5EMSG 154 /* Kerberos 5 Last Err Msg */
+
+#define VN_INTMO 155 /* Input timeout */
+#define VN_AUTHS 156 /* Authentication State */
+
+#define VN_DM_LP 157 /* Dial Modifier: Long Pause */
+#define VN_DM_SP 158 /* Dial Modifier: Short Pause */
+#define VN_DM_PD 159 /* Dial Modifier: Pulse Dial */
+#define VN_DM_TD 160 /* Dial Modifier: Tone Dial */
+#define VN_DM_WA 161 /* Dial Modifier: Wait for Answer */
+#define VN_DM_WD 162 /* Dial Modifier: Wait for Dialtone */
+#define VN_DM_RC 163 /* Dial Modifier: Return to Command */
+
+/* (more below...) */
+
+#define VN_TY_LN 164 /* TYPE command line number */
+#define VN_TY_LC 165 /* TYPE command line count */
+#define VN_TY_LM 166 /* TYPE command match count */
+
+#define VN_MACLVL 167 /* \v(maclevel) */
+
+#define VN_XF_BC 168 /* Transfer blockcheck errors */
+#define VN_XF_TM 169 /* Transfer timeouts */
+#define VN_XF_RX 170 /* Transfer retransmissions */
+
+#define VN_M_NAM 171 /* Modem full name */
+#define VN_MS_CD 172 /* Modem signal CD */
+#define VN_MS_CTS 173 /* Modem signal CTS */
+#define VN_MS_DSR 174 /* Modem signal DSR */
+#define VN_MS_DTR 175 /* Modem signal DTR */
+#define VN_MS_RI 176 /* Modem signal RI */
+#define VN_MS_RTS 177 /* Modem signal RTS */
+
+#define VN_MATCH 178 /* Most recent pattern match */
+#define VN_SLMSG 179 /* SET LINE (error) message */
+#define VN_TXTDIR 180 /* Kermit text-file directory */
+#define VN_MA_PI 181 /* Math constant Pi */
+#define VN_MA_E 182 /* Math constant e */
+#define VN_MA_PR 183 /* Math precision (digits) */
+#define VN_CMDBL 184 /* Command buffer length */
+
+#define VN_AUTHT 185 /* Authentication Type */
+
+#ifdef CKCHANNELIO
+#define VN_FERR 186 /* FILE error */
+#define VN_FMAX 187 /* FILE max */
+#define VN_FCOU 188 /* Result of last FILE COUNT */
+#endif /* CKCHANNELIO */
+
+#define VN_DRTR 189 /* DIAL retry counter */
+#define VN_CXTIME 190 /* Elapsed time in session */
+#define VN_BYTE 191 /* Byte order */
+#define VN_AUTHN 192 /* Authentication Name */
+#define VN_KBCHAR 193 /* kbchar */
+#define VN_TTYNAM 194 /* Name of controlling terminal */
+
+#define VN_X509_S 195 /* X.509 Certificate Subject */
+#define VN_X509_I 196 /* X.509 Certificate Issuer */
+
+#define VN_PROMPT 197 /* C-Kermit's prompt */
+#define VN_BUILD 198 /* Build ID string */
+
+#define VN_SEXP 199 /* Last S-Expression */
+#define VN_VSEXP 200 /* Value of last S-Expression */
+#define VN_LSEXP 201 /* SEXP depth */
+
+#define VN_FTIME 202 /* Time as floating-poing number */
+
+#define VN_FTP_C 203 /* FTP Reply Code */
+#define VN_FTP_M 204 /* FTP Reply Message */
+#define VN_FTP_S 205 /* FTP Server type */
+#define VN_FTP_H 206 /* FTP Host */
+#define VN_FTP_X 207 /* FTP Connected */
+#define VN_FTP_L 208 /* FTP Logged in */
+#define VN_FTP_G 209 /* FTP GET-PUT-REMOTE setting */
+
+#define VN_SECURE 210 /* Encrypted connection 0 or 1 */
+
+#define VN_DM_HF 211 /* Dial Modifier: Hook Flash */
+#define VN_DM_WB 212 /* Dial Modifier: Wait for Bong */
+#define VN_CX_STA 213 /* CX_STATUS */
+
+#define VN_FTP_B 214 /* FTP CPL */
+#define VN_FTP_D 215 /* FTP DPL */
+#define VN_FTP_Z 216 /* FTP SECURITY */
+#define VN_HTTP_C 217 /* HTTP Code */
+#define VN_HTTP_N 218 /* HTTP Connected */
+#define VN_HTTP_H 219 /* HTTP Host */
+#define VN_HTTP_M 220 /* HTTP Message */
+#define VN_HTTP_S 221 /* HTTP Security */
+
+#define VN_NOW 222 /* Timestamp yyyymmdd hh:mm:ss */
+#define VN_HOUR 223 /* Current hour of the day 0-23 */
+
+#define VN_CI_DA 224 /* Caller ID date */
+#define VN_CI_TI 225 /* Caller ID time */
+#define VN_CI_NA 226 /* Caller ID name */
+#define VN_CI_NU 227 /* Caller ID number */
+#define VN_CI_ME 228 /* Caller ID message */
+#define VN_PERSONAL 229 /* Personal Directory on Windows */
+#define VN_APPDATA 230 /* User AppData directory */
+#define VN_COMMON 231 /* Common AppData directory */
+#define VN_DESKTOP 232 /* User Desktop directory */
+#define VN_TNC_SIG 233 /* RFC 2717 Signature */
+
+#ifdef KUI
+#define VN_GUI_XP 234 /* GUI Window X position */
+#define VN_GUI_YP 235 /* GUI Window Y position */
+#define VN_GUI_XR 236 /* GUI Window X resolution */
+#define VN_GUI_YR 237 /* GUI Window Y resolution */
+#define VN_GUI_RUN 238 /* GUI Window Run mode */
+#define VN_GUI_FNM 239 /* GUI Window Font Name */
+#define VN_GUI_FSZ 240 /* GUI Window Font Size */
+#endif /* KUI */
+
+#define VN_LOG_PKT 241 /* Packet Log Filename */
+#define VN_LOG_TRA 242 /* Transaction Log Filename */
+#define VN_LOG_SES 243 /* Session Log Filename */
+#define VN_LOG_DEB 244 /* Debug Log Filename */
+#define VN_LOG_CON 245 /* Connection Log Filename */
+
+#define VN_ISCALE 246 /* INPUT scale factor */
+#endif /* NOSPL */
+
+/* INPUT status values */
+
+#define INP_OK 0 /* Succeeded */
+#define INP_TO 1 /* Timed out */
+#define INP_UI 2 /* User interrupted */
+#define INP_IE 3 /* Internal error */
+#define INP_IO 4 /* I/O error or connection lost */
+#define INP_IKS 5 /* Kermit Server Active */
+
+#ifndef NOSPL
+/* Symbols for builtin functions */
+
+#define FNARGS 6 /* Maximum number of function args */
+
+#define FN_IND 0 /* Index (of string 1 in string 2) */
+#define FN_LEN 1 /* Length (of string) */
+#define FN_LIT 2 /* Literal (don't expand the string) */
+#define FN_LOW 3 /* Lower (convert to lowercase) */
+#define FN_MAX 4 /* Max (maximum) */
+#define FN_MIN 5 /* Min (minimum) */
+#define FN_MOD 6 /* Mod (modulus) */
+#define FN_EVA 7 /* Eval (evaluate arith expression) */
+#define FN_SUB 8 /* Substr (substring) */
+#define FN_UPP 9 /* Upper (convert to uppercase) */
+#define FN_REV 10 /* Reverse (a string) */
+#define FN_REP 11 /* Repeat (a string) */
+#define FN_EXE 12 /* Execute (a macro) */
+#define FN_VAL 13 /* Return value (of a macro) */
+#define FN_LPA 14 /* LPAD (left pad) */
+#define FN_RPA 15 /* RPAD (right pad) */
+#define FN_DEF 16 /* Definition of a macro, unexpanded */
+#define FN_CON 17 /* Contents of a variable, ditto */
+#define FN_FIL 18 /* File list */
+#define FN_FC 19 /* File count */
+#define FN_CHR 20 /* Character (like BASIC CHR$()) */
+#define FN_RIG 21 /* Right (like BASIC RIGHT$()) */
+#define FN_COD 22 /* Code value of character */
+#define FN_RPL 23 /* Replace */
+#define FN_FD 24 /* File date */
+#define FN_FS 25 /* File size */
+#define FN_RIX 26 /* Rindex (index from right) */
+#define FN_VER 27 /* Verify */
+#define FN_IPA 28 /* Find and return IP address */
+#define FN_CRY 39 /* ... */
+#define FN_OOX 40 /* ... */
+#define FN_HEX 41 /* Hexify */
+#define FN_UNH 42 /* Unhexify */
+#define FN_BRK 43 /* Break */
+#define FN_SPN 44 /* Span */
+#define FN_TRM 45 /* Trim */
+#define FN_LTR 46 /* Left-Trim */
+#define FN_CAP 47 /* Capitalize */
+#define FN_TOD 48 /* Time-of-day-to-secs-since-midnite */
+#define FN_SEC 49 /* Secs-since-midnite-to-time-of-day */
+#define FN_FFN 50 /* Full file name */
+#define FN_CHK 51 /* Checksum of text */
+#define FN_CRC 52 /* CRC-16 of text */
+#define FN_BSN 53 /* Basename of file */
+#define FN_CMD 54 /* Output of a command (cooked) */
+#define FN_RAW 55 /* Output of a command (raw) */
+#define FN_STX 56 /* Strip from right */
+#define FN_STL 57 /* Strip from left */
+#define FN_STN 58 /* Strip n chars */
+#define FN_SCRN_CX 59 /* Screen Cursor X Pos */
+#define FN_SCRN_CY 60 /* Screen Cursor Y Pos */
+#define FN_SCRN_STR 61 /* Screen String */
+#define FN_2HEX 62 /* Number (not string) to hex */
+#define FN_2OCT 63 /* Number (not string) to octal */
+#define FN_RFIL 64 /* Recursive file list */
+#define FN_DIR 65 /* Directory list */
+#define FN_RDIR 66 /* Recursive directory list */
+#define FN_DNAM 67 /* Directory part of filename */
+#define FN_RAND 68 /* Random number */
+#define FN_WORD 69 /* Word extraction */
+#define FN_SPLIT 70 /* Split string into words */
+#define FN_KRB_TK 71 /* Kerberos tickets */
+#define FN_KRB_NX 72 /* Kerberos next ticket */
+#define FN_KRB_IV 73 /* Kerberos ticket is valid */
+#define FN_KRB_TT 74 /* Kerberos ticket time */
+#define FN_ERRMSG 75 /* Error code to message */
+
+#ifndef UNIX
+#ifndef VMS
+#undef FN_ERRMSG
+#endif /* VMS */
+#endif /* UNIX */
+
+#define FN_DIM 76 /* Dimension of array */
+#define FN_DTIM 77 /* Convert to standard date/time */
+#define FN_JDATE 78 /* Regular date to day of year */
+#define FN_PNCVT 79 /* Convert phone number for dialing */
+#define FN_DATEJ 80 /* Day of year to date */
+#define FN_MJD 81 /* Date to modified Julian date */
+#define FN_MJD2 82 /* Modified Julian date to date */
+#define FN_DAY 83 /* Day of week of given date */
+#define FN_NDAY 84 /* Numeric day of week of given date */
+#define FN_TIME 85 /* Convert to hh:mm:ss */
+#define FN_NTIM 86 /* Convert to seconds since midnite */
+#define FN_N2TIM 87 /* Sec since midnite to hh:mm:ss */
+#define FN_PERM 88 /* Permissions of file */
+#define FN_KRB_FG 89 /* Kerberos Ticket Flags */
+#define FN_SEARCH 90 /* Search for pattern in string */
+#define FN_RSEARCH 91 /* Ditto, but right to left */
+#define FN_XLATE 92 /* Translate string charset */
+#define FN_ALOOK 93 /* Array lookup */
+#define FN_TLOOK 94 /* Table lookup */
+#define FN_TOB64 95 /* Encode into Base64 */
+#define FN_FMB64 96 /* Decode from Base64 */
+
+#define FN_ABS 97 /* Absolute value */
+
+#ifdef CKFLOAT
+#define FN_FPADD 98 /* Floating-point add */
+#define FN_FPSUB 99 /* Floating-point substract */
+#define FN_FPMUL 100 /* Floating-point multiply */
+#define FN_FPDIV 101 /* Floating-point divide */
+#define FN_FPEXP 102 /* Floating-point e to the x */
+#define FN_FPLN 103 /* Floating-point natural log */
+#define FN_FPLOG 104 /* Floating-point base-10 log */
+#define FN_FPPOW 105 /* Floating-point raise to power */
+#define FN_FPSQR 106 /* Floating-point square root */
+#define FN_FPABS 107 /* Floating-point absolute value */
+#define FN_FPMOD 108 /* Floating-point modulus */
+#define FN_FPMAX 109 /* Floating-point maximum */
+#define FN_FPMIN 110 /* Floating-point minimum*/
+#define FN_FPINT 111 /* Floating-point to integer */
+#define FN_FPROU 112 /* Floating-point round */
+#define FN_FPSIN 113 /* FP sine */
+#define FN_FPCOS 114 /* FP cosine */
+#define FN_FPTAN 115 /* FP tangent */
+#endif /* CKFLOAT */
+
+#ifdef CKCHANNELIO
+#define FN_FSTAT 116 /* File status */
+#define FN_FPOS 117 /* File position */
+#define FN_FEOF 118 /* File eof */
+#define FN_FILNO 119 /* File number / handle */
+#define FN_FGCHAR 120 /* File getchar */
+#define FN_FGLINE 121 /* File getline */
+#define FN_FGBLK 122 /* File getblock */
+#define FN_FPCHAR 123 /* File putchar */
+#define FN_FPLINE 124 /* File putline */
+#define FN_FPBLK 125 /* File putblock */
+#define FN_NLINE 126 /* File get current line number */
+#define FN_FERMSG 127 /* File error message */
+#endif /* CKCHANNELIO */
+
+#define FN_LEF 128 /* Left (= substr starting on left) */
+#define FN_AADUMP 129 /* Associative Array Dump */
+#define FN_STB 130 /* \fstripb() */
+#define FN_PATTERN 131 /* \fpattern() */
+#define FN_HEX2N 132 /* \fhexton() */
+#define FN_OCT2N 133 /* \foctton() */
+#define FN_HEX2IP 134 /* \fhextoip() */
+#define FN_IP2HEX 135 /* \fiptohex() */
+#define FN_RADIX 136 /* \fradix() */
+#define FN_JOIN 137 /* \fjoin() */
+#define FN_SUBST 138 /* \fsubstitute() */
+#define FN_SEXP 139 /* \fsexpression() */
+#define FN_CMDSTK 140 /* \fcmdstack() */
+#define FN_TOGMT 141 /* \ftogmt() */
+#define FN_CMPDATE 142 /* \fcmpdates() */
+#define FN_DIFDATE 143 /* \fdiffdates() */
+#ifdef TCPSOCKET
+#define FN_HSTADD 144 /* \faddr2name() */
+#define FN_HSTNAM 145 /* \fname2addr() */
+#endif /* TCPSOCKET */
+#define FN_DELSEC 146 /* \fdelta2sec() */
+#define FN_PC_DU 147 /* Path conversion DOS to Unix */
+#define FN_PC_VU 148 /* Path conversion VMS to Unix */
+#define FN_PC_UD 149 /* Path conversion Unix to DOS */
+#define FN_PC_UV 150 /* Path conversion Unix to VMS */
+#define FN_KWVAL 151 /* \fkeywordvalue() */
+#define FN_SLEEP 152 /* \fsleep() */
+#define FN_MSLEEP 153 /* \fmsleep() */
+#define FN_LNAME 154 /* \fLongPathName() (Windows) */
+#define FN_SNAME 155 /* \fShortPathName() (Windows) */
+#define FN_UNTAB 156 /* \funtabify() */
+
+#endif /* NOSPL */
+
+/* Time Units */
+
+#define TU_DAYS 0
+#define TU_WEEKS 1
+#define TU_MONTHS 2
+#define TU_YEARS 3
+
+#ifdef CK_CURSES
+/* Screen line numbers for fullscreen file-transfer display */
+
+#define CW_BAN 0 /* Curses Window Banner */
+#define CW_DIR 2 /* Current directory */
+#define CW_LIN 3 /* Communication device */
+#define CW_SPD 4 /* Communication speed */
+#define CW_PAR 5 /* Parity */
+#define CW_TMO 6
+#define CW_NAM 7 /* Filename */
+#define CW_TYP 8 /* File type */
+#define CW_SIZ 9 /* File size */
+#define CW_PCD 10 /* Percent done */
+
+#ifndef CK_PCT_BAR
+#define CW_TR 11 /* Time remaining */
+#define CW_CP 12 /* Characters per second */
+#define CW_WS 13 /* Window slots */
+#define CW_PT 14 /* Packet type */
+#define CW_PC 15 /* Packet count */
+#define CW_PL 16 /* Packet length */
+#define CW_PR 17 /* Packet retry */
+#ifdef COMMENT
+#define CW_PB 17 /* Packet block check */
+#endif /* COMMENT */
+#else /* CK_PCT_BAR */
+#define CW_BAR 11 /* Percent Bar Scale */
+#define CW_TR 12 /* Time remaining */
+#define CW_CP 13 /* Chars per sec */
+#define CW_WS 14 /* Window slots */
+#define CW_PT 15 /* Packet type */
+#define CW_PC 16 /* Packet count */
+#define CW_PL 17 /* Packet length */
+#define CW_PR 18 /* Packet retry */
+#ifdef COMMENT
+#define CW_PB 18 /* Packet block check */
+#endif /* COMMENT */
+#endif /* CK_PCT_BAR */
+
+#define CW_ERR 19 /* Error message */
+#define CW_MSG 20 /* Info message */
+#define CW_INT 22 /* Instructions */
+#define CW_FFC 99 /* File Characters Sent/Received */
+#endif /* CK_CURSES */
+
+#ifndef NOICP
+/* Save Commands */
+#define XSKEY 0 /* Key map file */
+#define XSCMD 1 /* Command mode */
+#define XSTERM 2 /* Terminal mode */
+#endif /* NOICP */
+
+#ifndef NODIAL
+/* Dial routine sort priorities */
+#define DN_INTERN 0
+#define DN_FREE 1
+#define DN_LOCAL 2
+#define DN_UNK 3
+#define DN_LONG 4
+#define DN_INTL 5
+#endif /* NODIAL */
+
+#ifdef SSHBUILTIN
+#define XSSH_OPN 1
+#define XSSH_V2 2
+#define XSSH_FLP 3
+#define XSSH_FRP 4
+#define XSSH_ADD 5
+#define XSSH_KEY 6
+#define XSSH_CLR 7
+#define XSSH_AGT 8
+
+#define SSHKT_1R 0 /* SSH KEY TYPE symbols */
+#define SSHKT_2R 1 /* must match ssh/key.h values */
+#define SSHKT_2D 2
+#define SSHKT_SRP 3
+
+#define SSHKD_IN 1 /* SSH KEY DISPLAY /IN-FORMAT */
+#define SSHKD_OUT 2 /* SSH KEY DISPLAY /OUT-FORMAT */
+
+#define SKDF_OSSH 1 /* Key display format OpenSSH */
+#define SKDF_SSHC 2 /* Key display format SSH.COM */
+#define SKDF_IETF 3 /* Key display format IETF */
+#define SKDF_FING 4 /* Key display format FINGERPRINT */
+
+#define SSHSW_USR 1
+#define SSHSW_VER 2
+#define SSHSW_CMD 3
+#define SSHSW_X11 4
+#define SSHSW_PWD 5
+#define SSHSW_SUB 6
+
+#define SSHC_LPF 1
+#define SSHC_RPF 2
+
+#define XSSH2_RKE 1
+
+#define SSHF_LCL 1
+#define SSHF_RMT 2
+
+#define SSHA_ADD 1
+#define SSHA_DEL 2
+#define SSHA_LST 3
+
+#define SSHASW_FP 1
+
+#define SSHK_PASS 1
+#define SSHK_CREA 2
+#define SSHK_DISP 3
+#define SSHK_V1 4
+
+#define SSHKC_BI 1
+#define SSHKC_PP 2
+#define SSHKC_TY 3
+#define SSHKC_1R 4
+
+#define SKRM_OPN 1
+#endif /* SSHBUILTIN */
+
+#ifdef SFTP_BUILTIN
+#define SFTP_OPN 1
+#define SFTP_CD 2
+#define SFTP_CHGRP 3
+#define SFTP_CHMOD 4
+#define SFTP_CHOWN 5
+#define SFTP_DIR 6
+#define SFTP_GET 7
+#define SFTP_MKDIR 8
+#define SFTP_PWD 9
+#define SFTP_PUT 10
+#define SFTP_REN 11
+#define SFTP_RM 12
+#define SFTP_RMDIR 13
+#define SFTP_LINK 14
+#define SFTP_VER 15
+
+#define XY_SFTP_RCS 1
+#define XY_SFTP_EOL 2
+#endif /* SFTP_BUILTIN */
+
+/* ANSI-C prototypes for user interface functions */
+
+#ifndef NOICP
+_PROTOTYP( int matchname, ( char *, int, int ) );
+_PROTOTYP( int ck_cls, ( void ) );
+_PROTOTYP( int ck_cleol, ( void ) );
+_PROTOTYP( int ck_curpos, ( int, int ) );
+_PROTOTYP( int cmdsrc, ( void ) );
+_PROTOTYP( int parser, ( int ) );
+_PROTOTYP( int chkvar, (char *) );
+_PROTOTYP( int zzstring, (char *, char **, int *) );
+#ifndef NOFRILLS
+_PROTOTYP( int yystring, (char *, char **) );
+#endif /* NOFRILLS */
+_PROTOTYP( int getncm, (char *, int) );
+_PROTOTYP( int getnct, (char *, int, FILE *, int) );
+#endif /* NOICP */
+_PROTOTYP( VOID bgchk, (void) );
+_PROTOTYP( char * nvlook, (char *) );
+_PROTOTYP( int xarray, (char *) );
+_PROTOTYP( int arraynam, (char *, int *, int *) );
+_PROTOTYP( int arraybounds, (char *, int *, int *) );
+_PROTOTYP( int arrayitoa, (int) );
+_PROTOTYP( int arrayatoi, (int) );
+_PROTOTYP( char * bldlen, (char *, char *) );
+_PROTOTYP( int chkarray, (int, int) );
+_PROTOTYP( int dclarray, (char, int) );
+_PROTOTYP( int pusharray, (int, int) );
+_PROTOTYP( int parsevar, (char *, int *, int *) );
+_PROTOTYP( int macini, (void) );
+_PROTOTYP( VOID initmac, (void) );
+_PROTOTYP( int delmac, (char *, int) );
+_PROTOTYP( int addmac, (char *, char *) );
+_PROTOTYP( int domac, (char *, char *, int) );
+_PROTOTYP( int addmmac, (char *, char *[]) );
+_PROTOTYP( int dobug, (void) );
+_PROTOTYP( int docd, (int) );
+_PROTOTYP( int doclslog, (int) );
+_PROTOTYP( int docmd, (int) );
+_PROTOTYP( int dodir, (int) );
+_PROTOTYP( int dodo, (int, char *, int) );
+_PROTOTYP( int doenable, (int, int) );
+_PROTOTYP( int dogoto, (char *, int) );
+_PROTOTYP( int dogta, (int) );
+_PROTOTYP( int dohlp, (int) );
+_PROTOTYP( int dohrmt, (int) );
+_PROTOTYP( int doif, (int) );
+_PROTOTYP( int doinput, (int, char *[], int[], int) );
+_PROTOTYP( int doreinp, (int, char *, int) );
+_PROTOTYP( int dolog, (int) );
+_PROTOTYP( int dologin, (char *) );
+_PROTOTYP( int doopen, (void) );
+_PROTOTYP( int doprm, (int, int) );
+_PROTOTYP( int doreturn, (char *) );
+_PROTOTYP( int dormt, (int) );
+_PROTOTYP( int dosort, (void) );
+_PROTOTYP( int dostat, (int) );
+_PROTOTYP( int dostop, (void) );
+_PROTOTYP( int dotype, (char *, int, int, int, char *, int, char *, int, int,
+ char *, int));
+_PROTOTYP( int transmit, (char *, char, int, int, int) );
+_PROTOTYP( int xlate, (char *, char *, int, int) );
+_PROTOTYP( int litcmd, (char **, char **, int) );
+_PROTOTYP( int incvar, (char *, int, int) );
+_PROTOTYP( int ckdial, (char *, int, int, int, int) );
+_PROTOTYP( int hmsg, (char *) );
+_PROTOTYP( int hmsga, (char * []) );
+_PROTOTYP( int mlook, (struct mtab [], char *, int) );
+_PROTOTYP( int mxlook, (struct mtab [], char *, int) );
+_PROTOTYP( int mxxlook, (struct mtab [], char *, int) );
+_PROTOTYP( int prtopt, (int *, char *) );
+_PROTOTYP( CHAR rfilop, (char *, char) );
+_PROTOTYP( int setcc, (char *, int *) );
+_PROTOTYP( int setnum, (int *, int, int, int) );
+_PROTOTYP( int seton, (int *) );
+_PROTOTYP( int setonaut, (int *) );
+_PROTOTYP( VOID shmdmlin, (void) );
+_PROTOTYP( VOID initmdm, (int) );
+_PROTOTYP( char * showoff, (int) );
+_PROTOTYP( char * showooa, (int) );
+_PROTOTYP( char * showstring, (char *) );
+_PROTOTYP( int pktopn, (char *,int) );
+_PROTOTYP( int traopn, (char *,int) );
+_PROTOTYP( int sesopn, (char *,int) );
+_PROTOTYP( int debopn, (char *,int) );
+_PROTOTYP( int diaopn, (char *,int,int) );
+_PROTOTYP( int prepop, (void) );
+_PROTOTYP( int popclvl, (void) );
+_PROTOTYP( int varval, (char *, int *) );
+_PROTOTYP( char * evala, (char *) );
+_PROTOTYP( char * evalx, (char *) );
+_PROTOTYP( int setalarm, (long) );
+_PROTOTYP( int setat, (int) );
+_PROTOTYP( int setinp, (void) );
+_PROTOTYP( VOID dolognet, (void) );
+_PROTOTYP( VOID dologline, (void) );
+_PROTOTYP( int setlin, (int, int, int) );
+_PROTOTYP( int setmodem, (void) );
+_PROTOTYP( int setfil, (int) );
+_PROTOTYP( char * homepath, (void) );
+#ifdef OS2
+_PROTOTYP( int settapi, (void) ) ;
+#ifdef OS2MOUSE
+_PROTOTYP( int setmou, (void) );
+#endif /* OS2MOUSE */
+#endif /* OS2 */
+#ifdef LOCUS
+_PROTOTYP( VOID setlocus, (int,int) );
+_PROTOTYP( VOID setautolocus, (int) );
+#endif /* LOCUS */
+_PROTOTYP( int setbell, (void) );
+_PROTOTYP( VOID setcmask, (int));
+_PROTOTYP( VOID setautodl, (int,int));
+_PROTOTYP( VOID setdebses, (int));
+_PROTOTYP( VOID setseslog, (int));
+_PROTOTYP( VOID setaprint, (int));
+_PROTOTYP( int settrm, (void) );
+_PROTOTYP( int settrmtyp, (void) );
+_PROTOTYP( int setsr, (int, int) );
+_PROTOTYP( int setxmit, (void) );
+_PROTOTYP( int dosetkey, (void) );
+_PROTOTYP( int dochk, (void) );
+_PROTOTYP( int ludial, (char *, int) );
+_PROTOTYP( char * getdnum, (int) );
+_PROTOTYP( VOID getnetenv, (void) );
+_PROTOTYP( int getyesno, (char *, int) );
+_PROTOTYP( VOID xwords, (char *, int, char *[], int) );
+#ifdef OS2
+_PROTOTYP( VOID keynaminit, (void) );
+#endif /* OS2 */
+_PROTOTYP( int xlookup, (struct keytab[], char *, int, int *) );
+_PROTOTYP( char * rlookup, (struct keytab[], int, int) );
+_PROTOTYP( int hupok, (int) );
+_PROTOTYP( char * zzndate, (void) );
+_PROTOTYP( char * zjdate, (char *) );
+_PROTOTYP( char * jzdate, (char *) );
+_PROTOTYP( char * ckdate, (void) );
+_PROTOTYP( char * chk_ac, (int, char[]) );
+_PROTOTYP( char * gmdmtyp, (void) );
+_PROTOTYP( char * gfmode, (int, int) );
+_PROTOTYP( int setdest, (void) );
+_PROTOTYP( VOID ndinit, (void) );
+_PROTOTYP( int doswitch, (void) );
+_PROTOTYP( int dolocal, (void) );
+_PROTOTYP( long tod2sec, (char *) );
+_PROTOTYP( int lunet, (char *) );
+_PROTOTYP( int doxdis, (int) );
+_PROTOTYP( int dosave, (int) );
+_PROTOTYP( int doxsend, (int) );
+_PROTOTYP( int doxget, (int) );
+_PROTOTYP( int doxconn, (int) );
+_PROTOTYP( int clsconnx, (int) );
+_PROTOTYP( VOID ftreset, (void) );
+#ifdef CK_KERBEROS
+_PROTOTYP (int cp_auth, ( void ) );
+#endif /* CK_KERBEROS */
+_PROTOTYP( long mjd, (char *) );
+_PROTOTYP( char * mjd2date, (long) );
+_PROTOTYP( char * ckgetpid, (void) );
+
+_PROTOTYP( int dogrep, (void) );
+
+#ifndef NOFTP
+#ifndef SYSFTP
+_PROTOTYP( int doxftp, (void) );
+_PROTOTYP( int doftphlp, (void) );
+_PROTOTYP( int dosetftp, (void) );
+_PROTOTYP( int dosetftphlp, (void) );
+_PROTOTYP( int shoftp, (int) );
+#endif /* SYSFTP */
+#endif /* NOFTP */
+
+_PROTOTYP( VOID cmhistory, (void) );
+_PROTOTYP( char * getdcset, (void) );
+_PROTOTYP( char * ttgtpn, (void) );
+
+#ifndef NOSHOW
+_PROTOTYP( int doshow, (int) );
+_PROTOTYP( int shotcp, (int) );
+_PROTOTYP( VOID shopar, (void) );
+_PROTOTYP( VOID shofil, (void) );
+_PROTOTYP( VOID shoparp, (void) );
+_PROTOTYP( int shoatt, (void) );
+_PROTOTYP( VOID shover, (void) );
+_PROTOTYP( VOID shoctl, (void) );
+_PROTOTYP( VOID shodbl, (void) );
+#ifndef NOSPL
+_PROTOTYP( int shomac, (char *, char *) );
+_PROTOTYP( int doshift, (int) );
+#endif /* NOSPL */
+#ifndef NOCSETS
+_PROTOTYP( VOID shocharset, (void) );
+_PROTOTYP( VOID shoparl, (void) );
+_PROTOTYP( VOID shotcs, (int, int) );
+#endif /* NOCSETS */
+#ifndef NOLOCAL
+_PROTOTYP( VOID shoparc, (void) );
+_PROTOTYP( int shomodem, (void) );
+#ifndef NODIAL
+_PROTOTYP( VOID shods, (char *) );
+_PROTOTYP( VOID shodial, (void) );
+_PROTOTYP( int doshodial, (void) );
+#endif /* NODIAL */
+#ifndef NONET
+_PROTOTYP( int shonet, (void) );
+_PROTOTYP( int shotopt, (int) );
+_PROTOTYP( int shotel, (int) );
+#ifdef CK_AUTHENTICATION
+_PROTOTYP (int sho_auth,( int ) );
+#endif /* CK_AUTHENTICATION */
+#endif /* NONET */
+_PROTOTYP( VOID shomdm, (void) );
+#endif /* NOLOCAL */
+#ifdef OS2
+_PROTOTYP( VOID shokeycode, (int,int) );
+#else
+_PROTOTYP( VOID shokeycode, (int) );
+#endif /* OS2 */
+_PROTOTYP( VOID showassoc, (void) );
+_PROTOTYP( VOID showdiropts, (void) );
+_PROTOTYP( VOID showdelopts, (void) );
+_PROTOTYP( VOID showtypopts, (void) );
+_PROTOTYP( VOID showpurgopts, (void) );
+_PROTOTYP( VOID shoflow, (void) );
+_PROTOTYP( VOID shoxfer, (void) );
+#ifdef ANYSSH
+_PROTOTYP( VOID shossh, (void) );
+#endif /* ANYSSH */
+#endif /* NOSHOW */
+
+_PROTOTYP( VOID shostrdef, (CHAR *) );
+
+#ifndef NOSPL
+_PROTOTYP( int addlocal, (char *) );
+#endif /* NOSPL */
+
+_PROTOTYP( int setdelopts, (void) );
+
+#ifdef VMS
+_PROTOTYP( int cvtdir, (char *, char *, int) );
+#endif /* VMS */
+
+#ifdef FNFLOAT
+_PROTOTYP( VOID initfloat, (void) );
+#endif /* FNFLOAT */
+
+#ifdef CKCHANNELIO
+_PROTOTYP( int dofile, (int) );
+#endif /* CKCHANNELIO */
+
+#ifdef CKROOT
+_PROTOTYP( int dochroot, (void) );
+#endif /* CKROOT */
+
+#ifdef NEWFTP
+_PROTOTYP( int doftpusr, (void) );
+_PROTOTYP( int doftpput, (int,int) );
+_PROTOTYP( int doftpget, (int,int) );
+_PROTOTYP( int doftprmt, (int,int) );
+_PROTOTYP( int ftpopen, (char *, char *, int) );
+_PROTOTYP( int cmdlinget, (int) );
+_PROTOTYP( int cmdlinput, (int) );
+_PROTOTYP( int doftparg, (char) );
+_PROTOTYP( int doftpacct, (void) );
+_PROTOTYP( int doftpsite, (void) );
+_PROTOTYP( int dosetftppsv, (void) );
+_PROTOTYP( int ftpbye, (void) );
+#endif /* NEWFTP */
+
+#ifdef COMMENT
+/* These prototypes are no longer used */
+_PROTOTYP( char * getdws, (int) );
+_PROTOTYP( char * getdcs, (int) );
+_PROTOTYP( int doget, (int) );
+_PROTOTYP( char * arrayval, (int, int) );
+#endif /* COMMENT */
+
+#ifdef KUI
+_PROTOTYP(int BuildFontTable,
+ (struct keytab ** pTable, struct keytab ** pTable2, int * pN));
+#endif /* KUI */
+
+_PROTOTYP(int cx_net, (int net, int protocol, char * xhost, char * svc,
+ char * username, char * password, char * command,
+ int param1, int param2, int param3,
+ int cx, int sx, int flag, int gui));
+_PROTOTYP(int cx_serial, (char *device,
+ int cx, int sx, int shr, int flag, int gui, int special));
+
+#endif /* CKUUSR_H */
+
+/* End of ckuusr.h */