imported 9.0.299 Beta.01
[ckermit.git] / ckccfg.txt
diff --git a/ckccfg.txt b/ckccfg.txt
deleted file mode 100644 (file)
index 5870974..0000000
+++ /dev/null
@@ -1,1766 +0,0 @@
-
-                        C-Kermit Configuration Options
-
-     Frank da Cruz
-     [1]The Kermit Project
-     [2]Columbia University
-
-   As of: C-Kermit 8.0.211, 10 April 2004
-   This page last updated: Sun Apr 11 16:45:55 2004 (New York USA Time)
-
-     IF YOU ARE READING A PLAIN-TEXT version of this document, note that
-     this file is a plain-text dump of a Web page. You can visit the
-     original (and possibly more up-to-date) Web page here:
-
-  [3]http://www.columbia.edu/kermit/ckccfg.html
-
-   [ [4]C-Kermit Home ] [ [5]Kermit Home ]
-    ________________________________________________________________________
-
-  CONTENTS
-
-  1. [6]FILE TRANSFER
-  2. [7]SERIAL COMMUNICATION SPEEDS
-  3. [8]FULLSCREEN FILE TRANSFER DISPLAY
-  4. [9]CHARACTER SETS
-  5. [10]APC EXECUTION
-  6. [11]PROGRAM SIZE
-  7. [12]MODEM DIALING
-  8. [13]NETWORK SUPPORT
-  9. [14]EXCEPTION HANDLING
- 10. [15]SECURITY FEATURES
- 11. [16]ENABLING SELECT()
- 12. [17]I/O REDIRECTION
- 13. [18]FLOATING-POINT NUMBERS, TIMERS, AND ARITHMETIC
- 14. [19]SPECIAL CONFIGURATIONS
-  I. [20]SUMMARY OF COMPILE-TIME OPTIONS
-    ________________________________________________________________________
-
-  OVERVIEW
-
-   This document describes configuration options for C-Kermit (5A and
-   later). The major topics covered include program size (and how to
-   reduce it), how to include or exclude particular features, notes on
-   serial-port, modem, and network support, and a list of C-Kermit's
-   compile-time options.
-
-   For details about your particular operating system, also see the
-   system-specific installation instructions file, such as the
-   [21]C-Kermit Installation Instructions for Unix.
-
-   [ [22]C-Kermit Home ] [ [23]Kermit Home ]
-    ________________________________________________________________________
-
-  1. FILE TRANSFER
-
-   [ [24]Top ] [ [25]Contents ] [ [26]Next ] [ [27]Previous ]
-
-   Prior to version 7.0, C-Kermit was always built with the most
-   conservative Kermit file-transfer protocol defaults on every platform:
-   no control-character prefixing, 94-byte packets, and a window size of
-   1.
-
-   Starting in version 7.0, fast settings are the default. To override
-   these at compile time, include:
-
-  -DNOFAST
-
-   in the C compiler CFLAGS. Even with the fast defaults, C-Kermit
-   automatically drops down to whatever window and packet sizes requested
-   by the other Kermit, if these are smaller, when sending files (except
-   for control-character unprefixing, which is not negotiated, and which
-   is now set to CAUTIOUS rather than NONE at startup). C-Kermit's
-   settings prevail when it is receiving.
-
-   [ [28]C-Kermit Home ] [ [29]Kermit Home ]
-    ________________________________________________________________________
-
-  2. SERIAL COMMUNICATION SPEEDS
-
-   [ [30]Top ] [ [31]Contents ] [ [32]Next ] [ [33]Previous ]
-
-   As of 6 September 1997, a new simplified mechanism for obtaining the
-   list of legal serial interface speeds is in place:
-
-     * If the symbol TTSPDLIST is defined, the system-dependent routine
-       ttspdlist() is called at program initialization to obtain the
-       list.
-     * This symbol should be defined only for C-Kermit implementations
-       that have implemented the ttspdlist() function, typically in the
-       ck?tio.c module. See [34]ckutio.c for an example.
-     * TTSPDLIST is automatically defined in [35]ckcdeb.h for UNIX. Add
-       the appropriate #ifdefs for other platforms when the corresponding
-       ttspdlist() functions are filled in.
-     * If TTSPDLIST is (or normally would be) defined, the old code
-       (described below) can still be selected by defining NOTTSPDLIST.
-
-   The ttspdlist() function can obtain the speeds in any way that works.
-   For example, based simply on #ifdef Bnnnn..#endif (in UNIX). Although
-   it might be better to actually check each speed against the currently
-   selected hardware interface before allowing it in the array, there is
-   usually no passive and/or reliable and safe way to do this, and so
-   it's better to let some speeds into the array that might not work,
-   than it is to erroneously exclude others. Speeds that don't work are
-   caught when the SET SPEED command is actually given.
-
-   Note that this scheme does not necessarily rule out split speed
-   operation, but effectively it does in C-Kermit as presently
-   constituted since there are no commands to set input and output speed
-   separately (except the special case "set speed 75/1200").
-
-   Note that some platforms, notably AIX 4.2 and 4.3, implement high
-   serial speeds transparently to the application, e.g. by mapping 50 bps
-   to 57600 bps, and so on.
-
-   That's the whole deal. When TTSPDLIST is not defined, the following
-   applies:
-
-   Speeds are defined in two places: the SET SPEED keyword list in the
-   command parser (as of this writing, in the [36]ckuus3.c source file),
-   and in the system- dependent communications i/o module, ck?tio.c,
-   functions ttsspd() (set speed) and ttgspd() (get speed). The following
-   speeds are assumed to be available in all versions:
-
-  0, 110, 300, 600, 1200, 2400, 4800, 9600
-
-   If one or more of these speeds is not supported by your system, you'll
-   need to change the source code (this has never happened so far). Other
-   speeds that are not common to all systems have Kermit-specific
-   symbols:
-
-               Symbol       Symbol
-  Speed (bps)  to enable    to disable
-       50       BPS_50       NOB_50
-       75       BPS_75       NOB_75
-       75/1200  BPS_7512     NOB_7512
-      134.5     BPS_134      NOB_134
-      150       BPS_150      NOB_150
-      200       BPS_200      NOB_200
-     1800       BPS_1800     NOB_1800
-     3600       BPS_3600     NOB_3600
-     7200       BPS_7200     NOB_7200
-    14400       BPS_14K      NOB_14K
-    19200       BPS_19K      NOB_19K
-    28800       BPS_28K      NOB_28K
-    38400       BPS_38K      NOB_38K
-    57600       BPS_57K      NOB_57K
-    76800       BPS_76K      NOB_76K
-   115200       BPS_115K     NOB_155K
-   230400       BPS_230K     NOB_230K
-   460800       BPS_460K     NOB_460K
-   921600       BPS_921K     NOB_921K
-
-   The [37]ckcdeb.h header file contains default speed configurations for
-   the many systems that C-Kermit supports. You can override these
-   defaults by (a) editing ckcdeb.h, or (b) defining the appropriate
-   enabling and/or disabling symbols on the CC command line, for example:
-
-  -DBPS_14400 -DNOB_115200
-
-   or the "make" command line, e.g.:
-
-  make blah "KFLAGS=-DBPS_14400 -DNOB_115200"
-
-   Note: some speeds have no symbols defined for them, because they have
-   never been needed: 12.5bps, 45.5bps, 20000bps, etc. These can easily
-   be added if required (but they will work only if the OS supports
-   them).
-
-   IMPORTANT: Adding one of these flags at compile time does not
-   necessarily mean that you will be able to use that speed. A particular
-   speed is usable only if your underlying operating system supports it.
-   In particular, it needs to be defined in the appropriate system header
-   file (e.g. in UNIX, cd to /usr/include and grep for B9600 in *.h and
-   sys/*.h to find the header file that contains the definitions for the
-   supported speeds), and supported by the serial device driver, and of
-   course by the physical device itself.
-
-   ALSO IMPORTANT: The list of available speeds is independent of how
-   they are set. The many UNIXes, for example, offer a wide variety of
-   APIs that are BSD-based, SYSV-based, POSIX-based, and purely made up.
-   See the ttsspd(), ttgspd(), and ttspdlist() routines in [38]ckutio.c
-   for illustrations.
-
-   The latest entries in this horserace are the tcgetspeed() and
-   ttsetspeed() routines found in UnixWare 7. Unlike other methods, they
-   accept the entire range of integers (longs really) as speed values,
-   rather than certain codes, and return an error if the number is not,
-   in fact, a legal speed for the device/driver in question. In this
-   case, there is no way to build a list of legal speeds at compile time,
-   since no Bnnnn symbols are defined (except for "depracated, legacy"
-   interfaces like ioctl()) and so the legal speed list must be
-   enumerated in the code -- see ttspdlist() in [39]ckutio.c.
-
-   [ [40]C-Kermit Home ] [ [41]Kermit Home ]
-    ________________________________________________________________________
-
-  3. FULLSCREEN FILE TRANSFER DISPLAY
-
-   [ [42]Top ] [ [43]Contents ] [ [44]Next ] [ [45]Previous ]
-
-   New to edit 180 is support for an MS-DOS-Kermit-like local-mode full
-   screen file transfer display, accomplished using the curses library,
-   or something equivalent (for example, the Screen Manager on DEC VMS).
-   To enable this feature, include the following in your CFLAGS:
-
-  -DCK_CURSES
-
-   and then change your build procedure (if necessary) to include the
-   necessary libraries. For example, in Unix these are usually "curses"
-   or "ncurses" (and more recenlty, "ncursesw" and "slang"), perhaps also
-   "termcap", "termlib", or "tinfo":
-
-  "LIBS= -lcurses -ltermcap"
-  "LIBS= -lcurses -ltermlib"
-  "LIBS= -lncurses"
-  "LIBS= -ltermlib"
-  "LIBS= -ltinfo"
-
-   "man curses" for further information, and search through the Unix
-   [46]makefile for "CK_CURSES" to see many examples, and also see the
-   relevant sections of the [47]Unix C-Kermit Installation Instructions,
-   particularly Sections [48]4 and [49]9.2.
-
-   There might still be a complication. Some implementations of curses
-   reserve the right to alter the buffering on the output file without
-   restoring it afterwards, which can leave Kermit's command processing
-   in a mess when the prompt comes back after a fullscreen file transfer
-   display. The typical symptom is that characters you type at the prompt
-   after a local-mode file transfer (i.e. after seeing the curses
-   file-transfer display) do not echo until you press the Return (Enter)
-   key. If this happens to you, try adding
-
-  -DCK_NEWTERM
-
-   to your makefile target (see comments in screenc() in [50]ckuusx.c for
-   an explanation).
-
-   If that doesn't fix the problem, then use a bigger hammer and replace
-   -DCK_NEWTERM with:
-
-  -DNONOSETBUF
-
-   which tells Kermit to force stdout to be unbuffered so CBREAK mode can
-   work.
-
-   In SCO Xenix and SCO UNIX, there are two separate curses libraries,
-   one based on termcap and the other based on terminfo. The default
-   library, usually terminfo, is established when the development system
-   is installed. To manually select terminfo (at compile time):
-
-  compile -DM_TERMINFO and link -ltinfo
-
-   and to manually select termcap:
-
-  compile -DM_TERMCAP and link -ltcap -ltermlib
-
-   <curses.h> looks at M_TERMINFO and M_TERMCAP to decide which header
-   files to use. /usr/lib/libcurses.a is a link to either libtinfo.a or
-   libtcap.a. The C-Kermit compilation options must agree with the
-   version of the curses library that is actually installed.
-
-   NOTE: If you are doing an ANSI-C compilation and you get compile time
-   warnings like the following:
-
-  Warning: function not declared in ckuusx.c: wmove, printw, wclrtoeol,
-  wclear, wrefresh, endwin, etc...
-
-   it means that your <curses.h> file does not contain prototypes for
-   these functions. The warnings should be harmless.
-
-   New to edit 190 is the ability to refresh a messed-up full-screen
-   display, e.g. after receiving a broadcast message. This depends on the
-   curses package including the wrefresh() and clearok() functions and
-   the curscr variable. If your version has these, or has code to
-   simulate them, then add:
-
-  -DCK_WREFRESH
-
-   The curses and termcap libraries add considerable size to the program
-   image (e.g. about 20K on a SUN-4, 40K on a 386). On some small
-   systems, such as the AT&T 6300 PLUS, curses can push Kermit over the
-   edge... even though it compiles, loads, and runs correctly, its
-   increased size apparently makes it swap constantly, slowing it down to
-   a crawl, even when the curses display is not in use. Some new makefile
-   targets have been added to take care of this (e.g. sys3upcshcc), but
-   similar tricks might be necessary in other cases too.
-
-   On the curses file-transfer display, just below the "thermometer", is
-   a running display of the transfer rate, as a flat quotient of file
-   characters per elapsed seconds so far. You can change this to an
-   average that gives greater weight to recent history (0.25 *
-   instantaneous cps + 0.75 * historical cps) by adding -DCPS_WEIGHTED to
-   your CFLAGS (sorry folks, this one is not worth a SET command). You
-   can choose a second type of weighted average in which the weighting
-   smooths out progressively as the transfer progresses by adding
-   -DCPS_VINCE to -DCPS_WEIGHTED.
-
-   An alternative to curses is also available at compile time, but should
-   be selected if your version of Kermit is to be run in local mode only
-   in an ANSI terminal environment, for example on a desktop workstation
-   that has an ANSI console driver. To select this option in place of
-   curses, define the symbol MYCURSES:
-
-  -DMYCURSES
-
-   instead of CK_CURSES. The MYCURSES option uses built-in ANSI (VT100)
-   escape sequences, and depends upon your terminal or console driver to
-   interpret them correctly.
-
-   In some C-Kermit builds, we replace printf() via #define printf...
-   However, this can cause conflicts with the [n]curses header files.
-   Various hacks are required to get around this -- see [51]ckutio.c,
-   [52]ckufio.c, [53]ckuusx.c, [54]ckucmd.c, etc.
-
-   [ [55]C-Kermit Home ] [ [56]Kermit Home ]
-    ________________________________________________________________________
-
-  4. CHARACTER SETS
-
-   [ [57]Top ] [ [58]Contents ] [ [59]Next ] [ [60]Previous ]
-
-   Since version 5A, C-Kermit has included support for conversion of
-   character sets for Western European languages (i.e. languages that
-   originated in Western Europe, but are now also spoken in the Western
-   Hemisphere and other parts of the world), via ISO 8859-1 Latin
-   Alphabet 1, for Eastern European languages (ISO Latin-2), Hebrew (and
-   Yiddish), Greek, and Cyrillic-alphabet languages (ISO Latin/Cyrillic).
-   Many file (local) character sets are supported: ISO 646 7-bit national
-   sets, IBM code pages, Apple, DEC, DG, NeXT, etc.
-
-   To build Kermit with no character-set translation at all, include
-   -DNOCSETS in the CFLAGS. To build with no Latin-2, add -DNOLATIN2. To
-   build with no Cyrillic, add -DNOCYRIL. To omit Hebrew, add -DNOHEBREW.
-   If -DNOCSETS is *not* included, you'll always get LATIN1. To build
-   with no KANJI include -DNOKANJI. There is presently no way to include
-   Latin-2, Cyrillic, Hebrew, or Kanji without also including Latin-1.
-
-   [61]Unicode support was added in C-Kermit 7.0, and it adds a fair
-   amount of tables and code (and this is only a "Level 1" implementation
-   -- a higher level would also require building in the entire Unicode
-   database). On a PC with RH 5.2 Linux, building C-Kermit 7.0, we get
-   the following sizes:
-
-  NOCSETS NOUNICODE NOKANJI   Before    After                  
-   [   ]    [   ]    [   ]    1329014   (Full)
-   [   ]    [   ]    [ X ]    1325686   (Unicode but no Kanji)
-   [   ]    [ X ]    [   ]    1158837   (All charsets except Unicode)
-   [ X ]    [ x ]    [ x ]    1090845   (NOCSETS implies the other two)
-
-   Note, by the way, that NOKANJI without NOUNICODE only removes the
-   non-Unicode Kanji sets (Shift-JIS, EUC-JP, JIS-7, etc). Kanji is still
-   representable in UCS-2 and UTF-8.
-
-   [ [62]C-Kermit Home ] [ [63]Kermit Home ]
-    ________________________________________________________________________
-
-  5. APC EXECUTION
-
-   [ [64]Top ] [ [65]Contents ] [ [66]Next ] [ [67]Previous ]
-
-   The Kermit CONNECT and INPUT commands are coded to execute Application
-   Program Command escape sequences from the host:
-
-  <ESC>_<text><ESC>\
-
-   where <text> is a C-Kermit command, or a list of C-Kermit commands
-   separated by commas, up to about 1K in length.
-
-   To date, this feature has been included in the OS/2, Windows, VMS,
-   OS-9, and Unix versions, for which the symbol:
-
-  CK_APC
-
-   is defined automatically in [68]ckuusr.h. For OS/2, APC is enabled at
-   runtime by default, for UNIX it is disabled. It is controlled by the
-   SET TERMINAL APC command. Configuring APC capability into a version
-   that gets it by default (because CK_APC is defined in [69]ckuusr.h)
-   can be overridden by including:
-
-  -DNOAPC
-
-   on the CC command line.
-
-   C-Kermit's autodownload feature depends on the APC feature, so
-   deconfiguring APC also disables autodownload (it doesn't use APC
-   escape sequences, but uses the APC switching mechanism internally).
-
-   [ [70]C-Kermit Home ] [ [71]Kermit Home ]
-    ________________________________________________________________________
-
-  6. PROGRAM SIZE
-
-   [ [72]Top ] [ [73]Contents ] [ [74]Next ] [ [75]Previous ]
-
-   SECTION CONTENTS
-
-  6.1. [76]Feature Selection
-  6.2. [77]Changing Buffer Sizes
-  6.3. [78]Other Size-Related Items
-  6.4. [79]Space/Time Tradeoffs
-
-   (Also see [80]Section 4)
-
-   Each release of C-Kermit is larger than the last. On some computers
-   (usually old ones) the size of the program prevents it from being
-   successfully linked and loaded. On some others (also usually old
-   ones), it occupies so much memory that it is constantly swapping or
-   paging. In such cases, you can reduce C-Kermit's size in various ways,
-   outlined in this section. The following options can cut down on the
-   program's size at compile time by removing features or changing the
-   size of storage areas.
-
-   If you are reading this section because all you want is a small, fast,
-   quick-to-load Kermit file-transfer application for the remote end of
-   your connection, and the remote end is Unix based, take a look at
-   G-Kermit:
-
-  [81]http://www.columbia.edu/kermit/gkermit.html
-
-  6.1. Feature Selection
-
-   Features can be added or removed by defining symbols on the CC (C
-   compiler) command line. "-D" is the normal CC directive to define a
-   symbol so, for example, "-DNODEBUG" defines the symbol NODEBUG. Some C
-   compilers might use different syntax, e.g. "-d NODEBUG" or
-   "/DEFINE=NODEBUG". For C compilers that do not accept command-line
-   definitions, you can put the corresponding #define statements in the
-   file ckcsym.h, for example:
-
-  #define NODEBUG
-
-   The following table shows the savings achieved when building C-Kermit
-   8.0 (Beta.04) with selected feature-deselection switches on an
-   Intel-based PC with Red Hat Linux 7.0 and gcc 2.96. The sizes are for
-   non-security builds. The fully configured non-security build is
-   2127408 bytes.
-
-  Option      Size    Savings Effect
-  NOICP        545330   74.4% No Interactive Command Parser (command-line only)
-  NOLOCAL     1539994   27.6% No making connections.
-  NOXFER      1551108   27.1% No file transfer.
-  IKSDONLY    1566608   26.4% Internet Kermit Server only.
-  NOCSETS     1750097   17.7% No character-set conversion.
-  NOSPL       1800293   15.4% No Script Programming Language.
-  NONET       1808575   15.0% No making network connections.
-  NOUNICODE   1834426   13.8% No Unicode character-set conversion.
-  NOHELP      1837877   13.6% No built-in help text.
-  NODEBUG     1891669   11.1% No debug log.
-  NOFRILLS    1918966    9.8% No "frills".
-  NOFTP       1972496    7.3% No FTP client.
-  NODIAL      1984488    6.7% No automatic modem dialing.
-  NOPUSH      2070184    2.7% No shell access, running external programs, etc.
-  NOIKSD      2074129    2.5% No Internet Kermit Server capability.
-  NOHTTP      2082610    2.1% No HTTP client.
-  NOFLOAT     2091332    1.7% No floating-point arithmetic.
-  NOCHANNELIO 2095978    1.5% No FOPEN/FREAD/FWRITE/FCLOSE, etc.
-  MINIDIAL    2098035    1.4% No built-in support for many kinds of modems.
-  NOSERVER    2098987    1.3% No server mode.
-  NOSEXP      2105898    1.0% No S-Expressions.
-  NOPTY       2117743    0.5% No pseudoterminal support.
-  NORLOGIN    2121089    0.3% No RLOGIN connections.
-  NOOLDMODEMS 2124038    0.2% No built-in support for old kinds of modems.
-  NOSSH       2125696    0.1% No SSH command.
-
-   And here are a few combinations
-
-   Options Size Savings Effect
-   NODEBUG NOICP NOCSETS NOLOCAL 281641 86.7% No debug log, parser,
-   character sets, or making connections.
-   NOICP NOCSETS NOLOCAL 376468 82.3% No parser, character sets, or
-   making connections.
-   NOICP NOCSETS NONET 427510 79.9% No parser, character sets, or network
-   connections.
-   NOSPL NOCSETS 1423784 33.1% No script language, or character sets.
-
-   -DNOFRILLS removes various command synonyms; the following top-level
-   commands: CLEAR, DELETE, DISABLE, ENABLE, GETOK, MAIL, RENAME, TYPE,
-   WHO; and the following REMOTE commands: KERMIT, LOGIN, LOGOUT, PRINT,
-   TYPE, WHO.
-
-  6.2. Changing Buffer Sizes
-
-   Most modern computers have so much memory that (a) there is no need to
-   scrimp and save, and (b) C-Kermit, even when fully configured, is
-   relatively small by today's standards.
-
-   Two major factors affect Kermit's size: feature selection and buffer
-   sizes. Buffer sizes affect such things as the maximum length for a
-   Kermit packet, the maximum length for a command, for a macro, for the
-   name of a macro, etc. Big buffer sizes are used when the following
-   symbol is defined:
-
-  BIGBUFOK
-
-   as it is by default for most modern platforms (Linux, AIX 4 and 5,
-   HP-UX 10 and 11, Solaris, etc) in [82]ckuusr.h. If your build does not
-   get big buffers automatically (SHOW FEATURES tells you), you can
-   include them by rebuilding with BIGBUFOK defined; e.g. in Unix:
-
-  make xxxx KFLAGS=-DBIGBUFOK
-
-   where xxxx is the makefile target. On the other hand, if you want to
-   build without big buffers when they normally would be selected, use:
-
-  make xxxx KFLAGS=-DNOBIGBUF
-
-   There are options to control Kermit's packet buffer allocations. The
-   following symbols are defined in [83]ckcker.h in such a way that you
-   can override them by redefining them in CFLAGS:
-
-  -DMAXSP=xxxx - Maximum send-packet length.
-  -DMAXRP=xxxx - Maximum receive-packet length.
-  -DSBSIZ=xxxx - Total allocation for send-packet buffers.
-  -DRBSIZ=xxxx - Total allocation for receive-packet buffers.
-
-   The defaults depend on the platform.
-
-   Using dynamic allocation (-DDYNAMIC) reduces storage requirements for
-   the executable program on disk, and allows more and bigger packets at
-   runtime. This has proven safe over the years, and now most builds
-   (e.g. all Unix, VMS, Windows, and OS/2 ones) use dynamic memory
-   allocation by default. If it causes trouble, however, then omit the
-   -DDYNAMIC option from CFLAGS, or add -DNODYNAMIC.
-
-  6.3. Other Size-Related Items
-
-   To make Kermit compile and load successfully, you might have to change
-   your build procedure to:
-
-    a. Request a larger ("large" or "huge") compilation / code-generation
-       model. This is needed for 16-bit PC-based UNIX versions (most or
-       all of which fail to build C-Kermit 7.0 and later anyway). This is
-       typically done with a -M and/or -F switch (see your cc manual or
-       man page for details).
-    b. Some development systems support overlays. If the program is too
-       big to be built as is, check your loader manual ("man ld") to see
-       if an overlay feature is available. See the 2.10/2.11 BSD example
-       in the UNIX makefile. (Actually, as of version 7.0, C-Kermit is
-       too big to build, period, even with overlays, on 2.xx BSD).
-    c. Similarly, some small and/or segment-based architectures support
-       "code mapping", which is similar to overlays (PDP11-based VENIX
-       1.0, circa 1984, was an example). See the linker documentation on
-       the affected platform.
-
-   It is also possible to reduce the size of the executable program file
-   in several other ways:
-
-    a. Include the -O (optimize) compiler switch if it isn't already
-       included in your "make" entry (and if it works!). If your compiler
-       supports higher levels of optimization (e.g. -O2 or higher number,
-       -Onolimit (HP-UX), etc), try them; the greater the level of
-       optimization, the longer the compilation and more likely the
-       compiler will run out of memory. The the latter eventuality, some
-       compilers also provide command-line options to allocate more
-       memory for the optimizer, like "-Olimit number" in Ultrix.
-    b. If your platofrm supports shared libraries, change the make entry
-       to take advantage of this feature. The way to do this is, of
-       course, platform dependent; see the NeXT makefile target for an
-       example. some platforms (like Solaris) do it automatically and
-       give you no choice. But watch out: executables linked with shared
-       libraries are less portable than statically linked executables.
-    c. Strip the program image after building ("man strip" for further
-       info), or add -s to the LNKFLAGS (UNIX only). This strips the
-       program of its symbol table and relocation information.
-    d. Move character strings into a separate file. See the 2.11 BSD
-       target for an example.
-
-  6.4. Space/Time Tradeoffs
-
-   There are more than 6000 debug() statements in the program. If you
-   want to save both space (program size) and time (program execution
-   time), include -DNODEBUG in the compilation. If you want to include
-   debugging for tracking down problems, omit -DNODEBUG from the make
-   entry. But when you include debugging, you have two choices for how
-   it's done. One definition defines debug() to be a function call; this
-   is cheap in space but expensive in execution. The other defines debug
-   as "if (deblog)" and then the function call, to omit the function call
-   overhead when the debug log is not active. But this adds a lot of
-   space to the program. Both methods work, take your choice; IFDEBUG is
-   preferred if memory is not a constraint but the computer is likely to
-   be slow. The first method is the default, i.e. if nothing is done to
-   the CFLAGS or in [84]ckcdeb.h (but in some cases, e.g. VMS, it is). To
-   select the second method, include -DIFDEBUG in the compilation (and
-   don't include -DNODEBUG).
-
-   [ [85]C-Kermit Home ] [ [86]Kermit Home ]
-    ________________________________________________________________________
-
-  7. MODEM DIALING
-
-   [ [87]Top ] [ [88]Contents ] [ [89]Next ] [ [90]Previous ]
-
-   -DNODIAL removes automatic modem dialing completely, including the
-   entire [91]ckudia.c module, plus all commands that refer to dialing in
-   the various ckuus*.c modules.
-
-   -DMINIDIAL leaves the DIAL and related commands (SET/SHOW MODEM,
-   SET/SHOW DIAL) intact, but removes support for all types of modems
-   except CCITT, Hayes, Unknown, User-defined, Generic-high-speed, and
-   None (= Direct). The MINIDIAL option cuts the size of the dial module
-   approximately in half. Use this option if you have only Hayes or CCITT
-   modems and don't want to carry the baggage for the other types.
-
-   A compromise between full dialer support and MINIDIAL is obtained by
-   removing support for "old" modems -- all the strange non-Hayes
-   compatible 1200 and 2400 bps modems that C-Kermit has been carrying
-   around since 1985 or so. To remove support for these modems, add
-   -DNOOLDMODEMS to CFLAGS at compilation time.
-
-   Finally, if you keep support for old modems, you will notice that
-   their names appear on the "set modem ?" menu. That's because their
-   names are, by default, "visible". But the list is confusing to the
-   younger generation, who have only heard of modems from the
-   V.32bis-and-later era. If you want to be able to use old modems, but
-   don't want their names cluttering up menus, add this to CFLAGS:
-
-  -DM_OLD=1
-
-   [ [92]C-Kermit Home ] [ [93]Kermit Home ]
-    ________________________________________________________________________
-
-  8. NETWORK SUPPORT
-
-   [ [94]Top ] [ [95]Contents ] [ [96]Next ] [ [97]Previous ]
-
-   SECTION CONTENTS
-
-  8.1. [98]TCP/IP
-  8.2. [99]X.25
-  8.3. [100]Other Networks
-
-   C-Kermit supports not only serial-port and modem connections, but also
-   TCP/IP and X.25 network connections. Some versions support other
-   network types too like DECnet, LAT, NETBIOS, etc. If you define the
-   following symbol:
-
-  NONET
-
-   then all network support is compiled away.
-
-  8.1. TCP/IP
-
-   SUBSECTION CONTENTS
-
-  8.1.1. [101]Firewalls
-  8.1.2. [102]Compilation and Linking Problems
-  8.1.3. [103]Enabling Host Address Lists
-  8.1.4. [104]Enabling Telnet NAWS
-  8.1.5. [105]Enabling Incoming TCP/IP Connections
-  8.1.6. [106]Disabling SET TCP Options
-
-   C-Kermit's TCP/IP features require the Berkeley sockets library or
-   equivalent, generally available on any Unix system, as well as in
-   Windows 9x/NT, OS/2, VMS, AOS/VS, VOS, etc. The TCP/IP support
-   includes built-in TELNET, FTP, and HTTP protocol. To select TCP/IP
-   support, include -DTCPSOCKET in your makefile target's CFLAGS, or (in
-   VMS) the appropriate variant (e.g. -DWOLLONGONG, -DMULTINET,
-   -DEXCELAN, -DWINTCP, etc).
-
-   The VMS and/or early Unix third-party TCP/IP products are often
-   incompatible with each other, and sometimes with different versions of
-   themselves. For example, Wollongong reportedly put header files in
-   different directories for different UNIX versions:
-
-     * in.h can be in either /usr/include/sys or /user/include/netinet.
-     * telnet.h can be in either /usr/include/arpa or
-       /user/include/netinet.
-     * inet.h can be in either /usr/include/arpa or /user/include/sys.
-
-   In cases like this, use the -I cc command-line option when possible;
-   otherwise it's better to make links in the file system than it is to
-   hack up the C-Kermit source code. Suppose, for example, Kermit is
-   looking for telnet.h in /usr/include/arpa, but on your computer it is
-   in /usr/include/netinet. Do this (as root, or get the system
-   administrator to do it):
-
-  cd /usr/include/arpa
-  ln /usr/include/netinet/telnet.h telnet.h
-
-   ("man ln" for details about links.)
-
-   The network support for TCP/IP and X.25 is in the source files
-   [107]ckcnet.h, [108]ckctel.c, [109]ckctel.c, [110]ckctel.h,
-   [111]ckcftp.c, with miscellaneous SHOW commands, etc, in the various
-   ckuus*.c modules, plus code in the ck*con.c or ckucns.c (CONNECT
-   command) and several other modules to detect TELNET negotiations, etc.
-
-   Within the TCPSOCKET code, some socket-level controls are included if
-   TCPSOCKET is defined in the C-Kermit CFLAGS and SOL_SOCKET is defined
-   in in the system's TCP-related header files, such as <sys/socket.h>.
-   These are:
-
-  SET TCP KEEPALIVE
-  SET TCP LINGER
-  SET TCP RECVBUF
-  SET TCP SENDBUF
-
-   In addition, if TCP_NODELAY is defined, the following command is also
-   enabled:
-
-  SET TCP NODELAY (Nagle algorithm)
-
-   See the [112]C-Kermit user documentation for descriptions of these
-   commands.
-
-  8.1.1. Firewalls
-
-   There exist various types of firewalls, set up to separate users of an
-   internal TCP/IP network ("Intranet") from the great wide Internet, but
-   then to let selected users or services get through after all.
-
-   One firewall method is called SOCKS, in which a proxy server allows
-   users inside a firewall to access the outside world, based on a
-   permission list generally stored in a file. SOCKS is enabled in one of
-   two ways. First, the standard sockets library is modified to handle
-   the firewall, and then all the client applications are relinked (if
-   necessary, i.e. if the libraries are not dynamically loaded) with the
-   modified sockets library. The APIs are all the same, so the
-   applications do not need to be recoded or recompiled.
-
-   In the other method, the applications must be modified to call
-   replacement routines, such as Raccept() instead of accept(), Rbind()
-   instead of bind(), etc, and then linked with a separate SOCKS library.
-   This second method is accomplished (for SOCKS4) in C-Kermit by
-   including -DCK_SOCKS in your CFLAGS, and also adding:
-
-  -lsocks
-
-   to LIBS, or replacing -lsockets with -lsocks (depending on whether the
-   socks library also includes all the sockets entry points).
-
-   For SOCKS5, use -DCK_SOCKS5.
-
-   Explicit firewall support can, in general, not be a standard feature
-   or a feature that is selected at runtime, because the SOCKS library
-   tends to be different at each site -- local modifications abound.
-
-   The ideal situation occurs when firewalls are supported by the first
-   method, using dynamically linked sockets-replacement libraries; in
-   this case, all your TCP/IP client applications negotiate the firewall
-   transparently.
-
-  8.1.2. Compilation and Linking Problems
-
-   If you get a compilation error in [113]ckcnet.c, with a complaint like
-   "incompatible types in assignment", it probably has something to do
-   with the data type your system uses for the inet_addr() function,
-   which is declared (usually) in <arpa/inet.h>. Kermit uses "unsigned
-   long" unless the symbol INADDRX is defined, in which case "struct
-   inaddr" is used instead. Try adding -DINADDRX to CFLAGS in your make
-   entry, and if that fixes the problem, please send a report to
-   kermit@columbia.edu.
-
-   Compilation errors might also have to do with the data type used for
-   getsockopt() and setsockopt() option-length field. This is normally an
-   int, but sometimes it's a short, a long, or an unsigned any of those,
-   or a size_t. To fix the compilation problem, add -DSOCKOPT_T=xxx to
-   the CFLAGS in your makefile target, where xxx is the appropriate type
-   (use "man getsockopt" or grep through your system/network header files
-   to find the needed type).
-
-  8.1.3. Enabling Host Address Lists
-
-   When you give Kermit an IP host name, it calls the socket routine
-   gethostbyname() to resolve it. gethostbyname() returns a hostent
-   struct, which might or might not not include a list of addresses; if
-   it does, then if the first one fails, Kermit can try the second one,
-   and so on. However, this will only work if the symbol "h_addr" is a
-   macro defined as "h_addr_list[0]", usually in netdb.h. If it is, then
-   you can activate this feature by defining the following symbol in
-   CFLAGS:
-
-  HADDRLIST
-
-  8.1.4. Enabling Telnet NAWS
-
-   The Telnet Negotiation About Window Size (NAWS) option requires the
-   ability to find out the terminal screen's dimensions. E.g. in Unix, we
-   need something like ioctl(0, TIOCGWINSZ, ...). If your version of
-   Kermit was built with NAWS capability, SHOW VERSIONS includes CK_NAWS
-   among the compiler options. If it doesn't, you can add it by defining
-   CK_NAWS at compile time. Then, if the compiler or linker complain
-   about undefined or missing symbols, or there is no complaint but SHOW
-   TERMINAL fails to show reasonable "Rows =, Columns =" values, then
-   take a look at (or write) the appropriate ttgwsiz() routine. On the
-   other hand, if CK_NAWS is defined by default for your system (in
-   [114]ckcnet.h), but causes trouble, you can override this definition
-   by including the -DNONAWS switch on your CC command line, thus
-   disabling the NAWS feature.
-
-   This appears to be needed at least on the AT&T 3B2, where in
-   [115]ckutio.c, the routine ttgwsiz() finds that the TIOCGWINSZ symbol
-   is defined but lacks definitions for the corresponding winsize struct
-   and its members ws_col and ws_row.
-
-   The UNIX version of C-Kermit also traps SIGWINCH, so it can send a
-   NAWS to the Telnet server any time the local console terminal window
-   size changes, e.g. when you stretch it with a mouse. The
-   SIGWINCH-trapping code is enabled if SIGWINCH is defined (i.e. in
-   signal.h). If this code should cause problems, you can disable it
-   without disabling the NAWS feature altogether, by defining NOSIGWINCH
-   at compile time.
-
-  8.1.5. Enabling Incoming TCP/IP Connections
-
-   This feature lets you "set host * port" and wait for an incoming
-   connection on the given port. This feature is enabled automatically at
-   compile if TCPSOCKET is defined and SELECT is also defined. But watch
-   out, simply defining SELECT on the cc command line does not guarantee
-   successful compilation or linking (see [116]Section 11).
-
-   If you want to disable incoming TCP/IP connections, then build
-   C-Kermit with:
-
-  -DNOLISTEN
-
-  8.1.6. Disabling SET TCP Options
-
-   The main reason for this is because of header file / prototype
-   conflicts at compile time regardting get- / setsockopt(). If you can't
-   fix them (without breaking other builds), add the following in CFLAGS:
-
-  -DNOTCPOPTS
-
-  8.2. X.25
-
-   X.25 support requires (a) a Sun, (b) the SunLink product (libraries
-   and header files), and (c) an X.25 connection into your Sun. Similarly
-   (in C-Kermit 7.0 or later) Stratus VOS and IBM AIX.
-
-   In UNIX, special makefile targets sunos4x25 and sunos41x25 (for SUNOS
-   4.0 and 4.1, respectively), or aix41x25, are provided to build in this
-   feature, but they only work if conditions (a)-(c) are met. To request
-   this feature, include -DSUNX25 (or -DIBMX25) in CFLAGS.
-
-   SUNX25 (or -DIBMX25) and TCPSOCKET can be freely mixed and matched,
-   and selected by the user at runtime with the SET NETWORK TYPE command
-   or SET HOST switches.
-
-  8.3. Other Networks
-
-   Support for other networking methods -- NETBIOS, LAT, Named Pipes, etc
-   -- is included in ck*net.h and ck*net.c for implementations (such as
-   Windows or OS/2) where these methods are supported.
-
-   Provision is made in the organization of the modules, header files,
-   commands, etc, for addition of new network types such as DECnet, X.25
-   for other systems (HP-UX, VMS, etc), and so on. Send email to
-   [117]kermit@columbia.edu if you are willing and able to work on such a
-   project.
-
-   [ [118]C-Kermit Home ] [ [119]Kermit Home ]
-    ________________________________________________________________________
-
-  9. EXCEPTION HANDLING
-
-   [ [120]Top ] [ [121]Contents ] [ [122]Next ] [ [123]Previous ]
-
-   The C language setjmp/longjmp mechanism is used for handling
-   exceptions. The jump buffer is of type jmp_buf, which almost
-   everywhere is typedef'd as an array, in which case you should have no
-   trouble compiling the exception-handling code. However, if you are
-   building C-Kermit in/for an environment where jmp_buf is something
-   other than an array (e.g. a struct), then you'll have to define the
-   following symbol:
-
-  JBNOTARRAY
-
-   [ [124]C-Kermit Home ] [ [125]Kermit Home ]
-    ________________________________________________________________________
-
-  10. SECURITY FEATURES
-
-   [ [126]Top ] [ [127]Contents ] [ [128]Next ] [ [129]Previous ]
-
-   Security, in the sense of secure authentication and strong encryption,
-   can be built into versionf of C-Kermit for which the appropriate
-   libraries and header files are available (Kerberos IV, Kerberos V,
-   OpenSSL, SRP), as explained in great detail in the Kermit Security
-   Reference
-   . The following symbols govern C-Kermit's security features at build
-   time:
-
-   NO_AUTHENTICATION
-          Means do not configure any TELNET AUTHENTICATION support. It
-          implies NO_ENCRYPTION and undefines any of the auth and encrypt
-          types. It does not undefine CK_SSL even though builds with
-          CK_SSL cannot succeed without CK_AUTHENTICATION. (This will be
-          supported in a future release. It will be needed to allow
-          C-Kermit to be built only as an FTP client.)
-
-   NO_KERBEROS
-          Means do not compile in any KERBEROS support when
-          CK_AUTHENTICATION has been defined.
-
-   NO_SRP
-          Do not compile in any SRP support when CK_AUTHENTICATION has
-          been defined.
-
-   NO_SSL
-          Do not compile in any SSL/TLS support
-
-   NO_ENCRYPTION
-          Do not compile in any Telnet encryption support. It does not
-          affect the use of SSL/TLS
-
-   NOSSH
-          Do not compile in any SSH support whether internal or external
-
-   CK_AUTHENTICATION
-          Telnet AUTHENTICATION support. (Also, required if SSL/TLS
-          support is desired.) On most platforms this does not autodefine
-          any authentication mechanisms such as Kerberos V, Kerberos IV,
-          SRP, ... Those need to be defined separately.
-
-   CK_KERBEROS
-          Defined automatically when KRB4, KRB5, or KRB524 are defined.
-          Implies that some version of Kerberos is in use.
-
-   KRB4
-          Should be defined when Kerberos IV support is desired.
-
-   KRB5
-          Should be defined when Kerberos V support is desired.
-
-   KRB524
-          Should be defined if both Kerberos V and Kerberos IV are used
-          and the Kerberos IV support is provided by the MIT Kerberos IV
-          compatibility library in the current Kerberos 5 distribution.
-
-   KRB5_U2U
-          Should be defined if KRB5 is defined and Kerberos 5 User to
-          User mode is desired.
-
-   HEIMDAL
-          Should be defined if Kerberos V support is provided by HEIMDAL.
-          Support for this option is not complete in C-Kermit 8.0. Anyone
-          interested in working on this should contact kermit-support.
-
-   CK_SRP
-          Should be defined if SRP support is desired.
-
-   CK_ENCRYPTION
-          Should be defined if TELNET ENCRYPTION option support is
-          desired. This option does not define any particular encryption
-          types. That should be done by defining CK_DES or CK_CAST.
-
-   CK_DES
-          Should be defined if either DES or 3DES Telnet Encryption
-          option support is desired.
-
-   LIBDES
-          If CK_DES is defined and DES support is being provided by
-          either Eric Young's libdes.a or OpenSSL 0.9.6x or earlier, this
-          option must be defined. If it is not defined, it will be
-          assumed that DES support is provided by the MIT Kerberos IV
-          libraries.
-
-   CK_CAST
-          Should be defined if CAST Telnet Encryption option support is
-          desired
-
-   CK_SSL
-          Should be defined if SSL/TLS support (OpenSSL) is desired.
-
-   SSL_KRB5
-          If KRB5 is defined, and OpenSSL is built to support the
-          Kerberos 5 ciphers, then you should define SSL_KRB5
-
-   NOSSLKRB5
-          If you are using OpenSSL 0.9.7 or higher and do not wish to
-          build with support for Kerberos 5 TLS ciphers, this option must
-          be defined.
-
-   ZLIB
-          If you are using OpenSSL 0.9.6 or higher and it has been
-          compiled with support for ZLIB compression, this option should
-          be defined to enable Kermit to properly enable the use of
-          compression.
-
-   SSHCMD
-          Defined for C-Kermit to enable the use of external SSH clients
-          from the Kermit command language
-
-   SSHBUILTIN
-          Defined for Kermit implementations that have integrated SSH
-          support. Currently only Windows.
-
-   ANYSSH
-          Defined if either SSHCMD or SSHBUILTIN are defined.
-
-   CK_SNDLOC
-          Telnet Send Location support.
-
-   NOSNDLOC
-          Do not include Telnet Send Location support.
-
-   CK_XDISPLOC
-          Telnet X-Display Location support. Determines if the X-Display
-          location information is sent to the Telnet server either via
-          Telnet XDISPLOC or NEW-ENV options.
-
-   NOXDISPLOC
-          Do not include Telnet X-Display Location support.
-
-   CK_FORWARD_X
-          Telnet Forward X Windows Session Data option. Used to protect
-          the privacy and integrity of X Windows Sessions when secure
-          telnet sessions are in use.
-
-   NOFORWARDX
-          Do not include Telnet Forward X Windows Session Data option.
-
-   Besides the strong forms of security listed above, C-Kermit also
-   embodies various internal security features, including:
-
-   NOPUSH
-          Compiling with the NOPUSH symbol defined removes all the "shell
-          escape" features from the program, including the PUSH, RUN, and
-          SPAWN commands, the "!" and "@" command prefixes, OPEN !READ,
-          OPEN !WRITE, job control (including the SUSPEND command), the
-          REDIRECT command, shell/DCL escape from CONNECT mode, as well
-          as the server's execution of REMOTE HOST commands (and, of
-          course, the ENABLE HOST command). Add NODISPO to also prevent
-          acceptance of incoming MAIL or REMOTE PRINT files. For UNIX,
-          also be sure to read [130]Section 11 of the [131]Unix C-Kermit
-          Installation Instructions. about set[ug]id configuration.
-          Additional restrictions can be enforced when in server mode;
-          read about the DISABLE command in the user manual.
-
-   NOCCTRAP
-          Compiling with NOCCTRAP prevents the trapping of SIGINT by
-          Kermit. Thus if the user generates a SIGINT signal (e.g. by
-          typing the system's interrupt character), Kermit will exit
-          immediately, rather than returning to its prompt.
-
-   NOPUSH and NOCCTRAP together allow Kermit to be run from restricted
-   shells, preventing access to system functions.
-
-   [ [132]C-Kermit Home ] [ [133]Kermit Home ]
-    ________________________________________________________________________
-
-  11. ENABLING SELECT()
-
-   [ [134]Top ] [ [135]Contents ] [ [136]Next ] [ [137]Previous ]
-
-   Kermit works best if it can do nonblocking reads, nondestructive input
-   buffer checking, and millisecond sleeps. All of these functions can be
-   accomplished by the select() function, which, unfortunately, is not
-   universally available. Furthermore, select() is required if incoming
-   TCP/IP connections are to be supported.
-
-   select() was introduced with Berkeley UNIX, rejected by AT&T for
-   System V, but is gradually creeping in to all UNIX versions (and other
-   operating systems too) by virtue of its presence in the sockets
-   library, which is needed for TCP/IP. AT&T SVID for System V R4
-   includes select(), but that does not mean that all SVR4
-   implementations have it.
-
-   Furthermore, even when select() is available, it might work only on
-   socket file descriptors, but not on others like serial ports, pipes,
-   etc. For example, in AOS/VS and BeOS, it works only with file
-   descriptors that were created by socket() and opened by connect() or
-   accept().
-
-   Other alternatives include poll() and rdchk(). Only one of these three
-   functions should be included. The following symbols govern this:
-
-     SELECT  Use select() (BSD, or systems with sockets libraries)
-     CK_POLL Use poll()   (System V)
-     RDCHK   Use rdchk()  (SCO XENIX and UNIX)
-
-   If your system supports the select() function, but your version of
-   C-Kermit does not, try adding:
-
-  -DSELECT
-
-   to the CFLAGS, and removing -DRDCHK or -DCK_POLL if it is there. If
-   you get compilation errors, some adjustments to ck*tio.c and/or
-   ck*net.c might be needed; search for SELECT (uppercase) in these files
-   (note that there are several variations on the calling conventions for
-   select()).
-
-   Various macros and data types need to be defined in order to use
-   select(). Usually these are picked up from <types.h> or <sys/types.h>.
-   But on some systems, they are in <sys/select.h>. In that case, add the
-   following:
-
-  -DSELECT_H
-
-   to the CFLAGS to tell C-Kermit to #include <sys/select.h>. A good
-   indication that you need to do this would be if you get compile-time
-   complaints about "fd_set" or "FD_SET" not being declared or defined.
-
-   In UNIX, the use of select() vs fork() in the CONNECT command is
-   independent of the above considerations, and is governed by choosing a
-   particular makefile target.
-
-   As of C-Kermit 7.0, select() is also the preferred control mechanism
-   for the CONNECT command. Unfortunately, the structures used by the
-   original UNIX CONNECT command, based on fork(), and those used by
-   select(), are so different, it was not practical to implement them
-   both in one module. So the select()-based CONNECT command module for
-   UNIX is [138]ckucns.c, and the fork-based one remains [139]ckucon.c.
-   To choose the fork-based one, which is more portable (but slower and
-   more fragile), use "wermit" as the make target. To choose the
-   select-based one, use "xermit". Only do this if you can verify that
-   the CONNECT command works on serial connections and PIPE connections
-   as well as TCP connections.
-
-     The select()-based Unix CONNECT module, ckucns.c, must be used if
-     encryption is to be done, since the fork() version (ckucon.c) loses
-     its ability to share vital state information between the two forks.
-     Also note that the select() version is superior in many other ways
-     too. For example, it recovers better from exterior killing, forced
-     disconnections, etc, plus it goes faster.
-
-   SHOW VERSIONS tells whether the CONNECT module uses fork() or
-   select().
-
-   C-Kermit 8.0 adds learned script capability, which depends on
-   select(). All the "wermit" based targets (as opposed to "xermit") had
-   NOLEARN added to them. Whenever changing a target over from wermit to
-   xermit, also remember to remove NOLEARN.
-
-   [ [140]C-Kermit Home ] [ [141]Kermit Home ]
-    ________________________________________________________________________
-
-  12. I/O REDIRECTION
-
-   [ [142]Top ] [ [143]Contents ] [ [144]Next ] [ [145]Previous ]
-
-   The REDIRECT command allows a local program to be run with its i/o
-   redirected over the communications connection. Your version of
-   C-Kermit has a REDIRECT command if it was built with the following
-   CFLAG:
-
-  -DCK_REDIR
-
-   This, in turn, is possible only if the underlying API is there. In the
-   case of UNIX this is just the wait() system call, so all UNIX versions
-   get this feature as of 6.0.192 (earlier versions needed a <sys/wait.h>
-   header file defining the symbols WIFEXITED and WEXITSTATUS).
-
-   As of version 7.0, file transfer can be done using pipes and filters.
-   To enable this feature, #define PIPESEND (and fill in the code). To
-   disable on systems where it is normally enabled, define NOPIPESEND.
-   This feature is, of course, also disabled by building with NOPUSH (or
-   giving the "nopush" command at runtime).
-
-   C-Kermit 7.0 also adds the PIPE and SET HOST /COMMAND commands, which
-   provide another form of redirection. This feature is selected with
-   -DNETCMD. CK_RDIR must also be defined, since the same mechanisms are
-   used internally.
-
-   [ [146]C-Kermit Home ] [ [147]Kermit Home ]
-    ________________________________________________________________________
-
-  13. FLOATING-POINT NUMBERS, TIMERS, AND ARITHMETIC
-
-   [ [148]Top ] [ [149]Contents ] [ [150]Next ] [ [151]Previous ]
-
-   Floating-point support was added in C-Kermit 7.0.
-
-   Floating-point numbers are enabled internally, at least for use in
-   high-precision file-transfer timers and statistics, unless the
-   following symbol is defined at compile time:
-
-  -DNOFLOAT
-
-   This might be necessary on old PCs that do not have built-in
-   floating-point hardware.
-
-   When NOFLOAT is not defined, the following symbol tells which
-   floating-point type to use:
-
-  -DCKFLOAT=xxxx
-
-   The value is either "double" (normal for 32- and 16-bit architectures)
-   or "float" (normal for 64-bit architectures).
-
-   C-Kermit can be configured to use high-precision file-transfer timers
-   for more accurate statistics. This feature is enabled with:
-
-  -DGFTIMER
-
-   and disabled with:
-
-  -DNOGFTIMER
-
-   If you try to build with -DGFTIMER but you get compilation errors,
-   either fix them (and send email to kermit@columbia.edu telling what
-   you did), or else give up and use -DNOGFTIMER (or -DNOFLOAT) instead.
-   Hint: depending on your machine architecture, you might have better
-   luck using double than float as the data type for floating-point
-   numbers, or vice versa. Look in [152]ckcdeb.h for the CKFLOAT
-   definition.
-
-   Floating-point arithmetic is also supported in the script programming
-   language. First via the \fpp...() functions, such as \fppadd(), which
-   adds two floating-point numbers, second in S-Expressions. Addition,
-   subtraction, multiplication, and division are always available. But
-   other functions such as logs, raising to powers, sines and cosines,
-   etc, require the C Math library. To include user-level floating-point
-   math you must put:
-
-  -DFNFLOAT
-
-   and in Unix you must link with the Math library:
-
-  LIBS=".... -lm"
-
-   In K95 and VMS, FNFLOAT is defined automatically if CKFLOAT is
-   defined. In Unix, however, FNFLOAT must be added to each makefile
-   target individually, because of the special linking instructions that
-   must also be added to each target.
-
-   Note: S-Expressions require FNFLOAT.
-
-   [ [153]C-Kermit Home ] [ [154]Kermit Home ]
-    ________________________________________________________________________
-
-  14. SPECIAL CONFIGURATIONS
-
-   [ [155]Top ] [ [156]Contents ] [ [157]Previous ]
-
-   As of C-Kermit 7.0, if you build C-Kermit normally, but with -DNOICP
-   (No Interactive Command Parser), you get a program capable of making
-   serial connections (but not dialing) and network connections (if
-   TCPSOCKET or other network option included), and can also transfer
-   files using Kermit protocol, but only via autodownload/upload.
-   Furthermore, if you call the executable "telnet", it will act like
-   Telnet -- using the command-line options. However, in this case there
-   is nothing to escape back to, so if you type Ctrl-\c, it just prints a
-   message to this effect.
-
-   You can also build C-Kermit with -DNOXFER, meaning omit all the
-   file-transfer features. This leaves you with a scriptable
-   communications program that is considerably smaller than the full
-   C-Kermit.
-
-   [ [158]C-Kermit Home ] [ [159]Kermit Home ]
-    ________________________________________________________________________
-
-  APPENDIX I: SUMMARY OF COMPILE-TIME OPTIONS
-
-   [ [160]Top ] [ [161]Contents ]
-
-   These are the symbols that can be specified on the cc command line,
-   listed alphabetically. Others are used internally, including those
-   taken from header files, those defined by the compiler itself, and
-   those inferred from the ones given below. Kermit's SHOW VERSIONS
-   command attempts to display most of these. See [162]ckcdeb.h and
-   [163]ckcnet.h for inference rules. For example SVR3 implies ATTSV,
-   MULTINET implies TCPSOCKET, and so on.
-
-   Here is the complete list of the Kermit-specific compile-time
-   switches:
-
-   ACUCNTRL Select BSD 4.3-style acucntrl() bidirectional tty control.
-   aegis Build for Apollo Aegis (predefined on Apollo systems).
-   AIX370 Build for IBM AIX/370 for IBM mainframes.
-   AIXESA Build for IBM AIX/ESA for IBM mainframes.
-   AIXPS2 Build for IBM AIX 3.0 for PS/2 series (never formally
-   released).
-   AIXRS Build for IBM AIX 3.x on RS/6000.
-   AIX41 Build for IBM AIX 4.x on RS/6000.
-   AMIGA Build for Commodore Amiga with Intuition OS.
-   ATT6300 Build for AT&T 6300 PLUS.
-   ATT7300 Build for AT&T 7300 UNIX PC (3B1).
-   ATTSV Build for AT&T System III or V UNIX.
-   AUX Build for Apple A/UX for the Macintosh.
-   BIGBUFOK OK to use big buffers - "memory is not a problem"
-   BPS_xxxx Enable SET SPEED xxxx
-   BSD29 Build for BSD 2.9 or 2.10.
-   BSD4 Build for BSD 4.2.
-   BSD41 Build for BSD 4.1.
-   BSD43 Build for BSD 4.3.
-   BSD44 Build for BSD 4.4.
-   C70 Build for BBN C/70.
-   CIE Build for CIE Systems 680/20.
-   CKCONINTB4CB Work around prompt-disappears after escape back from
-   CONNECT.
-   CKLEARN Build with support for learned scripts.
-   CKLOGDIAL Enable connection log.
-   CKMAXPATH Maximum length for a fully qualified filename.
-   CKREGEX (misnomer) Include [...] or {xxx,xxx,xxx} matching in
-   ckmatch().
-   CKSYSLOG Enable syslogging.
-   CK_ANSIC Enable ANSI C constructs - prototypes, etc.
-   CK_ANSILIBS Use header files for ANSI C libraries.
-   CK_APC Enable APC execution by CONNECT module.
-   CK_CURSES Enable fullscreen file transfer display.
-   CK_DSYSINI Use system-wide init file, with name supplied by Kermit.
-   CK_DTRCD DTR/CD flow control is available.
-   CK_FAST Build with fast Kermit protocol defaults.
-   CK_FORK_SIG UNIX only: signal() number for CONNECT module forks.
-   CK_IFRO IF REMOTE command is available (and can run in remote mode).
-   CK_INI_A System-wide init file takes precedence over user's.
-   CK_INI_B User's init file takes precedence over the system-wide one.
-   CK_LABELED Include support for SET FILE TYPE LABELED.
-   CK_LBRK This version can send Long BREAK.
-   CK_LINGER Add code to turn of TCP socket "linger" parameter.
-   CK_MKDIR This version has a zmkdir() command to create directories.
-   CK_NAWS Include TELNET Negotiate About Window Size support.
-   CK_NEWTERM Use newterm() rather than initscr() to initialize curses.
-   CK_PAM Include PAM authentication (might also require -lpam).
-   CK_PCT_BAR Fullscreen file transfer display should include
-   "thermometer".
-   CK_POLL System-V or POSIX based UNIX has poll() function.
-   CK_POSIX_SIG Use POSIX signal handing: sigjmp_buf, sigsetjmp,
-   siglongjmp.
-   CK_READ0 read(fd,&x,0) can be used to test TCP/IP connections.
-   CK_REDIR Enable the REDIRECT command.
-   CK_RESEND Include the RESEND command (needs zfseek() + append).
-   CK_RTSCTS RTS/CTS flow control is available.
-   CK_SHADOW Include support for shadow passwords (e.g. for IKSD
-   authentication).
-   CK_SOCKBUF Enable TCP socket-buffer-size-increasing code.
-   CK_SOCKS UNIX only: Build with socks library rather than regular
-   sockets
-   CK_SOCKS5 UNIX only: Build with socks 5 lib rather than regular
-   sockets
-   CK_SPEED Enable control-character unprefixing.
-   CK_SYSINI="xxxxx" Quoted string to be used as system-wide init file
-   name.
-   CK_TIMERS Build with support for dynamically calculated packet
-   timeouts.
-   CK_TMPDIR This version of Kermit has an isdir() function.
-   CK_TTYFD Defined on systems where the communications connection file
-   descriptor (ttyfd) can be passed to other processes as a command-line
-   argument via \v(ttyfd).
-   CK_URL Parse URLs as well as hostnames, etc.
-   CK_XONXOFF Xon/Xoff flow control available.
-   CK_XYZ Include support for XYZMODEM protocols.
-   CK_WREFRESH Curses package includes wrefresh(),clearok() for screen
-   refresh.
-   CKFLOAT=type Floating-point data type, "double" or "float".
-   CKTYP_H=xxx Force include of xxx as <types.h> file.
-   CLSOPN When hanging up a tty device, also close and reopen it.
-   CMDDEP Maximum recursion depth for self-referential user-defined fn's.
-   COHERENT Build for Mark Williams Coherent UNIX
-   CONGSPD Define if this version has congspd() routine in ck?tio.c
-   datageneral Build for Data General AOS/VS or AOS/VS II
-   DCLPOPEN popen() is available but needs to be declared
-   DEC_TCPIP Build with support for DEC TCP/IP (UCX) for (Open)VMS
-   DGUX430 Build for DG/UX 4.30
-   DGUX540 Build for DG/UX 5.40
-   DEFPAR=x Default parity, 0, 'e', 'o', 'm', or 's'.
-   DFTTY=xxx Default communications device name.
-   DIRENT UNIX directory structure to be taken from <dirent.h>.
-   DIRPWDRP Prompt for password in REMOTE CWD command.
-   DTILDE Include UNIX ~ notation for username/home-directory
-   DYNAMIC Allocate file transfer packet buffers dynamically with malloc.
-   ENCORE Build for Encore Multimax computers.
-   EXCELAN Build with excelan TCP/IP.
-   FNFLOAT Include floating-point math functions (logs, sin, cos, exp,
-   etc)
-   FT18 Build for Fortune For:Pro 1.8.
-   FT21 Build for Fortune For:Pro 2.1.
-   GEMDOS Build for Atari ST GEMDOS.
-   GFTIMER Use high-precision floating-point file-transfer timers.
-   GID_T=xxx Group IDs are of type xxx (usually int, short, or gid_t).
-   HADDRLIST If gethostbyname() hostent struct contains a list of
-   addresses.
-   HDBUUCP Build with support for Honey DanBer UUCP.
-   HPUX Build for Hewlett Packard HP-UX.
-   HPUX9 Build for Hewlett Packard HP-UX 9.x.
-   HPUX10 Build for Hewlett Packard HP-UX 10.x.
-   HWPARITY Define if this version can SET PARITY HARDWARE { EVEN,
-   ODD...}
-   I386IX Build for Interactive System V R3.
-   IFDEBUG Add IF stmts "if (deblog)" before "debug()" calls.
-   INADDRX TCP/IP inet_addr() type is struct inaddr, not unsigned long.
-   INTERLAN Build with support for Racal/Interlan TCP/IP.
-   ISDIRBUG System defs of S_ISDIR and S_ISREG have bug, define
-   ourselves.
-   ISIII Build for Interactive System III.
-   IX370 Build for IBM IX/370.
-   KANJI Build with Kanji character-set translation support.
-   LCKDIR UUCP lock directory is /usr/spool/uucp/LCK/.
-   LFDEVNO UUCP lockfile name uses device numbers, as in SVR4.
-   LINUXFSSTND For Linux, use FSSTND UUCP lockfile conventions (default).
-   LOCK_DIR=xxx UUCP lock directory is xxx (quoted string).
-   LOCKF Use lockf() (in addition to lockfiles) on serial lines
-   LONGFN BSD long filenames supported using <dir.h> and opendir().
-   LYNXOS Build for Lynx OS 2.2 or later (POSIX-based).
-   MAC Build for Apple Macintosh with Mac OS.
-   MATCHDOT Make wildcards match filenames that start with period (.)
-   MAXRP=number Maximum receive-packet length.
-   MAXSP=number Maximum send-packet length.
-   MDEBUG Malloc-debugging requested.
-   MINIDIAL Minimum modem dialer support: CCITT, Hayes, Unkown, and None.
-   MINIX Build for MINIX.
-   MIPS Build for MIPS workstation.
-   MULTINET Build with support for TGV MultiNet TCP/IP (VAX/VMS).
-   M_UNIX Defined by SCO.
-   NAP The nap() is available (conflicts with SELECT and USLEEP)
-   NAPHACK The nap() call is available but only as syscall(3112,...)
-   NDIR BSD long filenames supported using <ndir.h> and opendir().
-   NDGPWNAM Don't declare getpwnam().
-   NDSYSERRLIST Don't declare sys_errlist[].
-   NEEDSELECTDEFS select() is avaible but we need to define FD_blah
-   ourselves.
-   NETCMD Build with support for SET HOST /COMMAND and PIPE commands.
-   NEXT Build for NeXT Mach 1.x or 2.x or 3.0, 3.1, or 3.2.
-   NEXT33 Build for NeXT Mach 3.3.
-   NOANSI Disable ANSI C function prototyping.
-   NOAPC Do not include CK_APC code.
-   NOARROWKEYS Exclude code to parse ANSI arrow-key sequences.
-   NOB_xxxx Disable SET SPEED xxxx
-   NOBIGBUF Override BIGBUFOK when it is the default
-   NOBRKC Don't try to refer to t_brkc or t_eof tchars structure members.
-   NOCKFQHOSTNAME Exclude code to get fully qualified hostname in case it
-   causes core dumps.
-   NOCCTRAP Disable Control-C (SIGINT) trapping.
-   NOCKSPEED Disable control-prefix removal feature (SET CONTROL).
-   NOCKTIMERS Build without support for dynamic timers.
-   NOCKXYZ Overrides CK_XYZ.
-   NOCKREGEX Do not include [...] or {xxx,xxx,xxx} matching in ckmatch().
-   NOCMDL Build with no command-line option processing.
-   NOCOTFMC No Close(Open()) To Force Mode Change (UNIX version).
-   NOCSETS Build with no support for character set translation.
-   NOCYRIL Build with no support for Cyrillic character set translation.
-   NOCYRILLIC Ditto.
-   NODEBUG Build with no debug logging capability.
-   NODIAL Build with no DIAL or SET DIAL commands.
-   NODISPO Build to always refuse incoming MAIL or REMOTE PRINT files.
-   DNODISPLAY Build with no file-transfer display.
-   NOESCSEQ Build with no support for ANSI escape sequence recognition.
-   NOFAST Do not make FAST Kermit protocol settings the default.
-   NOFDZERO Do not use file descriptor 0 for remote-mode file transfer.
-   NOFILEH Do not #include <sys/file.h>.
-   NOFLOAT Don't include any floating-point data types or operations.
-   NOFRILLS Build with "no frills" (this should be phased out...)
-   NOFTRUNCATE Include this on UNIXes that don't have ftruncate().
-   NOGETUSERSHELL Include this on UNIXes that don't have getusershell().
-   NOGFTIMER Don't use high-precision floating-point file-transfer
-   timers.
-   NOHEBREW Build with no support for Hebrew character sets.
-   NOHELP Build with no built-in help.
-   NOIKSD Build with IKSD support excluded.
-   NOINITGROUPS Include this on UNIXes that don't have initgroups().
-   NOICP Build with no interactive command parser.
-   NOJC Build with no support for job control (suspend).
-   NOKANJI Build with no support for Japanese Kanji character sets.
-   NOKVERBS Build with no support for keyboard verbs (\Kverbs).
-   NOLATIN2 Build with no ISO Latin-2 character-set translation support.
-   NOLEARN Build with no support for learned scripts.
-   NOLINKBITS Use of S_ISLNK and _IFLNK untrustworthy; use readlink()
-   instead.
-   NOLOCAL Build without any local-mode features: No Making Connections.
-   NOLOGDIAL Disable connection log.
-   NOLOGIN Build without IKSD (network login) support.
-   NOLSTAT Not OK to use lstat().
-   NOMDMHUP Build without "modem-specific hangup" (e.g. ATH0) feature.
-   NOMHHOST Exclude the multihomed-host TCP/IP code (if compilcation
-   errors)
-   NOMINPUT Build without MINPUT command.
-   NOMSEND Build with no MSEND command.
-   NONAWS Do not include TELNET Negotiate About Window Size support.
-   NONET Do not include any network support.
-   NONOSETBUF (See NOSETBUF)
-   NOPARSEN Build without automatic parity detection.
-   NOPIPESEND Disable file transfer using pipes and filters.
-   NOPOLL Override CK_POLL definition.
-   NOPOPEN The popen() library call is not available.
-   NOPURGE Build with no PURGE command.
-   NOPUSH Build with no escapes to operating system.
-   NOREALPATH In UNIX, realpath() function is not available.
-   NORECALL Disable the command-recall feature.
-   NOREDIRECT Disable REDIRECT command.
-   NORENAME Don't use rename() system call, use link()/unlink() (UNIX).
-   NORESEND Build with no RESEND command.
-   NORETRY Build with no command-retry feature.
-   NOSCRIPT Build with no SCRIPT command.
-   NOSELECT Don't try to use select().
-   NOSERVER Build with no SERVER mode and no server-related commands.
-   NOSETBUF Don't make console writes unbuffered.
-   NONOSETBUF DO make console writes unbuffered.
-   NOSETREU setreuid() and/or setregid() not available.
-   NOSHOW Build with no SHOW command (not recommended!).
-   NOSIGWINCH Disable SIGWINCH signal trapping.
-   NOSPL Build with no script programming language.
-   NOSTAT Don't call stat() from mainline code.
-   NOSYMLINK Include this for UNIXes that don't have readlink().
-   NOSYSIOCTLH Do not #include <sys/ioctl.h>.
-   NOSYSTIMEH Co not include <sys/time.h>.
-   NOSYSLOG Disable syslogging code.
-   NOTCPOPTS Build with no SET TCP options or underlying support.
-   NOTLOG Build with no support for transaction logging.
-   NOTM_ISDST Struct tm has no tm_isdst member.
-   NOUNICODE Build with no support for Unicode character-set translation.
-   NOURL Don't parse URLs
-   NOUUCP Build with no UUCP lockfile support (dangerous!).
-   NOWARN Make EXIT WARNING be OFF by default (otherwise it's ON).
-   NOWREFRESH Override built-in definition of CK_WREFRESH (q.v.).
-   NOXFER Build with no Kermit or other file-transfer protocols.
-   NOXMIT Build with no TRANSMIT command.
-   NOXPRINT Disables transparent print code.
-   OLDMSG Use old "entering server mode" message (see [164]ckcmai.c).
-   OLINUXHISPEED Build in old Linux hi-serial-speed code (for Linux <=
-   1.0).
-   OPENBSD Build for OpenBSD.
-   OS2 Build for OS/2.
-   OSF Build for OSF/1.
-   OSFPC Build for OSF/1 on a PC.
-   OSF32 Digital UNIX 3.2 or later.
-   OSF40 Build for Digital UNIX 4.0.
-   OSF50 Build for Digital UNIX 5.0.
-   OSK Build for OS-9.
-   OXOS Build for Olivetti X/OS 2.3.
-   PCIX Build for PC/IX
-   PID_T=xxx Type for pids is xxx (normally int or pid_t).
-   POSIX Build for POSIX: use POSIX header files, functions, etc.
-   _POSIX_SOURCE Disable non-POSIX features.
-   PROVX1 Build for Venix 1.0 on DEC Professional 3xx.
-   PTX Build for Dynix/PTX
-   PWID_T=xxx getpwid() type is xxx.
-   RBSIZ=xxx Define overall size of receive-packet buffer (with DYNAMIC).
-   RDCHK rdchk() system call is available.
-   RENAME rename() system call is available (UNIX).
-   RTAIX Build for AIX 2.2.1 on IBM RT PC.
-   RTU Build for Masscomp / Concurrent RTU.
-   SAVEDUID BSD or other non-AT&T UNIX has saved-setuid feature.
-   SBSIZ=xxx Define overall size of send-packet buffer (use with
-   DYNAMIC).
-   SDIRENT Directory structure specified in <sys/dirent.h>.
-   SELECT select() function available (conflicts with RDCHK and CK_POLL)
-   SELECT_H Include <sys/select.h> for select()-releated definitions.
-   SETEUID BSD 4.4-style seteXid() functions available.
-   SIG_V Type for signal() is void. Used to override normal assumption.
-   SIG_I Type for signal() is int. Used to override normal assumption.
-   SOCKOPT_T Override default data type for get/setsockopt() option
-   length.
-   SOLARIS Build for Solaris.
-   SOLARIS25 Build for Solaris 2.5 or later.
-   SONYNEWS Build for Sony NEWS-OS.
-   STERMIOX <sys/termiox.h> is available.
-   STRATUS Build for Stratus VOS.
-   STRATUSX25 Include Stratus VOS X.25 support.
-   SUN4S5 Build for SUNOS 4.x in the System V R3 environment.
-   SUNOS4 Build for SUNOS 4.0 in the BSD environment.
-   SUNOS41 Build for SUNOS 4.1 in the BSD environment.
-   SUNX25 Build with support for SunLink X.25.
-   SVR3 Build for AT&T System V Release 3.
-   SVR3JC Allow job control support on System V Release 3 UNIX versions.
-   SVR4 Build for AT&T System V Release 4.
-   SW_ACC_ID UNIX only -- swap real & effective ids around access()
-   calls.
-   sxaE50 Build for PFU Compact A Series SX/A TISP.
-   SYSLOGLEVEL=n Force syslogging at given level.
-   SYSTIMEH Include <sys/time.h>.
-   SYSUTIMEH Include <sys/utime.h> for setting file dates (88OPEN)
-   TCPSOCKET Build with support for TCP/IP via Berkeley sockets library.
-   TERMIOX <termiox.h> header file is available (mostly SVR4).
-   TNCODE Include TELNET-specific code.
-   TOWER1 Build for NCR Tower 1632 with OS 1.02.
-   TRS16 Build for Tandy 16/6000.
-   UID_T=xxx Type for uids is xxx (normally int or uid_t).
-   UNIX Must be defined for all UNIX versions.
-   UNIX351M AT&T UNIX 3.51m on the AT&T 7300 UNIX PC.
-   USE_ARROWKEYS Include code to parse ANSI arrow-key sequences.
-   USE_LSTAT OK to use lstat().
-   USE_MEMCPY Define this if memcpy()/memset()/memmove() available.
-   USE_STRERROR Define this if strerror() is available.
-   USLEEP usleep() system call available (conflicts with NAP & SELECT).
-   UTEK Build for Tektronix workstations with UTEK OS.
-   UTIMEH Include <utime.h> for setting file dates (SVR4, POSIX)
-   UTS24 Build for Amdahl UTS 2.4.
-   V7 Build for Version 7 UNIX.
-   VMS Build for VAX/VMS.
-   VOID=xxx VOID type for functions (int or void).
-   VXVE Build for CDC VX/VE 5.2.1.
-   WAIT_T=xxx Type of argument passed to wait().
-   WINTCP Build with Wollongong VAX/VMS TCP/IP (implies TCPSOCKET)
-   WOLLONGONG Build with Wollongong UNIX TCP/IP (implies TCPSOCKET)
-   XENIX Build for Xenix (SCO, Tandy, others).
-   XNDIR Support for BSD long filenames via <sys/ndir.h>.
-   XYZ_INTERNAL Support for XYZMODEM protocols is internal, not external.
-   ZFCDAT Define this if zfcdat() function is available in Kermit.
-   ZILOG Build for Zilog ZEUS.
-   ZJDATE Has zjdate() function that converts date to Julian format.
-   XPRINT Transparent print code included in CONNECT module.
-
-   [ [165]Top ] [ [166]Contents ] [ [167]C-Kermit Home ] [ [168]Kermit
-   Home ]
-     _________________________________________________________________
-
-
-    C-Kermit Configuration Options / [169]The Kermit Project /
-    [170]Columbia University / [171]kermit@columbia.edu / 14 March 2003
-
-References
-
-   1. http://www.columbia.edu/kermit/
-   2. http://www.columbia.edu/
-   3. http://www.columbia.edu/kermit/ckccfg.html
-   4. http://www.columbia.edu/kermit/ckermit.html
-   5. http://www.columbia.edu/kermit/index.html
-   6. http://www.columbia.edu/kermit/ckccfg.html#x1
-   7. http://www.columbia.edu/kermit/ckccfg.html#x2
-   8. http://www.columbia.edu/kermit/ckccfg.html#x3
-   9. http://www.columbia.edu/kermit/ckccfg.html#x4
-  10. http://www.columbia.edu/kermit/ckccfg.html#x5
-  11. http://www.columbia.edu/kermit/ckccfg.html#x6
-  12. http://www.columbia.edu/kermit/ckccfg.html#x7
-  13. http://www.columbia.edu/kermit/ckccfg.html#x8
-  14. http://www.columbia.edu/kermit/ckccfg.html#x9
-  15. http://www.columbia.edu/kermit/ckccfg.html#x10
-  16. http://www.columbia.edu/kermit/ckccfg.html#x11
-  17. http://www.columbia.edu/kermit/ckccfg.html#x12
-  18. http://www.columbia.edu/kermit/ckccfg.html#x13
-  19. http://www.columbia.edu/kermit/ckccfg.html#x14
-  20. http://www.columbia.edu/kermit/ckccfg.html#xa1
-  21. http://www.columbia.edu/kermit/ckuins.html
-  22. http://www.columbia.edu/kermit/ckermit.html
-  23. http://www.columbia.edu/kermit/index.html
-  24. http://www.columbia.edu/kermit/ckccfg.html#top
-  25. http://www.columbia.edu/kermit/ckccfg.html#contents
-  26. http://www.columbia.edu/kermit/ckccfg.html#x2
-  27. http://www.columbia.edu/kermit/ckccfg.html#x0
-  28. http://www.columbia.edu/kermit/ckermit.html
-  29. http://www.columbia.edu/kermit/index.html
-  30. http://www.columbia.edu/kermit/ckccfg.html#top
-  31. http://www.columbia.edu/kermit/ckccfg.html#contents
-  32. http://www.columbia.edu/kermit/ckccfg.html#x3
-  33. http://www.columbia.edu/kermit/ckccfg.html#x1
-  34. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c
-  35. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h
-  36. ftp://kermit.columbia.edu/kermit/c-kermit/ckuus3.c
-  37. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h
-  38. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c
-  39. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c
-  40. http://www.columbia.edu/kermit/ckermit.html
-  41. http://www.columbia.edu/kermit/index.html
-  42. http://www.columbia.edu/kermit/ckccfg.html#top
-  43. http://www.columbia.edu/kermit/ckccfg.html#contents
-  44. http://www.columbia.edu/kermit/ckccfg.html#x4
-  45. http://www.columbia.edu/kermit/ckccfg.html#x2
-  46. ftp://kermit.columbia.edu/kermit/c-kermit/makefile
-  47. http://www.columbia.edu/kermit/ckuins.html
-  48. http://www.columbia.edu/kermit/ckuins.html#x4
-  49. http://www.columbia.edu/kermit/ckuins.html#x9.2
-  50. ftp://kermit.columbia.edu/kermit/c-kermit/ckuusx.c
-  51. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c
-  52. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c
-  53. ftp://kermit.columbia.edu/kermit/c-kermit/ckuusx.c
-  54. ftp://kermit.columbia.edu/kermit/c-kermit/ckucmd.c
-  55. http://www.columbia.edu/kermit/ckermit.html
-  56. http://www.columbia.edu/kermit/index.html
-  57. http://www.columbia.edu/kermit/ckccfg.html#top
-  58. http://www.columbia.edu/kermit/ckccfg.html#contents
-  59. http://www.columbia.edu/kermit/ckccfg.html#x5
-  60. http://www.columbia.edu/kermit/ckccfg.html#x3
-  61. http://www.columbia.edu/kermit/unicode.html
-  62. http://www.columbia.edu/kermit/ckermit.html
-  63. http://www.columbia.edu/kermit/index.html
-  64. http://www.columbia.edu/kermit/ckccfg.html#top
-  65. http://www.columbia.edu/kermit/ckccfg.html#contents
-  66. http://www.columbia.edu/kermit/ckccfg.html#x6
-  67. http://www.columbia.edu/kermit/ckccfg.html#x4
-  68. ftp://kermit.columbia.edu/kermit/c-kermit/ckuusr.h
-  69. ftp://kermit.columbia.edu/kermit/c-kermit/ckuusr.h
-  70. http://www.columbia.edu/kermit/ckermit.html
-  71. http://www.columbia.edu/kermit/index.html
-  72. http://www.columbia.edu/kermit/ckccfg.html#top
-  73. http://www.columbia.edu/kermit/ckccfg.html#contents
-  74. http://www.columbia.edu/kermit/ckccfg.html#x7
-  75. http://www.columbia.edu/kermit/ckccfg.html#x5
-  76. http://www.columbia.edu/kermit/ckccfg.html#x6.1
-  77. http://www.columbia.edu/kermit/ckccfg.html#x6.2
-  78. http://www.columbia.edu/kermit/ckccfg.html#x6.3
-  79. http://www.columbia.edu/kermit/ckccfg.html#x6.4
-  80. http://www.columbia.edu/kermit/ckccfg.html#x4
-  81. http://www.columbia.edu/kermit/gkermit.html
-  82. ftp://kermit.columbia.edu/kermit/c-kermit/ckuusr.h
-  83. ftp://kermit.columbia.edu/kermit/c-kermit/ckcker.h
-  84. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h
-  85. http://www.columbia.edu/kermit/ckermit.html
-  86. http://www.columbia.edu/kermit/index.html
-  87. http://www.columbia.edu/kermit/ckccfg.html#top
-  88. http://www.columbia.edu/kermit/ckccfg.html#contents
-  89. http://www.columbia.edu/kermit/ckccfg.html#x8
-  90. http://www.columbia.edu/kermit/ckccfg.html#x6
-  91. ftp://kermit.columbia.edu/kermit/c-kermit/ckudia.c
-  92. http://www.columbia.edu/kermit/ckermit.html
-  93. http://www.columbia.edu/kermit/index.html
-  94. http://www.columbia.edu/kermit/ckccfg.html#top
-  95. http://www.columbia.edu/kermit/ckccfg.html#contents
-  96. http://www.columbia.edu/kermit/ckccfg.html#x9
-  97. http://www.columbia.edu/kermit/ckccfg.html#x7
-  98. http://www.columbia.edu/kermit/ckccfg.html#x8.1
-  99. http://www.columbia.edu/kermit/ckccfg.html#x8.2
- 100. http://www.columbia.edu/kermit/ckccfg.html#x8.3
- 101. http://www.columbia.edu/kermit/ckccfg.html#x8.1.1
- 102. http://www.columbia.edu/kermit/ckccfg.html#x8.1.2
- 103. http://www.columbia.edu/kermit/ckccfg.html#x8.1.3
- 104. http://www.columbia.edu/kermit/ckccfg.html#x8.1.4
- 105. http://www.columbia.edu/kermit/ckccfg.html#x8.1.5
- 106. http://www.columbia.edu/kermit/ckccfg.html#x8.1.6
- 107. ftp://kermit.columbia.edu/kermit/c-kermit/ckcnet.h
- 108. ftp://kermit.columbia.edu/kermit/c-kermit/ckctel.c
- 109. ftp://kermit.columbia.edu/kermit/c-kermit/ckctel.c
- 110. ftp://kermit.columbia.edu/kermit/c-kermit/ckctel.h
- 111. ftp://kermit.columbia.edu/kermit/c-kermit/ckcftp.c
- 112. http://www.columbia.edu/kermit/ckermit.html
- 113. ftp://kermit.columbia.edu/kermit/c-kermit/ckcnet.c
- 114. ftp://kermit.columbia.edu/kermit/c-kermit/ckcnet.h
- 115. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c
- 116. http://www.columbia.edu/kermit/ckccfg.html#x11
- 117. mailto:kermit@columbia.edu
- 118. http://www.columbia.edu/kermit/ckermit.html
- 119. http://www.columbia.edu/kermit/index.html
- 120. http://www.columbia.edu/kermit/ckccfg.html#top
- 121. http://www.columbia.edu/kermit/ckccfg.html#contents
- 122. http://www.columbia.edu/kermit/ckccfg.html#x10
- 123. http://www.columbia.edu/kermit/ckccfg.html#x8
- 124. http://www.columbia.edu/kermit/ckermit.html
- 125. http://www.columbia.edu/kermit/index.html
- 126. http://www.columbia.edu/kermit/ckccfg.html#top
- 127. http://www.columbia.edu/kermit/ckccfg.html#contents
- 128. http://www.columbia.edu/kermit/ckccfg.html#x11
- 129. http://www.columbia.edu/kermit/ckccfg.html#x9
- 130. http://www.columbia.edu/kermit/ckuins.html#x11
- 131. http://www.columbia.edu/kermit/ckuins.html
- 132. http://www.columbia.edu/kermit/ckermit.html
- 133. http://www.columbia.edu/kermit/index.html
- 134. http://www.columbia.edu/kermit/ckccfg.html#top
- 135. http://www.columbia.edu/kermit/ckccfg.html#contents
- 136. http://www.columbia.edu/kermit/ckccfg.html#x12
- 137. http://www.columbia.edu/kermit/ckccfg.html#x10
- 138. ftp://kermit.columbia.edu/kermit/c-kermit/ckucns.c
- 139. ftp://kermit.columbia.edu/kermit/c-kermit/ckucon.c
- 140. http://www.columbia.edu/kermit/ckermit.html
- 141. http://www.columbia.edu/kermit/index.html
- 142. http://www.columbia.edu/kermit/ckccfg.html#top
- 143. http://www.columbia.edu/kermit/ckccfg.html#contents
- 144. http://www.columbia.edu/kermit/ckccfg.html#x13
- 145. http://www.columbia.edu/kermit/ckccfg.html#x11
- 146. http://www.columbia.edu/kermit/ckermit.html
- 147. http://www.columbia.edu/kermit/index.html
- 148. http://www.columbia.edu/kermit/ckccfg.html#top
- 149. http://www.columbia.edu/kermit/ckccfg.html#contents
- 150. http://www.columbia.edu/kermit/ckccfg.html#x14
- 151. http://www.columbia.edu/kermit/ckccfg.html#x12
- 152. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h
- 153. http://www.columbia.edu/kermit/ckermit.html
- 154. http://www.columbia.edu/kermit/index.html
- 155. http://www.columbia.edu/kermit/ckccfg.html#top
- 156. http://www.columbia.edu/kermit/ckccfg.html#contents
- 157. http://www.columbia.edu/kermit/ckccfg.html#x13
- 158. http://www.columbia.edu/kermit/ckermit.html
- 159. http://www.columbia.edu/kermit/index.html
- 160. http://www.columbia.edu/kermit/ckccfg.html#top
- 161. http://www.columbia.edu/kermit/ckccfg.html#contents
- 162. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h
- 163. ftp://kermit.columbia.edu/kermit/c-kermit/ckcnet.h
- 164. ftp://kermit.columbia.edu/kermit/c-kermit/ckcmai.c
- 165. http://www.columbia.edu/kermit/ckccfg.html#top
- 166. http://www.columbia.edu/kermit/ckccfg.html#contents
- 167. http://www.columbia.edu/kermit/ckermit.html
- 168. http://www.columbia.edu/kermit/index.html
- 169. http://www.columbia.edu/kermit/index.html
- 170. http://www.columbia.edu/
- 171. mailto:kermit@columbia.edu