Merge branch 'upstream' into test
[ckermit.git] / ckubwr.txt
diff --git a/ckubwr.txt b/ckubwr.txt
deleted file mode 100644 (file)
index 4b0d387..0000000
+++ /dev/null
@@ -1,5330 +0,0 @@
-
-                       C-Kermit 8.0 Unix Hints and Tips
-
-     Frank da Cruz
-     [1]The Kermit Project, [2]Columbia University
-
-   As of: C-Kermit 8.0.211 10 April 2004
-   This page last updated: Fri Apr 16 16:13:14 2004 (New York USA Time)
-
-     IF YOU ARE READING A PLAIN-TEXT version of this document, note it
-     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/ckubwr.html
-
-     Since the material in this file has been accumulating since 1985,
-     some (much) of it might be dated. [4]Feedback from experts on
-     particular OS's and platforms is always welcome. 
-
-   [ [5]C-Kermit ] [ [6]Installation Instructions ] [ [7]TUTORIAL ]
-    ________________________________________________________________________
-
-  CONTENTS
-
-    1. [8]INTRODUCTION
-    2. [9]PREBUILT C-KERMIT BINARIES
-    3. [10]PLATFORM-SPECIFIC NOTES
-    4. [11]GENERAL UNIX-SPECIFIC LIMITATIONS AND BUGS
-    5. [12]INITIALIZATION AND COMMAND FILES
-    6. [13]COMMUNICATION SPEED SELECTION
-    7. [14]COMMUNICATIONS AND DIALING
-    8. [15]HARDWARE FLOW CONTROL
-    9. [16]TERMINAL CONNECTION AND KEY MAPPING
-   10. [17]FILE TRANSFER
-   11. [18]EXTERNAL FILE TRANSFER PROTOCOLS
-   12. [19]SECURITY
-   13. [20]MISCELLANEOUS USER REPORTS
-   14. [21]THIRD-PARTY DRIVERS
-
-   Quick Links:   [ [22]Linux ] [ [23]*BSD ] [[24]Mac OS X] [ [25]AIX ] [
-   [26]HP-UX ] [ [27]Solaris ] [ [28]SCO ] [ [29]DEC/Compaq ]
-    ________________________________________________________________________
-
-  1. INTRODUCTION
-
-   [ [30]Top ] [ [31]Contents ] [ [32]Next ]
-
-   SECTION CONTENTS
-
-  1.1. [33]Documentation
-  1.2. [34]Technical Support
-  1.3. [35]The Year 2000
-  1.4. [36]The Euro
-
-   THIS IS WHAT USED TO BE CALLED the "beware file" for the Unix version
-   of C-Kermit, previously distributed as ckubwr.txt and, before that, as
-   ckuker.bwr, after the fashion of old Digital Equipment Corporation
-   (DEC) software releases that came with release notes (describing what
-   had changed) and a "beware file" listing known bugs, limitations,
-   "non-goals", and things to watch out for. The C-Kermit beware file has
-   been accumulating since 1985, and it applies to many different
-   hardware platforms and operating systems, and many versions of them,
-   so it is quite large. Prior to C-Kermit 8.0, it was distributed only
-   in plain-text format. Now it is available as a Web document with
-   links, internal cross references, and so on, to make it easier to use.
-
-   This document applies to Unix C-Kermit in general, as well as to
-   specific Unix variations like [37]Linux, [38]AIX, [39]HP-UX,
-   [40]Solaris, and so on, and should be read in conjunction with the
-   [41]platform-independent C-Kermit beware file, which contains similar
-   information, but applying to all versions of C-Kermit (VMS, Windows,
-   OS/2, AOS/VS, VOS, etc, as well as to Unix).
-
-   There is much in this document that is (only) of historical interest.
-   The navigation links should help you skip directly to the sections
-   that are relevant to you. Numerous offsite Web links are supposed to
-   lead to further information but, as you know, Web links go stale
-   frequently and without warning. If you can supply additional,
-   corrected, updated, or better Web links, please feel free to [42]let
-   us know.
-
-  1.1. Documentation
-
-   [ [43]Top ] [ [44]Contents ] [ [45]Next ]
-
-   C-Kermit 6.0 is documented in the book [46]Using C-Kermit, Second
-   Edition, by Frank da Cruz and Christine M. Gianone, Digital Press,
-   Burlington, MA, USA, ISBN 1-55558-164-1 (1997), 622 pages. This
-   remains the definitive C-Kermit documentation. Until the third edition
-   is published (sorry, there is no firm timeframe for this), please also
-   refer to:
-
-   [47]Supplement to Using C-Kermit, Second Edition, For C-Kermit 7.0
-          Thorough documentation of features new to version 7.0.
-
-   [48]Supplement to Using C-Kermit, Second Edition, For C-Kermit 8.0
-          Thorough documentation of features new to version 8.0.
-
-  1.2. Technical Support
-
-   [ [49]Top ] [ [50]Contents ] [ [51]Section Contents ] [ [52]Next ] [
-   [53]Previous ]
-
-   For information on how to get technical support, please visit:
-
-    [54]http://www.columbia.edu/kermit/support.html
-
-  1.3. The Year 2000
-
-   [ [55]Top ] [ [56]Contents ] [ [57]Section Contents ] [ [58]Next ] [
-   [59]Previous ]
-
-   The Unix version of C-Kermit, release 6.0 and later, is "Year 2000
-   compliant", but only if the underlying operating system is too.
-   Contact your Unix operating system vendor to find out which operating
-   system versions, patches, hardware, and/or updates are required.
-   (Quite a few old Unixes are still in operation in the new millenium,
-   but with their date set 28 years in the past so at least the non-year
-   parts of the calendar are correct.)
-
-   As of C-Kermit 6.0 (6 September 1996), post-millenium file dates are
-   recognized, transmitted, received, and reproduced correctly during the
-   file transfer process in C-Kermit's File Attribute packets. If
-   post-millenium dates are not processed correctly on the other end,
-   file transfer still takes place, but the modification or creation date
-   of the received file might be incorrect. The only exception would be
-   if the "file collision update" feature is being used to prevent
-   unnecessary transfer of files that have not changed since the last
-   time a transfer took place; in this case, a file might be transferred
-   unnecessarily, or it might not be transferred when it should have
-   been. Correct operation of the update feature depends on both Kermit
-   programs having the correct date and time.
-
-   Of secondary importance are the time stamps in the transaction and/or
-   debug logs, and the date-related script programming constructs, such
-   as \v(date), \v(ndate), \v(day), \v(nday), and perhaps also the
-   time-related ones, \v(time) and \v(ntime), insofar as they might be
-   affected by the date. The \v(ndate) is a numeric-format date of the
-   form yyyymmdd, suitable for both lexical and numeric comparison and
-   sorting: e.g. 19970208 or 20011231. If the underlying operating system
-   returns the correct date information, these variables will have the
-   proper values. If not, then scripts that make decisions based on these
-   variables might not operate correctly.
-
-   Most date-related code is based upon the C Library asctime() string,
-   which always has a four-digit year. In Unix, the one bit of code in
-   C-Kermit that is an exception to this rule is several calls to
-   localtime(), which returns a pointer to a tm struct, in which the year
-   is presumed to be expressed as "years since 1900". The code depends on
-   this assumption. Any platforms that violate it will need special
-   coding. As of this writing, no such platforms are known.
-
-   Command and script programming functions that deal with dates use
-   C-Kermit specific code that always uses full years.
-
-  1.4. The Euro
-
-   [ [60]Top ] [ [61]Contents ] [ [62]Section Contents ] [ [63]Previous ]
-
-   C-Kermit 7.0 and later support Unicode (ISO 10646), ISO 8859-15 Latin
-   Alphabet 9, PC Code Page 858, Windows Code Pages 1250 and 1251, and
-   perhaps other character sets, that encode the Euro symbol, and can
-   translate among them as long as no intermediate character-set is
-   involved that does not include the Euro.
-    ________________________________________________________________________
-
-  2. PREBUILT C-KERMIT BINARIES
-
-   [ [64]Top ] [ [65]Contents ] [ [66]Next ] [ [67]Previous ]
-
-   It is often dangerous to run a binary C-Kermit (or any other) program
-   built on a different computer. Particularly if that computer had a
-   different C compiler, libraries, operating system version, processor
-   features, etc, and especially if the program was built with shared
-   libraries, because as soon as you update the libraries on your system,
-   they no longer match the ones referenced in the binary, and the binary
-   might refuse to load when you run it, in which case you'll see error
-   messages similar to:
-
-  Could not load program kermit
-  Member shr4.o not found or file not an archive
-  Could not load library libcurses.a[shr4.o]
-  Error was: No such file or directory
-
-   (These samples are from AIX.) To avoid this problem, we try to build
-   C-Kermit with statically linked libraries whenever we can, but this is
-   increasingly impossible as shared libraries become the norm.
-
-   It is often OK to run a binary built on an earlier OS version, but it
-   is rarely possible (or safe) to run a binary built on a later one, for
-   example to run a binary built under Solaris 8 on Solaris 2.6.
-   Sometimes even the OS-or-library patch/ECO level makes a difference.
-
-   A particularly insidious problem occurs when a binary was built on a
-   version of the OS that has patches from the vendor (e.g. to
-   libraries); in many cases you won't be able to run such a binary on an
-   unpatched version of the same platform.
-
-   When in doubt, build C-Kermit from the source code on the computer
-   where it is to be run (if possible!). If not, ask us for a binary
-   specific to your configuration. We might have one, and if we don't, we
-   might be able to find somebody who will build one for you.
-    ________________________________________________________________________
-
-  3. NOTES ON SPECIFIC UNIX VERSIONS
-
-   [ [68]Top ] [ [69]Contents ] [ [70]Next ] [ [71]Previous ]
-
-   SECTION CONTENTS
-
-  3.0.  [72]C-KERMIT ON PC-BASED UNIXES
-  3.1.  [73]C-KERMIT AND AIX
-  3.2.  [74]C-KERMIT AND HP-UX
-  3.3.  [75]C-KERMIT AND LINUX
-  3.4.  [76]C-KERMIT AND NEXTSTEP
-  3.5.  [77]C-KERMIT AND QNX
-  3.6.  [78]C-KERMIT AND SCO
-  3.7.  [79]C-KERMIT AND SOLARIS
-  3.8.  [80]C-KERMIT AND SUNOS
-  3.9.  [81]C-KERMIT AND ULTRIX
-  3.10. [82]C-KERMIT AND UNIXWARE
-  3.11. [83]C-KERMIT AND APOLLO SR10
-  3.12. [84]C-KERMIT AND TANDY XENIX 3.0
-  3.13. [85]C-KERMIT AND OSF/1 (DIGITAL UNIX) (TRU64 UNIX)
-  3.14. [86]C-KERMIT AND SGI IRIX
-  3.15. [87]C-KERMIT AND THE BEBOX
-  3.16. [88]C-KERMIT AND DG/UX
-  3.17. [89]C-KERMIT AND SEQUENT DYNIX
-  3.18. [90]C-KERMIT AND {FREE,OPEN,NET}BSD
-  3.19. [91]C-KERMIT AND MAC OS X
-  3.20. [92]C-KERMIT AND COHERENT
-
-   The following sections apply to specific Unix versions. Most of them
-   contain references to FAQs (Frequently Asked Questions), but these
-   tend to be ephemeral. For possibly more current information see:
-
-  [93]http://www.faqs.org
-  [94]http://aplawrence.com/Unixart/newtounix.html
-
-   One thread that runs through many of them, and implicitly perhaps
-   through all, concerns the problems that occur when trying to dial out
-   on a serial device that is (also) enabled for dialing in. The
-   "solutions" to this problem are many, varied, diverse, and usually
-   gross, involving configuring the device for bidirectional use. This is
-   done in a highly OS-dependent and often obscure manner, and the
-   effects (good or evil) are also highly dependent on the particular OS
-   (and getty variety, etc). Many examples are given in the
-   [95]OS-specific sections below.
-
-   An important point to keep in mind is that C-Kermit is a
-   cross-platform, portable software program. It was not designed
-   specifically and only for your particular Unix version, or for that
-   matter, for Unix in particular at all. It also runs on VMS, AOS/VS,
-   VOS, and other non-Unix platforms. All the Unix versions of C-Kermit
-   share common i/o modules, with compile-time #ifdef constructions used
-   to account for the differences among the many Unix products and
-   releases. If you think that C-Kermit is behaving badly or missing
-   something on your particular Unix version, you might be right -- we
-   can't claim to be expert in hundreds of different OS / version /
-   hardware / library combinations. If you're a programmer, take a look
-   at the source code and [96]send us your suggested fixes or changes. Or
-   else just [97]send us a report about what seems to be wrong and we'll
-   see what we can do.
-    ________________________________________________________________________
-
-  3.0. C-KERMIT ON PC-BASED UNIXES
-
-   [ [98]Top ] [ [99]Contents ] [ [100]Section Contents ] [ [101]Next ]
-
-   Also see: [102]http://www.pcunix.com/.
-
-   SECTION CONTENTS
-
-  3.0.1. [103]Interrupt Conflicts
-  3.0.2. [104]Windows-Specific Hardware
-  3.0.3. [105]Modems
-  3.0.4. [106]Character Sets
-  3.0.5. [107]Keyboard, Screen, and Mouse Access
-  3.0.6. [108]Laptops
-
-  3.0.1. Interrupt Conflicts
-
-   [ [109]Top ] [ [110]Contents ] [ [111]Section Contents ] [ [112]Next ]
-
-   PCs are not the best platform for real operating systems like Unix.
-   The architecture suffers from numerous deficiencies, not the least of
-   which is the stiflingly small number of hardware interrupts (either 7
-   or 15, many of which are preallocated). Thus adding devices, using
-   multiple serial ports, etc, is always a challenge and often a
-   nightmare. The free-for-all nature of the PC market and the lack of
-   standards combined with the diversity of Unix OS versions make it
-   difficult to find drivers for any particular device on any particular
-   version of Unix.
-
-   Of special interest to Kermit users is the fact that there is no
-   standard provision in the PC architecture for more than 2
-   communication (serial) ports. COM3 and COM4 (or higher) will not work
-   unless you (a) find out the hardware address and interrupt for each,
-   (b) find out how to provide your Unix version with this information,
-   and (c) actually set up the configuration in the Unix startup files
-   (or whatever other method is used). Watch out for interrupt conflicts,
-   especially when using a serial mouse, and don't expect to be able to
-   use more than two serial ports.
-
-   The techniques for resolving interrupt conflicts are different for
-   each operating system (Linux, NetBSD, etc). In general, there is a
-   configuration file somewhere that lists COM ports, something like
-   this:
-
-  com0    at isa? port 0x3f8 irq 4      # DOS COM1
-  com1    at isa? port 0x2f8 irq 3      # DOS COM2
-
-   The address and IRQ values in this file must agree with the values in
-   the PC BIOS and with the ports themselves, and there must not be more
-   than one device with the same interrupt. Unfortunately, due to the
-   small number of available interrupts, installing new devices on a PC
-   almost always creates a conflict. Here is a typical tale from a Linux
-   user (Fred Smith) about installing a third serial port:
-
-     ...problems can come from a number of causes. The one I fought with
-     for some time, and finally conquered, was that my modem is on an
-     add-in serial port, cua3/IRQ5. By default IRQ5 has a very low
-     priority, and does not get enough service in times when the system
-     is busy to prevent losing data. This in turn causes many resends.
-     There are two 'fixes' that I know of, one is to relax hard disk
-     interrupt hogging by using the correct parameter to hdparm, but I
-     don't like that one because the hdparm man page indicates it is
-     risky to use. The other one, the one I used, was to get 'irqtune'
-     and use it to give IRQ5 the highest priority instead of nearly the
-     lowest. Completely cured the problem.
-
-   Here's another one from a newsgroup posting:
-
-     After much hair pulling, I've discovered why my serial port won't
-     work. Apparently my [PC] has three serial devices (two comm ports
-     and an IR port), of which only two at a time can be active. I
-     looked in the BIOS setup and noticed that the IR port was
-     activated, but didn't realize at the time that this meant that COM2
-     was thereby de-activated. I turned off the IR port and now the
-     serial port works as advertised.
-    ________________________________________________________________________
-
-  3.0.2. Windows-Specific Hardware
-
-   [ [113]Top ] [ [114]Contents ] [ [115]Section Contents ] [ [116]Next ]
-   [ [117]Previous ]
-
-   To complicate matters, the PC platform is becoming increasingly and
-   inexorably Windows-oriented. More and more add-on devices are "Windows
-   only" -- meaning they are incomplete and rely on proprietary
-   Windows-based software drivers to do the jobs that you would expect
-   the device itself to do. PCMCIA, PCI, or "Plug-n-Play" devices are
-   rarely supported on PC-based Unix versions such as SCO; Winmodems,
-   Winprinters, and the like are not supported on any Unix variety (with
-   [118]a few exceptions). The self-proclaimed Microsoft PC 97 (or later)
-   standard only makes matters worse since its only purpose to ensure
-   that PCs are "optimized to run Windows 95 and Windows NT 4.0 and
-   future versions of these operating systems".
-
-   With the exception noted (the Lucent modem, perhaps a handful of
-   others by the time you read this), drivers for "Win" devices are
-   available only for Windows, since the Windows market dwarfs that of
-   any particular Unix brand, and for that matter all Unixes (or for that
-   matter, all non-Windows operating systems) combined. If your version
-   of Unix (SCO, Linux, BSDI, FreeBSD, etc) does not support a particular
-   device, then C-Kermit can't use it either. C-Kermit, like any Unix
-   application, must access all devices through drivers and not directly
-   because Unix is a real operating system.
-
-   Don't waste time thinking that you, or anybody else, could write a
-   Linux (or other Unix) driver for a Winmodem or other "Win" device.
-   First of all, these devices generally require realtime control, but
-   since Unix is a true multitasking operating system, realtime device
-   control is not possible outside the kernel. Second, the specifications
-   for these devices are secret and proprietary, and each one (and each
-   version of each one) is potentially different. Third, a Winmodem
-   driver would be enormously complex; it would take years to write and
-   debug, by which time it would be obsolete.
-
-   A more recent generation of PCs (circa 1999-2000) is marketed as
-   "Legacy Free". One can only speculate what that could mean. Most
-   likely it means it will ONLY run the very latest versions of Windows,
-   and is made exclusively of Winmodems, Winprinters, Winmemory, and
-   Win-CPU-fans (Legacy Free is a concept [119]pioneered by Microsoft).
-
-   Before you buy a new PC or add-on equipment, especially serial ports,
-   internal modems, or printers, make sure they are compatible with your
-   version of Unix. This is becoming an ever-greater challenge; only a
-   huge company like Microsoft can afford to be constantly cranking out
-   and/or verifying drivers for the thousands of video boards, sound
-   cards, network adapters, SCSI adapters, buses, etc, that spew forth in
-   an uncontrolled manner from all corners of the world on a daily basis.
-   With very few exceptions, makers of PCs assemble the various
-   components and then verify them only with Windows, which they must do
-   since they are, no doubt, preloading the PC with Windows. To find a
-   modern PC that is capable of running a variety of non-Windows
-   operating systems (e.g. Linux, SCO OpenServer, Unixware, and Solaris)
-   is a formidable challenge requiring careful study of each vendor's
-   "compatibility lists" and precise attention to exact component model
-   numbers and revision levels.
-    ________________________________________________________________________
-
-  3.0.3. Modems
-
-   [ [120]Top ] [ [121]Contents ] [ [122]Section Contents ] [ [123]Next ]
-   [ [124]Previous ]
-
-   External modems are recommended:
-
-     * They don't need any special drivers.
-     * You can use the lights and speaker to troubleshoot dialing.
-     * You can share them among all types of computers.
-     * You can easily turn them off and on when power-cycling seems
-       warranted.
-     * They are more likely to have manuals.
-
-   Internal PC modems (even when they are not Winmodems, which is
-   increasingly unlikely in new PCs) are always trouble, especially in
-   Unix. Even when they work for dialing out, they might not work for
-   dialing in, etc. Problems that occur when using an internal modem can
-   almost always be eliminated by switching to an external one. Even when
-   an internal modem is not a Winmodem or Plug-n-Play, it is often a
-   no-name model of unknown quality -- not the sort of thing you want
-   sitting directly on your computer's bus. (Even if it does not cause
-   hardware problems, it probably came without a command list, so no Unix
-   software will know how to control it.) For more about Unix compatible
-   modems, see:
-
-  [125]http://www.idir.net/~gromitkc/winmodem.html
-
-   Remember that PCs, even now -- more than two decades after they were
-   first introduced -- are not (in general) capable of supporting more
-   than 2 serial devices. Here's a short success story from a recent
-   newsgroup posting: "I have a Diamond SupraSonic II dual modem in my
-   machine. What I had to end up doing is buying a PS/2 mouse and port
-   and install it. Had to get rid of my serial mouse. I also had to
-   disable PnP in my computer bios. I was having IRQ conflicts between my
-   serial mouse and 'com 3'. Both modems work fine for me. My first modem
-   is ttyS0 and my second is ttyS1." Special third-party multiport boards
-   such as [126]DigiBoard are available for certain Unix platforms
-   (typically SCO, maybe Linux) that come with special platform-specific
-   drivers.
-    ________________________________________________________________________
-
-  3.0.4. Character Sets
-
-   [ [127]Top ] [ [128]Contents ] [ [129]Section Contents ] [ [130]Next ]
-   [ [131]Previous ]
-
-   PCs generally have PC code pages such as CP437 or CP850, and these are
-   often used by PC-based Unix operating systems, particularly on the
-   console. These are supported directly by C-Kermit's SET FILE
-   CHARACTER-SET and SET TERMINAL CHARACTER-SET commands. Some PC-based
-   Unix versions, such as recent Red Hat Linux releases, might also
-   support Microsoft Windows code pages such as CP1252, or even Latin
-   Alphabet 1 itself (perhaps displayed with CP437 glyphs). (And work is
-   in progress to support Unicode UTF8 in Linux.)
-
-   Certain Windows code pages are not supported directly by C-Kermit, but
-   since they are ISO Latin Alphabets with nonstandard "extensions" in
-   the C1 control range, you can substitute the corresponding Latin
-   alphabet (or other character set) in any C-Kermit character-set
-   related commands:
-
-  Windows Code Page    Substitution
-   CP 1004              Latin-1
-   CP 1051              HP Roman-8
-
-   Other Windows code pages are mostly (or totally) incompatible with
-   their Latin Alphabet counterparts (e.g. CP1250 and Latin-2), and
-   several of these are already supported by C-Kermit 7.0 and later
-   (1250, 1251, and 1252).
-    ________________________________________________________________________
-
-  3.0.5. Keyboard, Screen, and Mouse Access
-
-   [ [132]Top ] [ [133]Contents ] [ [134]Section Contents ] [ [135]Next ]
-   [ [136]Previous ]
-
-   Finally, note that as a real operating system, Unix (unlike Windows)
-   does not provide the intimate connection to the PC keyboard, screen,
-   and mouse that you might expect. Unix applications can not "see" the
-   keyboard, and therefore can not be programmed to understand F-keys,
-   Editing keys, Arrow keys, Alt-key combinations, and the like. This is
-   because:
-
-    a. Unix is a portable operating system, not only for PCs;
-    b. Unix sessions can come from anywhere, not just the PC's own
-       keyboard and screen; and:
-    c. even though it might be possible for an application that actually
-       is running on the PC's keyboard and screen to access these devices
-       directly, there are no APIs (outside of X) for this.
-    ________________________________________________________________________
-
-  3.0.6. Laptops
-
-   [ [137]Top ] [ [138]Contents ] [ [139]Section Contents ] [
-   [140]Previous ]
-
-   (To be filled in . . .)
-    ________________________________________________________________________
-
-  3.1. C-KERMIT AND AIX
-
-   [ [141]Top ] [ [142]Contents ] [ [143]Section Contents ] [ [144]Next ]
-   [ [145]Previous ]
-
-   SECTION CONTENTS
-
-  3.1.1. [146]AIX: General
-  3.1.2. [147]AIX: Network Connections
-  3.1.3. [148]AIX: Serial Connections
-  3.1.4. [149]AIX: File Transfer
-  3.1.5. [150]AIX: Xterm Key Map
-
-   For additional information see:
-     * [151]http://www.emerson.emory.edu/services/aix-faq/
-     * [152]http://www.faqs.org/faqs/by-newsgroup/comp/comp.unix.aix.html
-     * [153]http://www.cis.ohio-state.edu/hypertext/faq/usenet/aix-faq/to
-       p.html
-     * [154]http://aixpdslib.seas.ucla.edu/
-     * [155]http://www.rootvg.net (AIX history)
-     * [156]ftp://rtfm.mit.edu/pub/usenet/news.answers/aix-faq/part1
-     * [157]ftp://mirrors.aol.com/pub/rtfm/usenet-by-hierarchy/comp/unix/
-       aix
-
-   and/or read the [158]comp.unix.aix newsgroup.
-      ______________________________________________________________________
-
-    3.1.1. AIX: General
-
-   [ [159]Top ] [ [160]Contents ] [ [161]Section Contents ] [ [162]Next ]
-
-   About AIX version numbers: "uname -a" tells the two-digit version
-   number, such as 3.2 or 4.1. The three-digit form can be seen with the
-   "oslevel" command (this information is unavailable at the API level
-   and is reportedly obtained by scanning the installed patch list).
-   Supposedly all three-digit versions within the same two-digit version
-   (e.g. 4.3.1, 4.3.2) are binary compatible; i.e. a binary built on any
-   one of them should run on all others, but who knows. Most AIX
-   advocates tell you that any AIX binary will run on any AIX version
-   greater than or equal to the one under which it was built, but
-   experience with C-Kermit suggests otherwise. It is always best to run
-   a binary built under your exact same AIX version, down to the third
-   decimal place, if possible. Ideally, build it from source code
-   yourself. Yes, this advice would be easier to follow if AIX came with
-   a C compiler.
-      ______________________________________________________________________
-
-    3.1.2. AIX: Network Connections
-
-   [ [163]Top ] [ [164]Contents ] [ [165]Section Contents ] [ [166]Next ]
-   [ [167]Previous ]
-
-   File transfers into AIX 4.2 or 4.3 through the AIX Telnet or Rlogin
-   server have been observed to fail (or accumulate huge numbers of
-   correctable errors, or even disconnect the session), when exactly the
-   same kind of transfers into AIX 4.1 work without incident, as do such
-   transfers into all non-AIX platforms on the same kind of connections
-   (with a few exceptions noted elsewhere in this document). AIX 4.3.3
-   seems to be particularly fragile in this regard; the weakness seems to
-   be in its pseudoterminal (pty) driver. High-speed streaming transfers
-   work perfectly, however, if the AIX Telnet server and pty driver are
-   removed from the picture; e.g, by using "set host * 3000" on AIX.
-
-   The problem can be completely cured by replacing the IBM Telnet server
-   with [168]MIT's Kerberos Telnet server -- even if you don't actually
-   use the Kerberos part. Diagnosis: AIX pseudoterminals (which are
-   controlled by the Telnet server to give you a login terminal for your
-   session) have quirks that not even IBM knows about. The situation with
-   AIX 5.x is not known, but if it has the same problem, the same cure is
-   available.
-
-   Meanwhile, the only remedy when going through the IBM Telnet server is
-   to cut back on Kermit's performance settings until you find a
-   combination that works:
-
-     * SET STREAMING OFF
-     * SET WINDOW-SIZE small-number
-     * SET { SEND, RECEIVE } PACKET-LENGTH small-number
-     * SET PREFIXING { CAUTIOUS, ALL }
-
-   In some cases, severe cutbacks are required, e.g. those implied by the
-   ROBUST command. Also be sure that the AIX C-Kermit on the remote end
-   has "set flow none" (which is the default). NOTE: Maybe this one can
-   also be addressed by starting AIX telnetd with the "-a" option. The
-   situation with SSH connections is not known, but almost certainly the
-   same.
-
-   When these problems occur, the system error log contains:
-
-  LABEL:          TTY_TTYHOG
-  IDENTIFIER:     0873CF9F
-  Type:           TEMP
-  Resource Name:  pts/1
-
-  Description
-  TTYHOG OVER-RUN
-
-  Failure Causes
-  EXCESSIVE LOAD ON PROCESSOR
-
-  Recommended Actions
-  REDUCE SYSTEM LOAD.
-  REDUCE SERIAL PORT BAUD RATE
-
-   Before leaving the topic of AIX pseudoterminals, it is very likely
-   that Kermit's PTY and SSH commands do not work well either, for the
-   same reason that Telnet connections into AIX don't work well. A brief
-   test with "pty rlogin somehost" got a perfectly usable terminal
-   (CONNECT) session, but file-transfer problems like those just
-   described.
-
-   Reportedly, telnet from AIX 4.1-point-something to non-Telnet ports
-   does not work unless the port number is in the /etc/services file;
-   it's not clear from the report whether this is a problem with AIX
-   Telnet (in which case it would not affect Kermit), or with the sockets
-   library (in which case it would). The purported fix is IBM APAR
-   IX61523.
-
-   C-Kermit SET HOST or TELNET from one AIX 3.1 (or earlier) system to
-   another won't work right unless you set your local terminal type to
-   something other than AIXTERM. When your terminal type is AIXTERM, AIX
-   TELNET sends two escapes whenever you type one, and the AIX telnet
-   server swallows one of them. This has something to do with the "hft"
-   device. This behavior seems to be removed in AIX 3.2 and later.
-      ______________________________________________________________________
-
-    3.1.3. AIX: Serial Connections
-
-   [ [169]Top ] [ [170]Contents ] [ [171]Section Contents ] [ [172]Next ]
-   [ [173]Previous ]
-
-   In AIX 3, 4, or 5, C-Kermit won't be able to "set line /dev/tty0" (or
-   any other dialout device) if you haven't installed "cu" or "uucp" on
-   your system, because installing these is what creates the UUCP
-   lockfile directory. If SET LINE commands always result in "Sorry,
-   access to lock denied", even when C-Kermit has been given the same
-   owner, group, and permissions as cu:
-
-  -r-sr-xr-x   1 uucp     uucp       67216 Jul 27 1999  cu
-
-   and even when you run it as root, then you must go back and install
-   "cu" from your AIX installation media.
-
-   According to IBM's "From Strength to Strength" document (21 April
-   1998), in AIX 4.2 and later "Async supports speeds on native serial
-   ports up to 115.2kbps". However, no API is documented to achieve
-   serial speeds higher than 38400 bps. Apparently the way to do this --
-   which might or might not work only on the IBM 128-port multiplexer --
-   is:
-
-  cxma-stty fastbaud /dev/tty0
-
-   which, according to "man cxma-stty":
-
-     fastbaud Alters the baud rate table, so 50 baud becomes 57600 baud.
-     -fastbaud Restores the baud rate table, so 57600 baud becomes 50
-     baud.
-
-   Presumably (but not certainly) this extrapolates to 110 "baud" becomes
-   76800 bps, and 150 becomes 115200 bps. So to use high serial speeds in
-   AIX 4.2 or 4.3, the trick would be to give the "cxma-stty fastbaud"
-   command for the desired tty device before starting Kermit, and then
-   use "set speed 50", "set speed 110", or "set speed 150" to select
-   56700, 76800, or 115200 bps. It is not known whether cxma-stty
-   requires privilege.
-
-   According to one report, "Further investigation with IBM seems to
-   indicate that the only hardware capable of doing this is the 128-port
-   multiplexor with one (or more) of the 16 port breakout cables
-   (Enhanced Remote Async Node 16-Port EIA-232). We are looking at about
-   CDN$4,000 in hardware just to hang a 56kb modem on there. Of course,
-   we can then hang 15 more, if we want. This hardware combo is described
-   to be good to 230.4kbps."
-
-   Another report says (quote from AIX newsgroup, March 1999):
-
-     The machine type and the adapter determine the speed that one can
-     actually run at. The older microchannel machines have much slower
-     crystal frequencies and may not go beyond 76,800. A feature put
-     into AIX 421 allows one to key in non-POSIX baud rates and if the
-     uart can support that speed, it will get set. this applies also to
-     43p's and beyond. 115200 is the max for the 43P's native serial
-     port. As crytal frequencies continue to increase, the built-in
-     serial ports speeds will improve. To use 'uucp' or 'ate' at the
-     higher baud rates, configure the port for the desired speed, but
-     set the speed of uucp or ate to 50. Any non-POSIX speeds set in the
-     ttys configuration will the be used. In the case of the 128-port
-     adapters or the ISA 8-port or PCI 8-port adapter, there are only a
-     few higher baud rates.
-
-    a. Change the port to enable high baud rates:
-          + B50 for 57600
-          + B75 for 76800
-          + B110 for 115200
-          + B200 for 230000
-    b. chdev -l ttyX -a fastbaud=enable
-          + For the 128 ports original style rans, only 57600 bps is
-            supported.
-          + For the new enhanced RANs, up to 230Kbps is supported.
-
-   In AIX 2.2.1 on the RT PC with the 8-port multiplexer, SET SPEED 38400
-   gives 9600 bps, but SET SPEED 19200 gives 19200 (on the built-in S1
-   port).
-
-   Note that some RS/6000s (e.g. the IBM PowerServer 320) have
-   nonstandard rectangular 10-pin serial ports; the DB-25 connector is
-   NOT a serial port; it is a parallel printer port. IBM cables are
-   required for the serial ports, (The IBM RT PC also had rectangular
-   serial ports -- perhaps the same as these, perhaps different.)
-
-   If you dial in to AIX through a modem that is connected directly to an
-   AIX port (e.g. on the 128-port multiplexer) and find that data is
-   lost, especially when uploading files to the AIX system (and system
-   error logs report buffer overruns on the port):
-
-    1. Make sure the port and modem are BOTH configured for hardware
-       (RTS/CTS) flow control. The port is configured somewhere in the
-       system configuration, outside of Kermit.
-    2. Tell C-Kermit to "set flow keep"; experimentation shows that SET
-       FLOW RTS/CTS has no effect when used in remote mode (i.e. on
-       /dev/tty, as opposed to a specify port device).
-    3. Fixes for bugs in the original AIX 4.2 tty (serial i/o) support
-       and other AIX bugs are available from IBM at:
-  [174]http://service.software.ibm.com/rs6000/
-       Downloads -> Software Fixes -> Download FixDist gets an
-       application for looking up known problems.
-
-   Many problems reported with bidirectional terminal lines on AIX 3.2.x
-   on the RS/6000. Workaround: don't use bidirectional terminal lines, or
-   write a shell-script wrapper for Kermit that turns getty off on the
-   line before starting Kermit, or before Kermit attempts to do the SET
-   LINE. (But note: These problems MIGHT be fixed in C-Kermit 6.0 and
-   later.) The commands for turning getty off and on (respectively) are
-   /usr/sbin/pdisable and /usr/sbin/penable.
-      ______________________________________________________________________
-
-    3.1.4. AIX: File Transfer
-
-   [ [175]Top ] [ [176]Contents ] [ [177]Section Contents ] [ [178]Next ]
-   [ [179]Previous ]
-
-   Evidently AIX 4.3 (I don't know about earlier versions) does not allow
-   open files to be overwritten. This can cause Kermit transfers to fail
-   when FILE COLLISION is OVERWRITE, where they might work on other Unix
-   varieties or earlier AIX versions.
-
-   Transfer of binary -- and maybe even text -- files can fail in AIX if
-   the AIX terminal has particular port can have character-set
-   translation done for it by the tty driver. The following advice from a
-   knowledgeable AIX user:
-
-     [This feature] has to be checked (and set/cleared) with a separate
-     command, unfortunately stty doesn't handle this. To check:
-
-  $ setmaps
-  input map: none installed
-  output map: none installed
-
-     If it says anything other than "none installed" for either one, it
-     is likely to cause a problem with kermit. To get rid of installed
-     maps:
-
-  $ setmaps -t NOMAP
-
-     However, I seem to recall that with some versions of AIX before
-     3.2.5, only root could change the setting. I'm not sure what
-     versions - it might have only been under AIX 3.1 that this was
-     true. At least with AIX 3.2.5 an ordinary user can set or clear the
-     maps.
-
-   On the same problem, another knowledgeable AIX user says:
-
-     The way to get information on the NLS mapping under AIX (3.2.5
-     anyway) is as follows. From the command line type:
-
-  lsattr -l tty# -a imap -a omap -E -H
-
-     Replace the tty number for the number sign above. This will give a
-     human readable output of the settings that looks like this;
-
-  # lsattr -l tty2 -a imap -a omap -E -H
-  attribute value description     user_settable
-
-  imap      none  INPUT map file  True
-  omap      none  OUTPUT map file True
-
-     If you change the -H to a -O, you get output that can easily be
-     processed by another program or a shell script, for example:
-
-  # lsattr -l tty2 -a imap -a omap -E -O
-  #imap:omap
-  none:none
-
-     To change the settings from the command line, the chdev command is
-     used with the following syntax.
-
-  chdev -l tty# -a imap='none' -a omap='none'
-
-     Again substituting the appropriate tty port number for the number
-     sign, "none" being the value we want for C-Kermit. Of course, the
-     above can also be changed by using the SMIT utility and selecting
-     devices - tty. (...end quote)
-      ______________________________________________________________________
-
-    3.1.5. AIX: Xterm Key Map
-
-   [ [180]Top ] [ [181]Contents ] [ [182]Section Contents ] [
-   [183]Previous ]
-
-   Here is a sample configuration for setting up an xterm keyboard for
-   VT220 or higher terminal emulation on AIX, courtesy of Bruce Momjian,
-   Drexel Hill, PA. Xterm can be started like this:
-
-  xterm $XTERMFLAGS +rw +sb +ls $@ -tm 'erase ^? intr ^c' -name vt220 \
-          -title vt220 -tn xterm-220 "$@" &
-
----------------------------------------------------------------------------
-  XTerm*VT100.Translations: #override \n\
-          <Key>Home: string(0x1b) string("[3~") \n \
-          <Key>End: string(0x1b) string("[4~") \n
-  vt220*VT100.Translations: #override \n\
-  Shift   <Key>F1: string("[23~") \n \
-  Shift   <Key>F2: string("[24~") \n \
-  Shift   <Key>F3: string("[25~") \n \
-  Shift   <Key>F4: string("[26~") \n \
-  Shift   <Key>F5: string("[K~") \n \
-  Shift   <Key>F6: string("[31~") \n \
-  Shift   <Key>F7: string("[31~") \n \
-  Shift   <Key>F8: string("[32~") \n \
-  Shift   <Key>F9: string("[33~") \n \
-  Shift   <Key>F10: string("[34~") \n \
-  Shift   <Key>F11: string("[28~") \n \
-  Shift   <Key>F12: string("[29~") \n \
-          <Key>Print: string(0x1b) string("[32~") \n\
-          <Key>Cancel: string(0x1b) string("[33~") \n\
-          <Key>Pause: string(0x1b) string("[34~") \n\
-          <Key>Insert: string(0x1b) string("[2~") \n\
-          <Key>Delete: string(0x1b) string("[3~") \n\
-          <Key>Home: string(0x1b) string("[1~") \n\
-          <Key>End: string(0x1b) string("[4~") \n\
-          <Key>Prior: string(0x1b) string("[5~") \n\
-          <Key>Next: string(0x1b) string("[6~") \n\
-          <Key>BackSpace: string(0x7f) \n\
-          <Key>Num_Lock: string(0x1b) string("OP") \n\
-          <Key>KP_Divide: string(0x1b) string("Ol") \n\
-          <Key>KP_Multiply: string(0x1b) string("Om") \n\
-          <Key>KP_Subtract: string(0x1b) string("OS") \n\
-          <Key>KP_Add: string(0x1b) string("OM") \n\
-          <Key>KP_Enter: string(0x1b) string("OM") \n\
-          <Key>KP_Decimal: string(0x1b) string("On") \n\
-          <Key>KP_0: string(0x1b) string("Op") \n\
-          <Key>KP_1: string(0x1b) string("Oq") \n\
-          <Key>KP_2: string(0x1b) string("Or") \n\
-          <Key>KP_3: string(0x1b) string("Os") \n\
-          <Key>KP_4: string(0x1b) string("Ot") \n\
-          <Key>KP_5: string(0x1b) string("Ou") \n\
-          <Key>KP_6: string(0x1b) string("Ov") \n\
-          <Key>KP_7: string(0x1b) string("Ow") \n\
-          <Key>KP_8: string(0x1b) string("Ox") \n\
-          <Key>KP_9: string(0x1b) string("Oy") \n
-
-  !       <Key>Up: string(0x1b) string("[A") \n\
-  !       <Key>Down: string(0x1b) string("[B") \n\
-  !       <Key>Right: string(0x1b) string("[C") \n\
-  !       <Key>Left: string(0x1b) string("[D") \n\
-
-  *visualBell:    true
-  *saveLines:     1000
-  *cursesemul:    true
-  *scrollKey:     true
-  *scrollBar:     true
-    ________________________________________________________________________
-
-  3.2. C-KERMIT AND HP-UX
-
-   [ [184]Top ] [ [185]Contents ] [ [186]Section Contents ] [ [187]Next ]
-   [ [188]Previous ]
-
-   SECTION CONTENTS
-
-  3.2.0. [189]Common Problems
-  3.2.1. [190]Building C-Kermit on HP-UX
-  3.2.2. [191]File Transfer
-  3.2.3. [192]Dialing Out and UUCP Lockfiles in HP-UX
-  3.2.4. [193]Notes on Specific HP-UX Releases
-  3.2.5. [194]HP-UX and X.25
-
-   REFERENCES
-
-   For further information, read the [195]comp.sys.hp.hpux newsgroup.
-
-   C-Kermit is included as part of the HP-UX operating system by contract
-   between Hewlett Packard and Columbia University for HP-UX 10.00 and
-   later. Each level of HP-UX includes a freshly built C-Kermit binary in
-   /bin/kermit, which should work correctly. Binaries built for regular
-   HP-UX may be used on Trusted HP-UX and vice-versa, except for use as
-   IKSD because of the different authentication methods.
-
-   Note that HP does not update C-Kermit versions for any but its most
-   current HP-UX release. So, for example, HP-UX 10.20 has C-Kermit 6.0;
-   11.00 has C-Kermit 7.0, and 11.22 has 8.0. Of course, as with all
-   software, older Kermit versions have bugs (such as buffer overflow
-   vulnerabilities) that are fixed in later versions. From time to time,
-   HP discovers one of these (long-ago fixed) bugs and issues a security
-   alert for the older OS's, recommending some draconian measure to avoid
-   the problem. The true fix in each situation is to install the current
-   release of C-Kermit.
-
-  3.2.0. Common Problems
-
-   [ [196]Top ] [ [197]Contents ] [ [198]Section Contents ] [ [199]Next ]
-
-   Some HP workstations have a BREAK/RESET key. If you hit this key while
-   C-Kermit is running, it might kill or suspend the C-Kermit process.
-   C-Kermit arms itself against these signals, but evidently the
-   BREAK/RESET key is -- at least in some circumstances, on certain HP-UX
-   versions -- too powerful to be caught. (Some report that the first
-   BREAK/RESET shows up as SIGINT and is caught by C-Kermit's former
-   SIGINT handler even when SIGINT is currently set to SIG_IGN; the
-   second kills Kermit; other reports suggest the first BREAK/RESET sends
-   a SIGTSTP (suspend signal) to Kermit, which it catches and suspends
-   itself. You can tell C-Kermit to ignore suspend signals with SET
-   SUSPEND OFF. You can tell C-Kermit to ignore SIGINT with SET COMMAND
-   INTERRUPTION OFF. It is not known whether these commands also grant
-   immunity to the BREAK/RESET key (one report states that with SET
-   SUSPEND OFF, the BREAK/RESET key is ignored the first four times, but
-   kills Kermit the 5th time). In any case:
-
-    1. If this key is mapped to SIGINT or SIGTSTP, C-Kermit catches or
-       ignores it, depending on which mode (CONNECT, command, etc) Kermit
-       is in.
-    2. If it causes HP-UX to kill C-Kermit, there is nothing C-Kermit can
-       do to prevent it.
-
-   When HP-UX is on the remote end of the connection, it is essential
-   that HP-UX C-Kermit be configured for Xon/Xoff flow control (this is
-   the default, but in case you change it and then experience
-   file-transfer failures, this is a likely reason).
-    ________________________________________________________________________
-
-  3.2.1. Building C-Kermit on HP-UX
-
-   [ [200]Top ] [ [201]Contents ] [ [202]Section Contents ] [ [203]Next ]
-   [ [204]Previous ]
-
-     This section applies mainly to old (pre-10.20) HP-UX version on
-     old, slow, and/or memory-constrained hardware.
-
-   During the C-Kermit 6.0 Beta cycle, something happened to ckcpro.w
-   (or, more precisely, the ckcpro.c file that is generated from it)
-   which causes HP optimizing compilers under HP-UX versions 7.0 and 8.0
-   (apparently on all platforms) as well as under HP-UX 9.0 on Motorola
-   platforms only, to blow up. In versions 7.0 and 8.0 the problem has
-   spread to other modules.
-
-   The symptoms vary from the system grinding to a halt, to the compiler
-   crashing, to the compilation of the ckcpro.c module taking very long
-   periods of time, like 9 hours. This problem is handled by compiling
-   the modules that tickle it without optimization; the new C-Kermit
-   makefile takes care of this, and shows how to do it in case the same
-   thing begins happening with other modules.
-
-   On HP-UX 9.0, a kernel parameter, maxdsiz (maximum process data
-   segment size), seems to be important. On Motorola systems, it is 16MB
-   by default, whereas on RISC systems the default is much bigger.
-   Increasing maxdsiz to about 80MB seems to make the problem go away,
-   but only if the system also has a lot of physical memory -- otherwise
-   it swaps itself to death.
-
-   The optimizing compiler might complain about "some optimizations
-   skipped" on certain modules, due to lack of space available to the
-   optimizer. You can increase the space (the incantation depends on the
-   particular compiler version -- see the [205]makefile), but doing so
-   tends to make the compilations take a much longer time. For example,
-   the "hpux0100o+" makefile target adds the "+Onolimit" compiler flag,
-   and about an hour to the compile time on an HP-9000/730. But it *does*
-   produce an executable that is about 10K smaller :-)
-
-   In the makefile, all HP-UX entries automatically skip optimization of
-   problematic modules.
-    ________________________________________________________________________
-
-  3.2.2. File Transfer
-
-   [ [206]Top ] [ [207]Contents ] [ [208]Section Contents ] [ [209]Next ]
-   [ [210]Previous ]
-
-   Telnet connections into HP-UX versions up to and including 11.11 (and
-   possibly 11.20) tend not to lend themselves to file transfer due to
-   limitations, restrictions, and/or bugs in the HP-UX Telnet server
-   and/or pseudoterminal (pty) driver.
-
-   In C-Kermit 6.0 (1996) an unexpected slowness was noted when
-   transferring files over local Ethernet connections when an HP-UX
-   system (9.05 or 10.00) was on the remote end. The following experiment
-   was conducted to determine the cause. C-Kermit 6.0 was used; the
-   situation is slightly better using C-Kermit 7.0's streaming feature
-   and HP-UX 10.20 on the far end.
-
-   The systems were HP-UX 10.00 (on 715/33) and SunOS 4.1.3 (on
-   Sparc-20), both on the same local 10Mbps Ethernet, packet length 4096,
-   parity none, control prefixing "cautious", using only local disks on
-   each machine -- no NFS. In the C-Kermit 6.0 (ACK/NAK) case, the window
-   size was 20; in the streaming case there is no window size (i.e. it is
-   infinite). The test file was C-Kermit executable, transferred in
-   binary mode. Conditions were relatively poor: the Sun and the local
-   net heavily loaded; the HP system is old, slow, and
-   memory-constrained.
-
-                   C-Kermit 6.0...    C-Kermit 7.0...
- Local    Remote   ACK/NAK........    Streaming......
- Client   Server   Send    Receive    Send    Receive
-  Sun      HP       36       18        64       18
-  HP       HP       25       15        37       16
-  HP       Sun      77       83       118       92
-  Sun      Sun      60       60       153      158
-
-   So whenever HP is the remote we have poor performance. Why?
-
-     * Changing file display to CRT has no effect (so it's not the curses
-       library on the client side).
-     * Changing TCP RECV-BUFFER or SEND-BUFFER has little effect.
-     * Telling the client to make a binary-mode connection (SET TELNET
-       BINARY REQUESTED, which successfully negotiates a binary
-       connection) has no effect on throughput.
-
-   BUT... If I start HP-UX C-Kermit as a TCP service:
-
-  set host * 3000
-  server
-
-   and then from the client "set host xxx 3000", I get:
-
-                   C-Kermit 6.0...    C-Kermit 7.0...
- Local    Remote   ACK/NAK........    Streaming......
- Client   Server   Send    Receive    Send    Receive
-  Sun      HP       77       67       106      139
-  HP       HP       50       50        64       62
-  HP       Sun      57       85       155      105
-  Sun      Sun      57       50       321      314
-
-   Therefore the HP-UX telnet server or pty driver seems to be adding
-   more overhead than the SunOS one, and most others. When going through
-   this type of connection (a remote telnet server) there is little
-   Kermit can do improve matters, since the telnet server and pty driver
-   are between the two Kermits, and neither Kermit program can have any
-   influence over them (except putting the Telnet connection in binary
-   mode, but that doesn't help).
-
-   (The numbers for the HP-HP transfers are lower than the others since
-   both Kermit processes are running on the same slow 33MHz CPU.)
-
-   Matters seem to have deteriorated in HP-UX 11. Now file transfers over
-   Telnet connections fail completely, rather than just being slow. In
-   the following trial, a Telnet connection was made from Kermit 95 to
-   HP-UX 11.11 on an HP-9000/785/B2000 over local 10Mbps Ethernet running
-   C-Kermit 8.00 in server mode (under the HP-UX Telnet server):
-
-                   Text........    Binary......
-  Stream  Pktlen   GET     SEND    GET     SEND
-    On     4000    Fail    Fail    Fail    Fail
-    Off    4000    Fail    Fail    Fail    Fail
-    Off    2000    OK      Fail    OK      Fail
-    On     2000    OK      Fail    OK      Fail
-    On     3000    Fail    Fail    Fail    Fail
-    On     2500    Fail    Fail    Fail    Fail
-    On     2047    OK      Fail    OK      Fail
-    On     2045    OK      Fail    OK      Fail
-    Off     500    OK      OK      OK      OK
-    On      500    OK      Fail    OK      Fail
-    On      240    OK      Fail    OK      Fail
-
-   As you can see, downloads are problematic unless the receiver's Kermit
-   packet length is 2045 or less, but uploads work only with streaming
-   disabled and the packet length restricted to 500. To force file
-   transfers to work on this connection, the desktop Kermit must be told
-   to:
-
-  set streaming off
-  set receive packet-length 2000
-  set send packet-length 500
-
-   However, if a connection is made between the same two programs on the
-   same two computers over the same network, but this time a direct
-   socket-to-socket connection bypassing the HP-UX Telnet server and pty
-   driver (tell HP-UX C-Kermit to "set host /server * 3000 /raw"; tell
-   desktop client program to "set host blah 3000 /raw"), everything works
-   perfectly with the default Kermit settings (streaming, 4K packets,
-   liberal control-character unprefixing, 8-bit transparency, etc):
-
-                   Text........    Binary......
-  Stream  Pktlen   GET     SEND    GET     SEND
-    On     4000    OK      OK      OK      OK
-
-   And in this case, transfer rates were approximately 900,000 cps. To
-   verify that the behavior reported here is not caused by the new Kermit
-   release, the same experiment was performed on a Telnet connection from
-   the same PC over the same network to the old 715/33 running HP-UX
-   10.20 and C-Kermit 8.00. Text and binary uploads and downloads worked
-   perfectly (albeit slowly) with all the default settings -- streaming,
-   4K packets, etc.
-    ________________________________________________________________________
-
-  3.2.3. Dialing Out and UUCP Lockfiles in HP-UX
-
-   [ [211]Top ] [ [212]Contents ] [ [213]Section Contents ] [ [214]Next ]
-   [ [215]Previous ]
-
-   HP workstations do not come with dialout devices configured; you have
-   to do it yourself (as root). First look in /dev to see what's there;
-   for example in HP-UX 10.00 or later:
-
-  ls -l /dev/cua*
-  ls -l /dev/tty*
-
-   If you find a tty0p0 device but no cua0p0, you'll need to creat one if
-   you want to dial out; the tty0p0 does not work for dialing out. It's
-   easy: start SAM; in the main Sam window, double-click on Peripheral
-   Device, then in the Peripheral Devices window, double-click on
-   Terminals and Modems. In the Terminals and Modems dialog, click on
-   Actions, then choose "Add modem" and fill in the blanks. For example:
-   Port number 0, speed 57600 (higher speeds tend not to work reliably),
-   "Use device for calling out", do NOT "Receive incoming calls" (unless
-   you know what you are doing), leave "CCITT modem" unchecked unless you
-   really have one, and do select "Use hardware flow control (RTS/CTS)".
-   Then click OK. This creates cua0p0 as well as cul0p0 and ttyd0p0
-
-   If the following sequence:
-
-  set line /dev/cua0p0 ; or other device
-  set speed 115200     ; or other normal speed
-
-   produces the message "?Unsupported line speed". This means either that
-   the port is not configured for dialout (go into SAM as described above
-   and make sure "Use device for calling out" is selected), or else that
-   speed you have given (such as 460800) is supported by the operating
-   system but not by the physical device (in which case, use a lower
-   speed like 57600).
-
-   In HP-UX 9.0, serial device names began to change. The older names
-   looked like "/dev/cua00", "/dev/tty01", etc (sometimes with only one
-   digit). The newer names have two digits with the letter "p" in
-   between. HP-UX 8.xx and earlier have the older form, HP-UX 10.00 and
-   later have the newer form. HP-UX 9.xx has the newer form on Series 800
-   machines, and the older form on other hardware models. The situation
-   is summarized in the following table (the Convio 10.0 column applies
-   to HP-UX 10 and 11).
-
-  Converged HP-UX Serial I/O Filenames : TTY Mux Naming
-  ---------------------------------------------------------------------
-  General meaning      Old Form     S800 9.0           Convio 10.0
-  ---------------------------------------------------------------------
-  tty* hardwired ports  tty<YY>     tty<X>p<Y>         tty<D>p<p>
-                                    diag:mux<X>        diag:mux<D>
-  ---------------------------------------------------------------------
-  ttyd* dial-in modems  ttyd<YY>    ttyd<X>p<Y>        ttyd<D>p<p>
-                                    diag:ttyd<X>p<Y>   diag:ttyd<D>p<p>
-  ---------------------------------------------------------------------
-  cua* auto-dial out    cua<YY>     cua<X>p<Y>         cua<D>p<p>
-                                    diag:cua<X>p<Y>
-  ---------------------------------------------------------------------
-  cul* dial-out         cul<YY>     cul<X>p<Y>         cul<D>p<p>
-                                    diag:cul<X>p<Y>
-  ---------------------------------------------------------------------
-   <X>= LU (Logical Unit)  <D>= Devspec (decimal card instance)
-   <Y> or <YY> = Port      <p>= Port
-
-   For dialing out, you should use the cua or cul devices. When
-   C-Kermit's CARRIER setting is AUTO or ON, C-Kermit should pop back to
-   its prompt automatically if the carrier signal drops, e.g. when you
-   log out from the remote computer or service. If you use the tty<D>p<d>
-   (e.g. tty0p0) device, the carrier signal should be ignored. The
-   tty<D>p<d> device should be used for direct connections where the
-   carrier signal does not follow RS-232 conventions (use the cul device
-   for hardwired connections through a true null modem). Do not use the
-   ttyd<D>p<d> device for dialing out.
-
-   Kermit's access to serial devices is controlled by "UUCP lockfiles",
-   which are intended to prevent different users using different software
-   programs (Kermit, cu, etc, and UUCP itself) from accessing the same
-   serial device at the same time. When a device is in use by a
-   particular user, a file with a special name is created in:
-
-  /var/spool/locks  (HP-UX 10.00 and later)
-  /usr/spool/uucp   (HP-UX 9.xx and earlier)
-
-   The file's name indicates the device that is in use, and its contents
-   indicates the process ID (pid) of the process that is using the
-   device. Since serial devices and the locks directory are not both
-   publicly readable and writable, Kermit and other communication
-   software must be installed setuid to the owner (bin) of the serial
-   device and setgid to the group (daemon) of the /var/spool/locks
-   directory. Kermit's setuid and setgid privileges are enabled only when
-   opening the device and accessing the lockfiles.
-
-   Let's say "unit" means a string of decimal digits (the interface
-   instance number) followed (in HP-UX 10.00 and later) by the letter "p"
-   (lowercase), followed by another string of decimal digits (the port
-   number on the interface), e.g.:
-
-  "0p0", "0p1", "1p0", etc       (HP-UX 10.00 and later)
-  "0p0", "0p1", "1p0", etc       (HP-UX 9.xx on Series 800)
-  "00",  "01",  "10",  "0", etc  (HP-UX 9.xx not on Series 800)
-  "00",  "01",  "10",  "0", etc  (HP-UX 8.xx and earlier)
-
-   Then a normal serial device (driver) name consists of a prefix ("tty",
-   "ttyd", "cua", "cul", or possibly "cuad" or "culd") followed by a
-   unit, e.g. "cua0p0". Kermit's treatment of UUCP lockfiles is as close
-   as possible to that of the HP-UX "cu" program. Here is a table of the
-   lockfiles that Kermit creates for unit 0p0:
-
-  Selection      Lockfile 1     Lockfile 2  
-  /dev/tty0p0    LCK..tty0p0    (none)
-* /dev/ttyd0p0   LCK..ttyd0p0   (none)
-  /dev/cua0p0    LCK..cua0p0    LCK..ttyd0p0
-  /dev/cul0p0    LCK..cul0p0    LCK..ttyd0p0
-  /dev/cuad0p0   LCK..cuad0p0   LCK..ttyd0p0
-  /dev/culd0p0   LCK..culd0p0   LCK..ttyd0p0
-  <other>        LCK..<other>   (none)
-
-   (* = Dialin device, should not be used.)
-
-   In other words, if the device name begins with "cu", a second lockfile
-   for the "ttyd" device, same unit, is created, which should prevent
-   dialin access on that device.
-
-   The <other> case allows for symbolic links, etc, but of course it is
-   not foolproof since we have no way of telling which device is really
-   being used.
-
-   When C-Kermit tries to open a dialout device whose name ends with a
-   "unit", it searches the lockfile directory for all possible names for
-   the same unit. For example, if user selects /dev/cul2p3, Kermit looks
-   for lockfiles named:
-
-  LCK..tty2p3
-  LCK..ttyd2p3
-  LCK..cua2p3
-  LCK..cul2p3
-  LCK..cuad2p3
-  LCK..culd2p3
-
-   If any of these files are found, Kermit opens them to find out the ID
-   (pid) of the process that created them; if the pid is still valid, the
-   process is still active, and so the SET LINE command fails and the
-   user is informed of the pid so s/he can use "ps" to find out who is
-   using the device.
-
-   If the pid is not valid, the file is deleted. If all such files (i.e.
-   with same "unit" designation) are successfully removed, then the SET
-   LINE command succeeds; up to six messages are printed telling the user
-   which "stale lockfiles" are being removed.
-
-   When the "set line" command succeeds in HP-UX 10.00 and later,
-   C-Kermit also creates a Unix System V R4 "advisory lock" as a further
-   precaution (but not guarantee) against any other process obtaining
-   access to the device while you are using it.
-
-   If the selected device was in use by "cu", Kermit can't open it,
-   because "cu" has changed its ownership, so we never get as far as
-   looking at the lockfiles. In the normal case, we can't even look at
-   the device to see who the owner is because it is visible only to its
-   (present) owner. In this case, Kermit says (for example):
-
-  /dev/cua0p0: Permission denied
-
-   When Kermit releases a device it has successfully opened, it removes
-   all the lockfiles that it created. This also happens whenever Kermit
-   exits "under its own power".
-
-   If Kermit is killed with a device open, the lockfile(s) are left
-   behind. The next Kermit program that tries to assign the device, under
-   any of its various names, will automatically clean up the stale
-   lockfiles because the pids they contain are invalid. The behavior of
-   cu and other communication programs under these conditions should be
-   the same.
-
-   Here, by the way, is a summary of the differences between the HP-UX
-   port driver types from John Pezzano of HP:
-
-     There are three types of device files for each port.
-
-     The ttydXXX device file is designed to work as follows:
-
-    1. The process that opens it does NOT get control of the port until
-       CD is asserted. This was intentional (over 15 years ago) to allow
-       getty to open the port but not control it until someone called in.
-       If a process wants to use the direct or callout device files
-       (ttyXXX and culXXX respectively), they will then get control and
-       getty would be blocked. This eliminated the need to use uugetty
-       (and its inherent problems with lock files) for modems. You can
-       see this demonstrated by the fact that "ps -ef" shows a ? in the
-       tty column for the getty process as getty does not have the port
-       yet.
-    2. Once CD is asserted, the port is controlled by getty (or the
-       process handling an incoming call) if there was no process using
-       the port. The ? in the "ps" command now shows the port. At this
-       point, the port accepts data.
-
-     Therefore you should use either the callout culXXX device file
-     (immediate control but no data until CD is asserted) or the direct
-     device file ttyXXX which gives immediate control and immediate data
-     and which ignores by default modem control signals.
-
-     The ttydXXX device should be used only for callin and my
-     recommendation is to use it only for getty and uugetty.
-    ________________________________________________________________________
-
-  3.2.4 Notes on Specific HP-UX Releases
-
-   SECTION CONTENTS
-
-  3.2.4.1. [216]HP-UX 11
-  3.2.4.2. [217]HP-UX 10
-  3.2.4.3. [218]HP-UX 9
-  3.2.4.4. [219]HP-UX 8
-  3.2.4.5. [220]HP-UX 7 and Earlier
-
-  3.2.4.1. HP-UX 11
-
-   [ [221]Top ] [ [222]Contents ] [ [223]Section Contents ] [ [224]Next ]
-
-   As noted in [225]Section 3.2.2, the HP-UX 11 Telnet server and/or
-   pseudoterminal driver are a serious impediment to file transfer over
-   Telnet connections into HP-UX. If you have a Telnet connection into
-   HP-UX 11, tell your desktop Kermit program to:
-
-  set streaming off
-  set receive packet-length 2000
-  set send packet-length 500
-
-   File transfer speeds over connections from HP-UX 11 (dialed or Telnet)
-   are not impeded whatsoever, and can go at whatever speed is allowed by
-   the connection and the Kermit partner on the far end.
-
-   PA-RISC binaries for HP-UX 10.20 or later should run on any PA-RISC
-   system, S700 or S800, as long as the binary was not built under a
-   later HP-UX version than the host operating system. HP-UX 11.00 and
-   11.11 are only for PA-RISC systems. HP-UX 11.20 is only for IA64
-   (subsequent HP-UX releases will be for both PA-RISC and IA64). To
-   check binary compatibility, the following C-Kermit 8.0 binaries were
-   run successfully on an HP-9000/785 with HP-UX 11.11:
-
-     * Model 7xx HP-UX 10.20
-     * Model 8xx HP-UX 10.20
-     * Model 7xx HP-UX 11.00
-     * Model 8xx HP-UX 11.00
-     * Model 7xx HP-UX 11.11
-     * Model 8xx HP-UX 11.11
-
-   Binaries built under some of the earlier HP-UX releases, such as 9.05,
-   might also work, but only if built for the same hardware family (e.g.
-   s700).
-    ________________________________________________________________________
-
-  3.2.4.2. HP-UX 10
-
-   [ [226]Top ] [ [227]Contents ] [ [228]Section Contents ] [ [229]Next ]
-   [ [230]Previous ]
-
-   Beginning in HP-UX 10.10, libcurses is linked to libxcurses, the new
-   UNIX95 (X/Open) version of curses, which has some serious bugs; some
-   routines, when called, would hang and never return, some would dump
-   core. Evidently libxcurses contains a select() routine, and whenever
-   C-Kermit calls what it thinks is the regular (sockets) select(), it
-   gets the curses one, causing a segmentation fault. There is a patch
-   for this from HP, PHCO_8086, "s700_800 10.10 libcurses patch", "shared
-   lib curses program hangs on 10.10", "10.10 enhanced X/Open curses core
-   dumps due to using wrong select call", 96/08/02 (you can tell if the
-   patch is installed with "what /usr/lib/libxcurses.1"; the unpatched
-   version is 76.20, the patched one is 76.20.1.2). It has been verified
-   that C-Kermit works OK with the patched library, but results are not
-   definite for HP-UX 10.20 or higher.
-
-   To ensure that C-Kermit works even on non-patched HP-UX 10.10 systems,
-   separate makefile entries are provided for HP-UX 10.00/10.01, 10.10,
-   10.20, etc, in which the entries for 10.10 and above link with
-   libHcurses, which is "HP curses", the one that was used in
-   10.00/10.01. HP-UX 11.20 and later, however, link with libcurses, as
-   libHcurses disappeared in 11.20.
-    ________________________________________________________________________
-
-  3.2.4.3. HP-UX 9
-
-   [ [231]Top ] [ [232]Contents ] [ [233]Section Contents ] [ [234]Next ]
-   [ [235]Previous ]
-
-   HP-UX 9.00 and 9.01 need patch PHNE_10572 (note: this replaces
-   PHNE_3641) for hptt0.o, asio0.o, and ttycomn.o in libhp-ux.a. Contact
-   Hewlett Packard if you need this patch. Without it, the dialout device
-   (tty) will be hung after first use; subsequent attempts to use will
-   return an error like "device busy". (There are also equivalent patches
-   for s700 9.03 9.05 9.07 (PHNE_10573) and s800 9.00 9.04 (PHNE_10416).
-
-   When C-Kermit is in server mode, it might have trouble executing
-   REMOTE HOST commands. This problem happens under HP-UX 9.00 (Motorola)
-   and HP-UX 9.01 (RISC) IF the C-Shell is the login shell AND with the
-   C-Shell Revision 70.15. Best thing is to install HP's Patch PHCO_4919
-   for Series 300/400 and PHCO_5015 for the Series 700/800. PHCO_5015 is
-   called "s700_800 9.X cumulative csh(1) patch with memory leak fix"
-   which works for HP-UX 9.00, 9.01, 9.03, 9.04, 9.05 and 9.07. At least
-   you need C-Shell Revision 72.12!
-
-   C-Kermit works fine -- including its curses-based file-transfer
-   display -- on the console terminal, in a remote session (e.g. when
-   logged in to the HP 9000 on a terminal port or when telnetted or
-   rlogin'd), and in an HP-VUE hpterm window or an xterm window.
-    ________________________________________________________________________
-
-  3.2.4.4. HP-UX 8
-
-   [ [236]Top ] [ [237]Contents ] [ [238]Section Contents ] [ [239]Next ]
-   [ [240]Previous ]
-
-   To make C-Kermit work on HP-UX 8.05 on a model 720, obtain and install
-   HP-UX patch PHNE_0899. This patch deals with a lot of driver issues,
-   particularly related to communication at higher speeds.
-
-   One user reports:
-
-     On HP-UX 8 DON'T install 'tty patch' PHKL_4656, install PHKL_3047
-     instead! Yesterday I tried this latest tty patch PHKL_4656 and had
-     terrible problems. This patch should fix RTS/CTS problems. With
-     text transver all looks nice. But when I switched over to binary
-     files the serial interface returned only rubish to C-Kermit. All
-     sorts of protocol, CRC and packed errors I had. After several tests
-     and after uninstalling that patch, all transvers worked fine. MB's
-     of data without any errors. So keep your fingers away from that
-     patch. If anybody needs the PHKL_3047 patch I have it here. It is
-     no longer availabel from HP's patch base.
-    ________________________________________________________________________
-
-  3.2.4.5. HP-UX 7 and Earlier
-
-   [ [241]Top ] [ [242]Contents ] [ [243]Section Contents ] [
-   [244]Previous ]
-
-   When transferring files into HP-UX 5 or 6 over a Telnet connection,
-   you must not use streaming, and you must not use a packet length
-   greater than 512. However, you can use streaming and longer packets
-   when sending files from HP-UX on a Telnet connection. In C-Kermit 8.0,
-   the default receive packet length for HP-UX 5 and 6 was changed to 500
-   (but you can still increase it with SET RECEIVE PACKET-LENGTH if you
-   wish, e.g. for non-Telnet connections). Disable streaming with SET
-   STREAMING OFF.
-
-   The HP-UX 5.00 version of C-Kermit does not include the fullscreen
-   file-transfer because of problems with the curses library.
-
-   If HP-UX 5.21 with Wollongong TCP/IP is on the remote end of a Telnet
-   connection, streaming transfers to HP-UX invariably fail. Workaround:
-   SET STREAMING OFF. Packets longer than about 1000 should not be used.
-   Transfers from these systems, however, can use streaming and/or longer
-   packets.
-
-   Reportedly, "[there is] a bug in C-Kermit using HP-UX version 5.21 on
-   the HP-9000 series 500 computers. It only occurs when the controlling
-   terminal is using an HP-27140 six-port modem mux. The problem is not
-   present if the controlling terminal is logged into an HP-27130
-   eight-port mux. The symptom is that just after dialing successfully
-   and connecting Kermit locks up and the port is unusable until both
-   forks of Kermit and the login shell are killed." (This report predates
-   C-Kermit 6.0 and might no longer apply.)
-    ________________________________________________________________________
-
-  3.2.5. HP-UX and X.25
-
-   [ [245]Top ] [ [246]Contents ] [ [247]Section Contents ] [
-   [248]Previous ]
-
-   Although C-Kermit presently does not include built-in support for
-   HP-UX X.25 (as it does for the Sun and IBM X.25 products), it can
-   still be used to make X.25 connections as follows: start Kermit and
-   then telnet to localhost. After logging back in, start padem as you
-   would normally do to connect over X.25. Padem acts as a pipe between
-   Kermit and X.25. In C-Kermit 7.0, you might also be able to avoid the
-   "telnet localhost" step by using:
-
-  C-Kermit> pty padem address
-
-   This works if padem uses standard i/o (who knows?).
-    ________________________________________________________________________
-
-  3.3. C-KERMIT AND LINUX
-
-   [ [249]Top ] [ [250]Contents ] [ [251]Section Contents ] [ [252]Next ]
-   [ [253]Previous ]
-
-   SECTION CONTENTS
-
-  3.3.1. [254]Problems Building C-Kermit for Linux
-  3.3.2. [255]Problems with Serial Devices in Linux
-  3.3.3. [256]Terminal Emulation in Linux
-  3.3.4. [257]Dates and Times
-  3.3.5. [258]Startup Errors
-  3.3.6. [259]The Fullscreen File Transfer Display
-
-   REFERENCES
-
-   For further information, read the [260]comp.os.linux.misc,
-   [261]comp.os.linux.answers, and other Linux-oriented newsgroups, and
-   see:
-
-   The Linux Document Project (LDP)
-          [262]http://www.tldp.org/
-
-   The Linux FAQ
-          [263]http://www.tldp.org/FAQ/Linux-FAQ.html
-
-   The Linux HOWTOs (especially the Serial HOWTO)
-
-     [264]http://www.tldp.org/HOWTO/Serial-HOWTO.html
-
-     [265]http://tldp.org/HOWTO/Modem-HOWTO.html
-
-     [266]ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO
-
-     [267]ftp://tsx-11.mit.edu/pub/linux/docs/HOWTO
-
-     [268]http://www.tldp.org/HOWTO/
-
-     [269]http://www.tldp.org/hmirrors.html
-
-   Linux Vendor Tech Support Pages:
-
-     [270]http://www.redhat.com/apps/support/
-
-     [271]http://www.debian.org/support
-
-     [272]http://www.slackware.com/support/
-
-     [273]http://www.caldera.com/support/
-
-     [274]http://www.suse.com/support/
-
-     [275]http://www.mandrake.com/support/
-
-     [276]http://www.turbolinux.com/support/
-
-   Linux Winmodem Support
-          [277]http://www.linmodems.org/
-
-   Also see general comments on PC-based Unixes in [278]Section 3.0.
-
-   What Linux version is it? -- "uname -a" supplies only kernel
-   information, but these days it's the distribution that matters: Red
-   Hat 7.3, Debian 2.2, Slackware 8.0, etc. Unfortunately there's no
-   consistent way to get the distribution version. Usually it's in a
-   distribution-specific file:
-
-     Red Hat:   /etc/issue or /etc/redhat-release
-     Debian:    /etc/debian_version
-     Slackware: /etc/slackware-version (at least in later versions)
-
-   Did you know: DECnet is available for Linux? See:
-
-  [279]http://linux.dreamtime.org/decnet/
-
-   (But there is no support for it in C-Kermit -- anybody interested in
-   adding it, please [280]let us know).
-
-   Before proceeding, let's handle the some of the most frequently asked
-   question in the Linux newsgroups:
-
-    1. Neither C-Kermit nor any other Linux application can use
-       Winmodems, except in the [281]rare cases where Linux drivers have
-       been written for them. See [282]Section 3.0.2 for details.
-    2. "Why does it take such a long time to make a telnet connection to
-       (or from) my Linux PC?" (this applies to C-Kermit and to regular
-       Telnet). Most telnet servers these days perform reverse DNS
-       lookups on the client (for security and/or logging reasons). If
-       the Telnet client's address cannot be found by the server's local
-       DNS server, the DNS request goes out to the Internet at large, and
-       this can take quite some time. The solution to this problem is to
-       make sure that both client and host are registered in DNS, and
-       that the registrations are exported. C-Kermit itself performs
-       reverse DNS lookups unless you tell it not to; this is to allow
-       C-Kermit to let you know which host it is actually connected to in
-       case you have made a connection to a host pool (multihomed host).
-       You can disable C-Kermit's reverse DNS lookup with SET TCP
-       REVERSE-DNS-LOOKUP OFF.
-    3. (Any question that has the word "Telnet" in it...) The knee-jerk
-       reaction is "don't use Telnet, use SSH!" There's nothing wrong
-       with Telnet. In fact it's far superior to SSH as a protocol in
-       terms of features and extensibility, not to mention platform
-       neutrality. The issue lurking behind the knee-jerk reaction is
-       security. SSH is thought to be secure, whereas Telnet is thought
-       to be insecure. This is true for clear-text Telnet (because
-       passwords travel in the clear across the network), but apparently
-       few people realize that [283]secure Telnet clients and servers
-       have been available for years, and these are more secure than SSH
-       (for reasons explained [284]HERE.
-    4. (Any question that has the word "FTP" in it...) The knee-jerk
-       reaction being "Don't use FTP, use SCP!" (or SFTP). Same answer as
-       above, but moreso. SCP and SFTP are not only not platform neutral,
-       they're diversity-hostile. They transfer files only in binary
-       mode, which mangles text files across different platforms, to the
-       same degree the platform's text-file record format and character
-       set differ. An extreme example would be an Variable-Block format
-       EBCDIC text file on an IBM mainframe, binary transfer of which to
-       Unix would do you little good indeed. FTP was designed with
-       diversity in mind and secure versions are available.
-    ________________________________________________________________________
-
-  3.3.1. Problems Building C-Kermit for Linux
-
-   [ [285]Top ] [ [286]Contents ] [ [287]Section Contents ] [ [288]Next ]
-
-   Modern Linux distributions like Red Hat give you a choice at
-   installation whether to include "developer tools". Obviously, you
-   can't build C-Kermit or any other C program from source code if you
-   have not installed the developer tools. But to confuse matters, you
-   might also have to choose (separately) to install the "curses" or
-   "ncurses" terminal control library; thus it is possible to install the
-   C compiler and linker, but omit the (n)curses library and headers. If
-   curses is not installed, you will not be able to build a version of
-   C-Kermit that supports the fullscreen file-transfer display, in which
-   case you'll need to use the "linuxnc" makefile target (nc = No Curses)
-   or else install ncurses before building.
-
-   There are all sorts of confusing issues caused by the many and varied
-   Linux distributions. Some of the worst involve the curses library and
-   header files: where are they, what are they called, which ones are
-   they really? Other vexing questions involve libc5 vs libc6 vs glibc vs
-   glibc2 (C libraries), gcc vs egcs vs lcc (compilers), plus using or
-   avoiding features that were added in a certain version of Linux or a
-   library or a distribution, and are not available in others. As of
-   C-Kermit 8.0, these questions should be resolved by the "linux"
-   makefile target itself, which does a bit of looking around to see
-   what's what, and then sets the appropriate CFLAGS.
-    ________________________________________________________________________
-
-  3.3.2. Problems with Serial Devices in Linux
-
-   [ [289]Top ] [ [290]Contents ] [ [291]Section Contents ] [ [292]Next ]
-   [ [293]Previous ]
-
-     Also see: "man setserial", "man irqtune".
-     And: [294]Sections 3.0, [295]6, [296]7, and [297]8 of this
-     document.
-
-     NOTE: Red Hat Linux 7.2 and later include a new API that allows
-     serial-port arbitration by non-setuid/gid programs. This API has
-     not yet been added to C-Kermit. If C-Kermit is to be used for
-     dialing out on Red Hat 7.2 or later, it must still be installed as
-     described in in Sections [298]10 and [299]11 of the
-     [300]Installation Instructions. 
-
-   Don't expect it to be easy. Queries like the following are posted to
-   the Linux newsgroups almost daily:
-
-     Problem of a major kind with my Compaq Presario 1805 in the sense
-     that the pnpdump doesn't find the modem and the configuration tells
-     me that the modem is busy when I set everything by hand!
-
-     I have <some recent SuSE distribution>, kernel 2.0.35. Using the
-     Compaq tells me that the modem (which is internal) is on COM2, with
-     the usual IRQ and port numbers. Running various Windows diagnostics
-     show me AT-style commands exchanged so I have no reason to beleive
-     that it is a Winmodem. Also, the diagnostics under Win98 tell me
-     that I am talking to an NS 16550AN.
-
-   [Editor's note: This does not necessarily mean it isn't a Winmodem.]
-
-     Under Linux, no joy trying to talk to the modem on /dev/cua1
-     whether via minicom, kppp, or chat; kppp at least tells me that
-     tcgetattr() failed.
-
-     Usage of setserial:
-
-  setserial /dev/cua1 port 0x2F8 irq 3 autoconfig
-  setserial -g /dev/cua1
-
-     tells me that the uart is 'unknown'. I have tried setting the UART
-     manullay via. setserial to 16550A, 16550, and the other one (8550?)
-     (I didn't try 16540). None of these manual settings resulted in any
-     success.
-
-     A look at past articles leads me to investigate PNP issues by
-     calling pnpdump but pnpdump returns "no boards found". I have
-     looked around on my BIOS (Phoenix) and there is not much evidence
-     of it being PNP aware. However for what it calls "Serial port A",
-     it offers a choice of Auto, Disabled or Manual settings (currently
-     set to Auto), but using the BIOS interface I tried to change to
-     'manual' and saw the default settings offered to be were 0x3F8 and
-     IRQ 4 (COM1). The BIOS menus did not give me any chance to
-     configure COM2 or any "modem". I ended up not saving any BIOS
-     changes in the course of my investigations.
-
-   You can also find out a fair amount about your PC's hardware
-   configuration in the text files in /proc, e.g.:
-
-  -r--r--r--    1 root            0 Sep  4 14:00 /proc/devices
-  -r--r--r--    1 root            0 Sep  4 14:00 /proc/interrupts
-  -r--r--r--    1 root            0 Sep  4 14:00 /proc/ioports
-  -r--r--r--    1 root            0 Sep  4 14:00 /proc/pci
-
-   From the directory listing they look like empty files, but in fact
-   they are text files that you "cat":
-
-$ cat /proc/pci
-   Bus  0, device  14, function  0:
-     Serial controller: US Robotics/3Com 56K FaxModem Model 5610 (rev 1).
-       IRQ 10.
-       I/O at 0x1050 [0x1057].
-
-$ setserial -g /dev/ttyS4
-/dev/ttyS4, UART: 16550A, Port: 0x1050, IRQ: 10
-
-$ cat /proc/ioports
-1050-1057 : US Robotics/3Com 56K FaxModem Model 5610
-   1050-1057 : serial(auto)
-
-$ cat /proc/interrupts
-            CPU0
-   0:    7037515          XT-PIC  timer
-   1:          2          XT-PIC  keyboard
-   2:          0          XT-PIC  cascade
-   4:          0          XT-PIC  serial
-   8:          1          XT-PIC  rtc
-   9:     209811          XT-PIC  usb-uhci, eth0
-  14:     282015          XT-PIC  ide0
-  15:          6          XT-PIC  ide1
-
-   Watch out for PCI, PCMCIA and Plug-n-Play devices, Winmodems, and the
-   like (see cautions in [301]Section 3.0 Linux supports Plug-n-Play
-   devices to some degree via the isapnp and pnpdump programs; read the
-   man pages for them. (If you don't have them, look on your installation
-   CD for isapnptool or download it from sunsite or a sunsite mirror or
-   other politically correct location du jour).
-
-   PCI modems do not use standard COM port addresses. The I/O address and
-   IRQ are assigned by the BIOS. All you need to do to get one working,
-   find out the I/O address and interrupt number with (as root) "lspci -v
-   | more" and then give the resulting address and interrupt number to
-   setserial.
-
-   Even when you have a real serial port, always be wary of interrupt
-   conflicts and similar PC hardware configuration issues: a PC is not a
-   real computer like other Unix workstations -- it is generally pieced
-   together from whatever random components were the best bargain on the
-   commodity market the week it was built. Once it's assembled and boxed,
-   not even the manufacturer will remember what it's made of or how it
-   was put together because they've moved on to a new model. Their job is
-   to get it (barely) working with Windows; for Linux and other OS's you
-   are on your own.
-
-   "set line /dev/modem" or "set line /dev/ttyS2", etc, results in an
-   error, "/dev/modem is not a tty". Cause unknown, but obviously a
-   driver issue, not a Kermit one (Kermit uses "isatty()" to check that
-   the device is a tty, so it knows it will be able to issue all the
-   tty-related ioctl's on it, like setting the speed & flow control). Try
-   a different name (i.e. driver) for the same port, e.g. "set line
-   /dev/cua2" or whatever.
-
-   To find what serial ports were registered at the most recent system
-   boot, type (as root): "grep tty /var/log/dmesg".
-
-   "set modem type xxx" (where xxx is the name of a modem) followed by
-   "set line /dev/modem" or "set
-   line /dev/ttyS2", etc, hangs (but can be interrupted with Ctrl-C).
-   Experimentation shows that if the modem is configured to always assert
-   carrier (&C0) the same command does not hang. Again, a driver issue.
-   Use /dev/cua2 (or whatever) instead. (Or not -- hopefully none of
-   these symptoms occurs in C-Kermit 7.0 or later.)
-
-   "set line /dev/cua0" reports "Device is busy", but "set line
-   /dev/ttyS0" works OK.
-
-   In short: If the cua device doesn't work, try the corresponding ttyS
-   device. If the ttyS device doesn't work, try the corresponding cua
-   device -- but note that Linux developers do not recommend this, and
-   are phasing out the cua devices. From /usr/doc/faq/howto/Serial-HOWTO:
-
-   12.4. What's The Real Difference Between the /dev/cuaN And /dev/ttySN
-          Devices?
-          The only difference is the way that the devices are opened. The
-          dialin devices /dev/ttySN are opened in blocking mode, until CD
-          is asserted (ie someone connects). So, when someone wants to
-          use the /dev/cuaN device, there is no conflict with a program
-          watching the /dev/ttySN device (unless someone is connected of
-          course). The multiple /dev entries, allow operation of the same
-          physical device with different operating characteristics. It
-          also allows standard getty programs to coexist with any other
-          serial program, without the getty being retrofitted with
-          locking of some sort. It's especially useful since standard
-          Unix kernel file locking, and UUCP locking are both advisory
-          and not mandatory.
-
-   It was discovered during development of C-Kermit 7.0 that rebuilding
-   C-Kermit with -DNOCOTFMC (No Close/Open To Force Mode Change) made the
-   aforementioned problem with /dev/ttyS0 go away. It is not yet clear,
-   however, what its affect might be on the /dev/cua* devices. As of 19
-   March 1998, this option has been added to the CFLAGS in the makefile
-   entries for Linux ("make linux").
-
-   Note that the cua device is now "deprecated", and new editions of
-   Linux will phase (have phased) it out in favor of the ttyS device. See
-   (if it's still there):
-
-  [302]http://linuxwww.db.erau.edu/mail_archives/linux-kernel/Mar_98/1441.html
-
-   (no, of course it isn't; you'll have to use your imagination). One
-   user reported that C-Kermit 7.0, when built with egcs 1.1.2 and run on
-   Linux 2.2.6 with glibc 2.1 (hardware unknown but probably a PC) dumps
-   core when given a "set line /dev/ttyS1" command. When rebuilt with
-   gcc, it works fine.
-
-   All versions of Linux seem to have the following deficiency: When a
-   modem call is hung up and CD drops, Kermit can no longer read the
-   modem signals; SHOW COMMUNICATIONS says "Modem signals not available".
-   The TIOCMGET ioctl() returns -1 with errno 5 ("I/O Error").
-
-   The Linux version of POSIX tcsendbreak(), which is used by C-Kermit to
-   send regular (275msec) and long (1.5sec) BREAK signals, appears to
-   ignore its argument (despite its description in the man page and info
-   topic), and always sends a regular 275msec BREAK. This has been
-   observed in Linux versions ranging from Debian 2.1 to Red Hat 7.1.
-    ________________________________________________________________________
-
-  3.3.3. Terminal Emulation in Linux
-
-   [ [303]Top ] [ [304]Contents ] [ [305]Section Contents ] [ [306]Next ]
-   [ [307]Previous ]
-
-   C-Kermit is not a terminal emulator. For a brief explanation of why
-   not, see [308]Section 3.0.5. For a fuller explanation, [309]ClICK
-   HERE.
-
-   In Unix, terminal emulation is supplied by the Window in which you run
-   Kermit: the regular console screen, which provides Linux Console
-   "emulation" via the "console" termcap entry, or under X-Windows in an
-   xterm window, which gives VTxxx emulation. An xterm that includes
-   color ANSI and VT220 emulation is available with Xfree86:
-
-  [310]http://dickey.his.com/xterm/xterm.html
-
-   Before starting C-Kermit in an xterm window, you might need to tell
-   the xterm window's shell to "stty sane".
-
-   To set up your PC console keyboard to send VT220 key sequences when
-   using C-Kermit as your communications program in an X terminal window
-   (if it doesn't already), create a file somewhere (e.g. in /root/)
-   called .xmodmaprc, containing something like the following:
-
-  keycode 77  = KP_F1       ! Num Lock     => DEC Gold (PF1)
-  keycode 112 = KP_F2       ! Keypad /     => DEC PF1
-  keycode 63  = KP_F3       ! Keypad *     => DEC PF3
-  keycode 82  = KP_F4       ! Keypad -     => DEC PF4
-  keycode 111 = Help        ! Print Screen => DEC Help
-  keycode 78  = F16         ! Scroll Lock  => DEC Do
-  keycode 110 = F16         ! Pause        => DEC Do
-  keycode 106 = Find        ! Insert       => DEC Find
-  keycode 97  = Insert      ! Home         => DEC Insert
-  keycode 99  = 0x1000ff00  ! Page Up      => DEC Remove
-  keycode 107 = Select      ! Delete       => DEC Select
-  keycode 103 = Page_Up     ! End          => DEC Prev Screen
-  keycode 22  = Delete      ! Backspace sends Delete (127)
-
-   Then put "xmodmap filename" in your .xinitrc file (in your login
-   directory), e.g.
-
-  xmodmap /root/.xmodmaprc
-
-   Of course you can move things around. Use the xev program to find out
-   key codes.
-
-   Console-mode keys are mapped separately using loadkeys, and different
-   keycodes are used. Find out what they are with showkey.
-
-   For a much more complete VT220/320 key mapping for [311]Xfree86 xterm,
-   [312]CLICK HERE.
-    ________________________________________________________________________
-
-  3.3.4. Dates and Times
-
-   [ [313]Top ] [ [314]Contents ] [ [315]Section Contents ] [ [316]Next ]
-   [ [317]Previous ]
-
-   If C-Kermit's date-time (e.g. as shown by its DATE command) differs
-   from the system's date and time:
-
-    a. Make sure the libc to which Kermit is linked is set to GMT or is
-       not set to any time zone. Watch out for mixed libc5/libc6 systems;
-       each must be set indpendently.
-    b. If you have changed your TZ environment variable, make sure it is
-       exported. This is normally done in /etc/profile or /etc/TZ.
-    ________________________________________________________________________
-
-  3.3.5. Startup Errors
-
-   [ [318]Top ] [ [319]Contents ] [ [320]Section Contents ] [ [321]Next ]
-   [ [322]Previous ]
-
-   C-Kermit should work on all versions of Linux current through March
-   2003, provided it was built on the same version you have, with the
-   same libraries and header files (just get the source code and "make
-   linux"). Binaries tend not to travel well from one Linux machine to
-   another, due to their many differences. There is no guarantee that a
-   particular C-Kermit binary will not stop working at a later date,
-   since Linux tends to change out from under its applications. If that
-   happens, rebuild C-Kermit from source. If something goes wrong with
-   the build process, look on the [323]C-Kermit website for a newer
-   version. If you have the latest version, then [324]report the problem
-   to us.
-
-   Inability to transfer files in Red Hat 7.2: the typical symptom would
-   be if you start Kermit and tell it to RECEIVE, it fails right away
-   with "?/dev/tty: No such device or address" or "?Bad file descriptor".
-   One report says this is because of csh, and if you change your shell
-   to bash or other shell, it doesn't happen. Another report cite bugs in
-   Red Hat 7.2 Telnetd "very seldom (if ever) providing a controlling
-   tty, and lots of other people piled on saying they have the same
-   problem.") A third theory is that this happens only when Linux has
-   been installed without "virtual terminal support".
-
-   A search of RedHat's errata pages shows a bug advisory (RHBA-2001-153)
-   issued 13 November 2001, but updated 6 December, about this same
-   symptom (but with tcsh and login.) Seems that login was not always
-   assigning a controlling TTY for the session, which would make most use
-   of "/dev/tty" somewhat less than useful.
-
-  [325]http://www.redhat.com/support/errata/RHBA-2001-153.html
-
-   Quoting: "Due to terminal handling problems in /bin/login, tcsh would
-   not find the controlling terminal correctly, and a shell in single
-   user mode would exhibit strange terminal input characteristics. This
-   update fixes both of these problems."
-
-   Since the Red Hat 5.1 release (circa August 1998), there have been
-   numerous reports of prebuilt Linux executables, and particularly the
-   Kermit RPM for Red Hat Linux, not working; either it won't start at
-   all, or it gives error messages about "terminal type unknown" and
-   refuses to initialize its curses support. The following is from the
-   [326]Kermit newsgroup:
-
-     From: rchandra@hal9000.buf.servtech.com
-     Newsgroups: comp.protocols.kermit.misc
-     Subject: Red Hat Linux/Intel 5.1 and ncurses: suggestions
-     Date: 22 Aug 1998 15:54:46 GMT
-     Organization: Verio New York
-     Keywords: RedHat RPM 5.1
-
-     Several factors can influence whether "linux" is recognized as a
-     terminal type on many Linux systems.
-
-    1. Your program, or the libraries it linked with (if statically
-       linked), or the libraries it dynamically links with at runtime,
-       are looking for an entry in /etc/termcap that isn't there. (not
-       likely, but possible... I believe but am not certain that this is
-       a very old practice in very old [n]curses library implementations
-       to use a single file for all terminal descriptions.)
-    2. Your program, or the libraries...are looking for a terminfo file
-       that just plain isn't there. (also not so likely, since many
-       people in other recent message threads said that other programs
-       work OK).
-    3. Your program, or the libraries...are looking for a terminfo file
-       that is stored at a pathname that isn't expected by your program,
-       the libraries--and so on. I forgot if I read this in the errata
-       Web page or where exactly I discovered this (Netscape install?
-       Acrobat install?), but it may just be that one libc (let's say for
-       sake of argument, libc5, but I don't know this to be true) expects
-       your terminfo to be in /usr/share/terminfo, and the other (let's
-       say libc6/glibc) expects /usr/lib/terminfo. I remember that the
-       specific instructions in this bugfix/workaround were to do the
-       following or equivalent:
-  cd /usr/lib
-  ln -s ../share/terminfo ./terminfo
-       or:
-  ln -s /usr/share/terminfo /usr/lib/terminfo
-
-     So what this says is that the terminfo database/directory structure
-     can be accessed by either path. When something goes to reference
-     /usr/lib/terminfo, the symlink redirects it to essentially
-     /usr/share/terminfo, which is where it really resides on your
-     system. I personally prefer wherever possible to use relative
-     symlinks, because they still hold, more often than break, across
-     mount points, particularly NFS mounts, where the directory
-     structure may be different on the different systems.
-
-   Evidently the terminfo file moved between Red Hat 5.0 and 5.1, but Red
-   Hat did not include a link to let applications built prior to 5.1 find
-   it. Users reported that installing the link fixes the problem.
-    ________________________________________________________________________
-
-  3.3.6. The Fullscreen File Transfer Display
-
-   [ [327]Top ] [ [328]Contents ] [ [329]Section Contents ] [
-   [330]Previous ]
-
-   Starting with ncurses versions dated 1998-12-12 (about a year before
-   ncurses 5.0), ncurses sets the terminal for buffered i/o, but
-   unfortunately is not able to restore it upon exit from curses (via
-   endwin()). Thus after a file transfer that uses the fullscreen file
-   transfer display, the terminal no longer echos nor responds
-   immediately to Tab, ?, and other special command characters. The same
-   thing happens on other platforms that use ncurses, e.g. FreeBSD.
-   Workarounds:
-
-     * Use SET XFER DISPLAY BRIEF, CRT, SERIAL, or NONE instead of
-       FULLSCREEN; or:
-     * Rebuild with KFLAGS=-DNONOSETBUF (C-Kermit 8.0)
-
-   In Red Hat 7.1, when using C-Kermit in a Gnome terminal window, it was
-   noticed that when the fullscreen file transfer display exits (via
-   endwin()), the previous (pre-file-transfer-display) screen is
-   restored. Thus you can't look at the completed display to see what
-   happened. This is a evidently a new feature of xterm. I can only
-   speculate that initscreen() and endwin() must send some kind of
-   special escape sequences that command xterm to save and restore the
-   screen. To defeat this effect, tell Linux you have a vt100 or other
-   xterm-compatible terminal that is not actually an xterm, or else tell
-   Kermit to SET TRANSFER DISPLAY to something besides FULLSCREEN.
-    ________________________________________________________________________
-
-  3.4. C-KERMIT AND NEXTSTEP
-
-   [ [331]Top ] [ [332]Contents ] [ [333]Section Contents ] [ [334]Next ]
-   [ [335]Previous ]
-
-   Run C-Kermit in a Terminal, Stuart, or xterm window, or when logged in
-   remotely through a serial port or TELNET connection. C-Kermit does not
-   work correctly when invoked directly from the NeXTSTEP File Viewer or
-   Dock. This is because the terminal-oriented gtty, stty, & ioctl calls
-   don't work on the little window that NeXTSTEP pops up for non-NeXTSTEP
-   applications like Kermit. CBREAK and No-ECHO settings do not take
-   effect in the command parser -- commands are parsed strictly line at a
-   time. "set line /dev/cua" works. During CONNECT mode, the console
-   stays in cooked mode, so characters are not transmitted until carriage
-   return or linefeed is typed, and you can't escape back. If you want to
-   run Kermit directly from the File Viewer, then launch it from a shell
-   script that puts it in the desired kind of window, something like this
-   (for "Terminal"):
-
-  Terminal -Lines 24 -Columns 80 -WinLocX 100 -WinLocY 100 $FONT $FONTSIZE \
-  -SourceDotLogin -Shell /usr/local/bin/kermit &
-
-   C-Kermit does not work correctly on a NeXT with NeXTSTEP 3.0 to which
-   you have established an rlogin connection, due to a bug in NeXTSTEP
-   3.0, which has been reported to NeXT.
-
-   The SET CARRIER command has no effect on the NeXT -- this is a
-   limitation of the NeXTSTEP serial-port device drivers.
-
-   Hardware flow control on the NeXT is selected not by "set flow
-   rts/cts" in Kermit (since NeXTSTEP offers no API for this), but
-   rather, by using a specially-named driver for the serial device:
-   /dev/cufa instead /dev/cua; /dev/cufb instead of /dev/cub. This is
-   available only on 68040-based NeXT models (the situation for Intel
-   NeXTSTEP implementations is unknown).
-
-   NeXT-built 68030 and 68040 models have different kinds of serial
-   interfaces; the 68030 has a Macintosh-like RS-422 interface, which
-   lacks RTS and CTS signals; the 68040 has an RS-423 (RS-232 compatible)
-   interface, which supports the commonly-used modem signals. WARNING:
-   the connectors look exactly the same, but the pins are used in
-   completely DIFFERENT ways -- different cables are required for the two
-   kinds of interfaces.
-
-     IF YOU GET LOTS OF RETRANSMISSIONS during file transfer, even when
-     using a /dev/cuf* device and the modem is correctly configured for
-     RTS/CTS flow control, YOU PROBABLY HAVE THE WRONG KIND OF CABLE.
-
-   On the NeXT, Kermit reportedly (by TimeMon) causes the kernel to use a
-   lot of CPU time when using a "set line" connection. That's because
-   there is no DMA channel for the NeXT serial port, so the port must
-   interrupt the kernel for each character in or out.
-
-   One user reported trouble running C-Kermit on a NeXT from within
-   NeXT's Subprocess class under NeXTstep 3.0, and/or when rlogin'd from
-   one NeXT to another: Error opening /dev/tty:, congm: No such device or
-   address. Diagnosis: Bug in NeXTSTEP 3.0, cure unknown.
-    ________________________________________________________________________
-
-  3.5. C-KERMIT AND QNX
-
-   [ [336]Top ] [ [337]Contents ] [ [338]Section Contents ] [ [339]Next ]
-   [ [340]Previous ]
-
-   See also: The [341]comp.os.qnx newsgroup.
-
-   Support for QNX 4.x was added in C-Kermit 5A(190). This is a
-   full-function implementation, thoroughly tested on QNX 4.21 and later,
-   and verified to work in both 16-bit and 32-bit versions. The 16-bit
-   version was dropped in C-Kermit 7.0 since it can no longer be built
-   successfully (after stripping most most features, I succeeded in
-   getting it to compile and link without complaint, but the executable
-   just beeps when you run it); for 16-bit QNX 4.2x, use C-Kermit 6.0 or
-   earlier, or else [342]G-Kermit.
-
-   The 32-bit version (and the 16-bit version prior to C-Kermit 7.0)
-   supports most of C-Kermit's advanced features including TCP/IP, high
-   serial speeds, hardware flow-control, modem-signal awareness, curses
-   support, etc.
-
-   BUG: In C-Kermit 6.0 on QNX 4.22 and earlier, the fullscreen file
-   transfer display worked fine the first time, but was fractured on
-   subsequent file transfers. Cause and cure unknown. In C-Kermit 7.0 and
-   QNX 4.25, this no longer occurs. It is not known if it would occur in
-   C-Kermit 7.0 or later on earlier QNX versions.
-
-   Dialout devices are normally /dev/ser1, /dev/ser2, ..., and can be
-   opened explicitly with SET LINE. Reportedly, "/dev/ser" (no unit
-   number) opens the first available /dev/sern device.
-
-   Like all other Unix C-Kermit implementations, QNX C-Kermit does not
-   provide any kind of terminal emulation. Terminal specific functions
-   are provided by your terminal, terminal window (e.g. QNX Terminal or
-   xterm), or emulator.
-
-   QNX C-Kermit, as distributed, does not include support for UUCP
-   line-locking; the QNX makefile entries (qnx32 and qnx16) include the
-   -DNOUUCP switch. This is because QNX, as distributed, does not include
-   UUCP, and its own communications software (e.g. qterm) does not use
-   UUCP line locking. If you have a UUCP product installed on your QNX
-   system, remove the -DNOUUCP switch from the makefile entry and
-   rebuild. Then check to see that Kermit's UUCP lockfile conventions are
-   the same as those of your UUCP package; if not, read the [343]UUCP
-   lockfile section of the [344]Installation Instructions and make the
-   necessary changes to the makefile entry (e.g. add -DHDBUUCP).
-
-   QNX does, however, allow a program to get the device open count. This
-   can not be a reliable form of locking unless all applications do it,
-   so by default, Kermit uses this information only for printing a
-   warning message such as:
-
-  C-Kermit>set line /dev/ser1
-  WARNING - "/dev/ser1" looks busy...
-
-   However, if you want to use it as a lock, you can do so with:
-
-  SET QNX-PORT-LOCK { ON, OFF }
-
-   This is OFF by default; if you set in ON, C-Kermit will fail to open
-   any dialout device when its open count indicates that another process
-   has it open. SHOW COMM (in QNX only) displays the setting, and if you
-   have a port open, it also shows the open count.
-
-   As of C-Kermit 8.0, C-Kermit's "open-count" form of line locking works
-   only in QNX4, not in QNX6 (this might change in a future C-Kermit
-   release).
-    ________________________________________________________________________
-
-  3.6. C-KERMIT AND SCO
-
-   [ [345]Top ] [ [346]Contents ] [ [347]Section Contents ] [ [348]Next ]
-   [ [349]Previous ]
-
-   SECTION CONTENTS
-
-3.6.1. [350]SCO XENIX
-3.6.2. [351]SCO UNIX and OSR5
-3.6.3. [352]Unixware
-3.6.4. [353]Open UNIX 8
-
-   REFERENCES
-
-     * The comp.unix.sco.* newsgroups.
-     * [354]Section 3.10 below for Unixware.
-     * The following FAQs:
-
-        The comp.sco.misc FAQ:
-                [355]http://aplawrence.com/SCOFAQ/
-
-        Caldera (SCO) comp.unix.sco.programmer FAQ:
-                [356]http://www.zenez.com/cgi-bin/scoprogfaq/faq.pl
-
-        The UnixWare 7/OpenUNIX 8 FAQ:
-                [357]http://www.zenez.com/cgi-bin/scouw7faq/faq.pl
-                [358]http://zenez.pcunix.com/cgi-bin/scouw7faq/faq.pl
-
-        High Speed Modems for SCO Unix:
-                [359]http://pcunix.com/Unixart/modems.html
-
-        The UnixWare FAQ
-                [360]http://www.freebird.org/faq/
-
-        The UnixWare 1.x and 2.0 Programmer FAQ
-                [361]http://www.freebird.org/faq/developer.html
-
-        Caldera Support Knowledge Base
-                [362]http://support.caldera.com/caldera
-
-        [363]http://stage.caldera.com/ta/
-                Caldera (SCO) Technical Article Search Center
-
-        [364]http://aplawrence.com/newtosco.html
-                New to SCO (Tony Lawrence)
-
-   The same comments regarding terminal emulation and key mapping apply
-   to SCO operating systems as to all other Unixes. C-Kermit is not a
-   terminal emulator, and you can't use it to map F-keys, Arrow keys,
-   etc. The way to do this is with xmodmap (xterm) or loadkeys (console).
-   For a brief explanation, see [365]Section 3.0.5. For a fuller
-   explanation, [366]ClICK HERE.
-
-   Also see general comments on PC-based Unixes in [367]Section 3.0.
-
-  3.6.1. SCO XENIX
-
-   [ [368]Top ] [ [369]Contents ] [ [370]Section Contents ] [ [371]Next ]
-
-   Old Xenix versions... Did you know: Xenix 3.0 is *older* than Xenix
-   2.0?
-
-   In Xenix 2.3.4 and probably other Xenix versions, momentarily dropping
-   DTR to hang up a modem does not work. DTR goes down but does not come
-   up again. Workaround: Use SET MODEM HANGUP-METHOD MODEM-COMMAND.
-   Anybody who would like to fix this is welcome to take a look at
-   tthang() in [372]ckutio.c. Also: modem signals can not be read in
-   Xenix, and the maximum serial speed is 38400.
-
-   There is all sorts of confusion among SCO versions, particularly when
-   third- party communications boards and drivers are installed,
-   regarding lockfile naming conventions, as well as basic functionality.
-   As far as lockfiles go, all bets are off if you are using a
-   third-party multiport board. At least you have the source code.
-   Hopefully you also have a C compiler :-)
-
-   Xenix 2.3.0 and later claim to support RTSFLOW and CTSFLOW, but this
-   is not modern bidirectional hardware flow control; rather it
-   implements the original RS-232 meanings of these signals for
-   unidirectional half-duplex line access: If both RTSFLOW and CTSFLOW
-   bits are set, Xenix asserts RTS when it wants to send data and waits
-   for CTS assertion before it actually starts sending data (also,
-   reportedly, even this is broken in Xenix 2.3.0 and 2.3.1).
-    ________________________________________________________________________
-
-  3.6.2. SCO UNIX AND OSR5
-
-   [ [373]Top ] [ [374]Contents ] [ [375]Section Contents ] [ [376]Next ]
-   [ [377]Previous ]
-
-   SCO systems tend to use different names (i.e. drivers) for the same
-   device. Typically /dev/tty1a refers to a terminal device that has no
-   modem control; open, read, write, and close operations do not depend
-   on carrier. On the other hand, /dev/tty1A (same name, but with final
-   letter upper case), is the same device with modem control, in which
-   carrier is required (the SET LINE command does not complete until
-   carrier appears, read/write operations fail if there is no carrier,
-   etc).
-
-   SCO OpenServer 5.0.5 and earlier do not support the reading of modem
-   signals. Thus "show comm" does not list modem signals, and C-Kermit
-   does not automatically pop back to its prompt when the modem hangs up
-   the connection (drops CD). The ioctl() call for this is simply not
-   implmented, at least not in the standard drivers. OSR5.0.6 attempts to
-   deal with modem signals but fails; however OSR5.0.6a appears to
-   function properly.
-
-   Dialing is likely not to work well in SCO OpenServer 5.0.x because
-   many of the serial-port APIs simply do not operate when using the
-   standard drivers. For example, if DTR is dropped by the recommended
-   method (setting speed to 0 for half a seconds, then restoring the
-   speed), DTR and RTS go down but never come back up. When in doubt SET
-   MODEM HANGUP-METHOD MODEM-COMMAND or SET DIAL HANGUP OFF.
-
-   On the other hand, certain functions that might not (do not) work
-   right or at all when using SCO drivers (e.g. high serial speeds,
-   hardware flow control, and/or reading of modem signals) might work
-   right when using third-party drivers. (Example: hardware flow control
-   works, reportedly, only on uppercase device like tty1A -- not tty1a --
-   and only when CLOCAL is clear when using the SCO sio driver, but there
-   are no such restrictions in, e.g., [378]Digiboard drivers).
-
-   One user reports that he can't transfer large files with C-Kermit
-   under SCO OSR5.0.0 and 5.0.4 -- after the first 5K, everything falls
-   apart. Same thing without Kermit -- e.g. with ftp over a PPP
-   connection. Later, he said that replacing SCO's SIO driver with FAS,
-   an alternative communications driver, made the problem go away:
-
-  [379]ftp://ftp.fu-berlin.de/pub/unix/driver/fas
-
-   With regard to bidirectional serial ports on OpenServer 5.0.4, the
-   following advice appeared on an SCO-related newsgroup:
-
-     No amount of configuration information is going to help you on
-     5.0.4 unless it includes the kludge for the primary problem. With
-     almost every modem, the 5.0.4 getty will barf messages and may or
-     may not connect. There are 2 solutions and only one works on 5.0.4.
-     Get the atdialer binary from a 5.0.0 system and substitute it for
-     the native 5.0.4 atdialer. The other solution is to upgrade to
-     5.0.5. And, most of all, on any OpenServer products, do NOT run the
-     badly broken Modem Manager. Configure the modems in the time
-     honored way that dates back to Xenix.
-
-   Use SCO-provided utilities for switching the directionality of a modem
-   line, such as "enable" and "disable" commands. For example, to dial
-   out on tty1a, which is normally set up for logins:
-
-  disable tty1a
-  kermit -l /dev/tty1a
-  enable tty1a
-
-   If a tty device is listed as an ACU in /usr/lib/uucp/Devices and is
-   enabled, getty resets the ownership and permissions to uucp.uucp and
-   640 every time the device is released. If you want to use the device
-   only for dialout, and you want to specify other owners or permissions,
-   you should disable it in /usr/lib/uucp/Devices; this will prevent
-   getty from doing things to it. You should also changes the device's
-   file modes in /etc/conf/node.d/sio by changing fields 5-7 for the
-   desired device(s); this determines how the devices are set if you
-   relink the kernel.
-
-   One SCO user of C-Kermit 5A(190) reported that only one copy of Kermit
-   can run at a time when a Stallion Technologies multiport boards are
-   installed. Cause, cure, and present status unknown (see [380]Section
-   14 for more info regarding Stallion).
-
-   Prior to SCO OpenServer 5.0.4, the highest serial port speed supported
-   by SCO was 38400. However, in some SCO versions (e.g. OSR5) it is
-   possible to map rarely-used lower speeds (like 600 and 1800) to higher
-   ones like 57600 and 115200. To find out how, go to
-   [381]http://www.sco.com/ and search for "115200". In OSR5.0.4, serial
-   speeds up to 921600 are supported through the POSIX interface;
-   C-Kermit 6.1.193 or later, when built for OSR5.0.4 using /bin/cc (NOT
-   the UDK, which hides the high-speed definitions from CPP), supports
-   these speeds, but you might be able to run this binary on earlier
-   releases to get the high serial speeds, depending on various factors,
-   described by Bela Lubkin of SCO:
-
-  Serial speeds under SCO Unix / Open Desktop / OpenServer
-  ========================================================
-  Third party drivers (intelligent serial boards) may provide any speeds
-  they desire; most support up to 115.2Kbps.
-
-  SCO's "sio" driver, which is used to drive standard serial ports with
-  8250/16450/16550 and similar UARTs, was limited to 38400bps in older
-  releases.  Support for rates through 115.2Kbps was added in the
-  following releases:
-
-    SCO OpenServer Release 5.0.0 (requires supplement "rs40b")
-    SCO OpenServer Release 5.0.2 (requires supplement "rs40a" or "rs40b")
-    SCO OpenServer Release 5.0.4 or later
-    SCO Internet FastStart Release 1.0.0 or later
-
-   SCO supplements are at [382]ftp://ftp.sco.com/; the "rs40" series are
-   under directory /Supplements/internet
-
-   Kermit includes the high serial speeds in all OSR5 builds, but that
-   does not necessarily mean they work. For example, on our in-house
-   5.0.5 system, SET SPEED 57600 or higher seems to succeed (no error
-   occurs) but when we read the speed back the driver says it is 50.
-   Similarly, 76800 becomes 75, and 115200 becomes 110. Testing shows the
-   resulting speed is indeed the low one we read back, not the high one
-   we asked for. Moral: Use speeds higher than 38400 with caution on SCO
-   OSR5.
-
-   Reportedly, if you have a script that makes a TCP/IP SET HOST (e.g.
-   Telnet) connection to SCO 3.2v4.2 with TCP/IP 1.2.1, and then does the
-   following:
-
-  script $ exit
-  hangup
-
-   this causes a pseudoterminal (pty) to be consumed on the SCO system;
-   if you do it enough times, it will run out of ptys. An "exit" command
-   is being sent to the SCO shell, and a HANGUP command is executed
-   locally, so the chances are good that both sides are trying to close
-   the connection at once, perhaps inducing a race condition in which the
-   remote pty is not released. It was speculated that this would be fixed
-   by applying SLS net382e, but it did not. Meanwhile, the workaround is
-   to insert a "pause" between the SCRIPT and HANGUP commands. (The
-   situation with later SCO releases is not known.)
-
-   SCO UNIX and OpenServer allow their console and/or terminal drivers to
-   be configured to translate character sets for you. DON'T DO THIS WHEN
-   USING KERMIT! First of all, you don't need it -- Kermit itself already
-   does this for you. And second, it will (a) probably ruin the
-   formatting of your screens (depending on which emulation you are
-   using); and (b) interfere with all sorts of other things -- legibility
-   of non-ASCII text on the terminal screen, file transfer, etc. Use:
-
-  mapchan -n
-
-   to turn off this feature.
-
-   Note that there is a multitude of SCO entries in the makefile, many of
-   them exhibiting an unusually large number of compiler options. Some
-   people actually understand all of this. Reportedly, things are
-   settling down with SCO OpenServer 5.x and Unixware 7 (and Open UNIX 8
-   and who knows what the next one will be -- Linux probably) -- the SCO
-   UDK compiler is said to generate binaries that will run on either
-   platform, by default, automatically. When using gcc or egcs, on the
-   other hand, differences persist, plus issues regarding the type of
-   binary that is generated (COFF, ELF, etc), and where and how it can
-   run. All of this could stand further clarification by SCO experts.
-    ________________________________________________________________________
-
-  3.6.3. Unixware
-
-   [ [383]Top ] [ [384]Contents ] [ [385]Section Contents ] [ [386]Next ]
-   [ [387]Previous ]
-
-   Unixware changed hands several times before landing at SCO, and so has
-   its [388]own section in this document. (Briefly: AT&T UNIX Systems
-   Laboratories sold the rights to the UNIX name and to System V R4 (or
-   R5?) to Novell; later Novell spun its UNIX division off into a new
-   company called Univel, which eventually was bought by SCO, which later
-   was bought by Caldera, which later sort of semi-spun-off SCO...)
-    ________________________________________________________________________
-
-  3.6.4. Open UNIX 8
-
-   [ [389]Top ] [ [390]Contents ] [ [391]Section Contents ] [
-   [392]Previous ]
-
-   SCO was bought by Caldera in 2000 or 2001 and evolved Unixware 7.1
-   into Caldera Open UNIX 8.00. It's just like Unixware 7.1 as far as
-   Kermit is concerned (the Unixware 7.1 makefile target works for Open
-   UNIX 8.00, and in fact a Unixware 7.1 Kermit binary built on Unixware
-   7.1 runs under OU8; a separate OU8 makefile target exists simply to
-   generate an appropriate program startup herald). Open Unix is now
-   defunct; subsequent releases are called UnixWare again (e.g. UnixWare
-   7.1.3).
-    ________________________________________________________________________
-
-  3.7. C-KERMIT AND SOLARIS
-
-   [ [393]Top ] [ [394]Contents ] [ [395]Section Contents ] [ [396]Next ]
-   [ [397]Previous ]
-
-   SECTION CONTENTS
-
-3.7.1. [398]Serial Port Configuration
-3.7.2. [399]Serial Port Problems
-3.7.3. [400]SunLink X.25
-3.7.4. [401]Sun Workstation Keyboard Mapping
-3.7.5. [402]Solaris 2.4 and Earlier
-
-   REFERENCES
-
-     * The [403]comp.unix.solaris newsgroup
-     * [404]http://access1.sun.com/
-     * [405]http://docs.sun.com/
-     * [406]http://www.sunhelp.com/
-     * [407]http://www.wins.uva.nl/pub/solaris/solaris2/
-     * [408]http://www.wins.uva.nl/cgi-bin/sfaq.cgi
-     * [409]ftp://ftp.wins.uva.nl/pub/solaris
-     * [410]http://www.science.uva.nl/pub/solaris/solaris2.html
-
-   And about serial communications in particular, see "Celeste's Tutorial
-   on Solaris 2.x Modems and Terminals":
-
-  [411]http://www.stokely.com/
-
-   In particular:
-
-  [412]http://www.stokely.com/unix.sysadm.resources/faqs.sun.html
-
-   For PC-based Solaris, also see general comments on PC-based Unixes in
-   [413]Section 3.0. Don't expect Solaris or any other kind of Unix to
-   work right on a PC until you resolve all interrupt conflicts. Don't
-   expect to be able to use COM3 or COM4 (or even COM2) until you have
-   configured their addresses and interrupts.
-    ________________________________________________________________________
-
-  3.7.1. Serial Port Configuration
-
-   [ [414]Top ] [ [415]Contents ] [ [416]Section Contents ] [
-   [417]Section Contents ] [ [418]Next ]
-
-   Your serial port can't be used -- or at least won't work right --
-   until it is enabled in Solaris. For example, you get a message like
-   "SERIAL: Operation would block" when attempting to dial. This probably
-   indicates that the serial port has not been enabled for use with
-   modems. You'll need to follow the instructions in your system setup or
-   management manual, such as (e.g.) the Desktop SPARC Sun System &
-   Network Manager's Guide, which should contain a section "Setting up
-   Modem Software"; read it and follow the instructions. These might (or
-   might not) include running a program called "eeprom", editing some
-   system configuration file (such as, for example:
-
-  /platform/i86pc/kernel/drv/asy.conf
-
-   and then doing a configuration reboot, or running some other programs
-   like drvconfig and devlinks. "man eeprom" for details.
-
-   Also, on certain Sun models like IPC, the serial port hardware might
-   need to have a jumper changed to make it an RS-232 port rather than
-   RS-423.
-
-   eeprom applies only to real serial ports, not to "Spiff" devices
-   (serial port expander), in which case setup with Solaris' admintool is
-   required.
-
-   Another command you might need to use is pmadm, e.g.:
-
-  pmadm -d -p zsmon -s tty3
-  pmadm -e -p zsmon -s tty3
-
-   You can use the following command to check if a process has the device
-   open:
-
-  fuser -f /dev/term/3
-
-   In some cases, however (according to Sun support, May 2001) "It is
-   still possible that a zombie process has hold of the port EVEN IF
-   there is no lock file and the fuser command comes up empty. In that
-   case, the only way to resolve the problem is by rebooting."
-
-   If you can't establish communication through a serial port to a device
-   that is not asserting CD (Carrier Detect), try setting the environment
-   variable "ttya-ignore-cd" to "true" (replace "ttya" with the port
-   name).
-    ________________________________________________________________________
-
-  3.7.2. Serial Port Problems
-
-   [ [419]Top ] [ [420]Contents ] [ [421]Section Contents ] [ [422]Next ]
-   [ [423]Previous ]
-
-   Current advice from Sun is to always the /dev/cua/x devices for
-   dialing out, rather than the /dev/term/x. Nevertheless, if you have
-   trouble dialing out with one, try the other.
-
-   Reportedly, if you start C-Kermit and "set line" to a port that has a
-   modem connected to it that is not turned on, and then "set flow
-   rts/cts", there might be some (unspecified) difficulties closing the
-   device because the CTS signal is not coming in from the modem.
-    ________________________________________________________________________
-
-  3.7.3. SunLink X.25
-
-   [ [424]Top ] [ [425]Contents ] [ [426]Section Contents ] [ [427]Next ]
-   [ [428]Previous ]
-
-   The built-in SunLink X.25 support for Solaris 2.3/2.4./25 and SunLink
-   8.01 or 9.00 works OK provided the X.25 system has been installed and
-   initialized properly. Packet sizes might need to be reduced to 256,
-   maybe even less, depending on the configuration of the X.25
-   installation. On one connection where C-Kermit 6.0 was tested, very
-   large packets and window sizes could be used in one direction, but
-   only very small ones would work in the other.
-
-   In any case, according to Sun, C-Kermit's X.25 support is superfluous
-   with SunLink 8.x / Solaris 2.3. Quoting an anonymous Sun engineer:
-
-     ... there is now no need to include any X.25 code within kermit. As
-     of X.25 8.0.1 we support the use of kermit, uucp and similar
-     protocols over devices of type /dev/xty. This facility was there in
-     8.0, and should also work on the 8.0 release if patch 101524 is
-     applied, but I'm not 100% sure it will work in all cases, which is
-     why we only claim support from 8.0.1 onwards.
-
-     When configuring X.25, on the "Advanced Configuration->Parameters"
-     screen of the x25tool you can select a number of XTY devices. If
-     you set this to be > 1, press Apply, and reboot, you will get a
-     number of /dev/xty entries created.
-
-     Ignore /dev/xty0, it is a special case. All the others can be used
-     exactly as if they were a serial line (e.g. /dev/tty) connected to
-     a modem, except that instead of using Hayes-style commands, you use
-     PAD commands.
-
-     From kermit you can do a 'set line' command to, say, /dev/xty1,
-     then set your dialing command to be "CALL 12345678", etc. All the
-     usual PAD commands will work (SET, PAR, etc).
-
-     I know of one customer in Australia who is successfully using this,
-     with kermit scripts, to manage some X.25-connected switches. He
-     used standard kermit, compiled for Solaris 2, with X.25 8.0 xty
-     devices.
-    ________________________________________________________________________
-
-  3.7.4. Sun Workstation Keyboard Mapping
-
-   [ [429]Top ] [ [430]Contents ] [ [431]Section Contents ] [ [432]Next ]
-   [ [433]Previous ]
-
-   Hints for using a Sun workstation keyboard for VT emulation when
-   accessing VMS, from the [434]comp.os.vms newsgroup:
-
-     From: Jerry Leichter <leichter@smarts.com>
-     Newsgroups: comp.os.vms
-     Subject: Re: VT100 keyboard mapping to Sun X server
-     Date: Mon, 19 Aug 1996 12:44:21 -0400
-
-     > I am stuck right now using a Sun keyboard (type 5) on systems
-     running SunOS
-     > and Solaris. I would like to use EVE on an OpenVMS box with
-     display back to
-     > the Sun. Does anyone know of a keyboard mapping (or some other
-     procedure)
-     > which will allow the Sun keyboard to approximate a VT100/VT220?
-
-     You can't get it exactly - because the keypad has one fewer key -
-     but you can come pretty close. Here's a set of keydefs I use:
-
-  keycode 101=KP_0
-  keycode 119=KP_1
-  keycode 120=KP_2
-  keycode 121=KP_3
-  keycode 98=KP_4
-  keycode 99=KP_5
-  keycode 100=KP_6
-  keycode 75=KP_7
-  keycode 76=KP_8
-  keycode 77=KP_9
-  keycode 52=KP_F1
-  keycode 53=KP_F2
-  keycode 54=KP_F3
-  keycode 57=KP_Decimal
-  keycode 28=Left
-  keycode 29=Right
-  keycode 30=KP_Separator
-  keycode 105=KP_F4
-  keycode 78=KP_Subtract
-  keycode 8=Left
-  keycode 10=Right
-  keycode 32=Up
-  keycode 33=Down
-  keycode 97=KP_Enter
-
-     Put this in a file - I use "keydefs" in my home directory and feed
-     it into xmodmap:
-
-  xmodmap - <$HOME/keydefs
-
-     This takes care of the arrow keys and the "calculator" key cluster.
-     The "+" key will play the role of the DEC "," key. The Sun "-" key
-     will be like the DEC "-" key, though it's in a physically different
-     position - where the DEC PF4 key is. The PF4 key is ... damn, I'm
-     not sure where "key 105" is. I *think* it may be on the leftmost
-     key of the group of four just above the "calculator" key cluster.
-
-     I also execute the following (this is all in my xinitrc file):
-
-  xmodmap -e 'keysym KP_Decimal = KP_Decimal'
-  xmodmap -e 'keysym BackSpace = Delete BackSpace' \
-          -e 'keysym Delete = BackSpace Delete'
-  xmodmap -e 'keysym KP_Decimal = Delete Delete KP_Decimal'
-  xmodmap -e 'add mod1 = Meta_R'
-  xmodmap -e 'add mod1 = Meta_L'
-
-     Beware of one thing about xmodmap: Keymap changes are applied to
-     the *whole workstation*, not just to individual windows. There is,
-     in fact, no way I know of to apply them to individual windows.
-     These definitions *may* confuse some Unix programs (and/or some
-     Unix users).
-
-     If you're using Motif, you may also need to apply bindings at the
-     Motif level. If just using xmodmap doesn't work, I can try and dig
-     that stuff up for you.
-    ________________________________________________________________________
-
-  3.7.5. Solaris PPP Connections
-
-   [ [435]Top ] [ [436]Contents ] [ [437]Section Contents ] [ [438]Next ]
-   [ [439]Previous ]
-
-   The following is a report from a user of C-Kermit 8.0 on Solaris 8 and
-   9, who had complained that while Kermit file transfers worked
-   perfectly on direct (non-PPP) dialout connections, they failed
-   miserably on PPP connections. We suggested that the PPP dialer
-   probably was not setting the port and/or modem up in the same way that
-   Kermit did:
-
-     I want to get back on this and tell you what the resolution was.
-     You pointed me in the direction of flow control, which turned out
-     to be the key.
-
-     Some discussion on the comp.unix.solaris newsgroup led to some
-     comments from Greg Andrews about the need to use the uucp driver to
-     talk to the modem (/dev/cua/a). I had to remind Greg that no matter
-     what the manpages for the zs and se drivers say, the ppp that Sun
-     released with Solaris 8 7/01, and has in Solaris 9, is a setuid
-     root program, and simply trying to make a pppd call from user space
-     specifying /dev/cua/a would fail because of permissions. Greg
-     finally put the question to the ppp people, who came back with
-     information that is not laid out anywhere in the docs available for
-     Solaris users. Namely, put /dev/cua/a in one of the priviledged
-     options files in the /etc/ppp directory. That, plus resetting the
-     OBP ttya-ignore-cd flag (this is Sun hardware) to false, seems to
-     have solved the problems.
-
-     While I note that I had installed Kermit suid to uucp to use
-     /dev/cua/a on this particular box, it seems to run fine through
-     /dev/term/a. Not so with pppd.
-
-     With this change in place, I seem to be able to upload and download
-     through telnet run on Kermit with the maximum length packets. I
-     note that the window allocation display does show STREAMING, using
-     telnet. Running ssh on Kermit, I see the standard 1 of 30 windows
-     display, and note that there appears to be a buffer length limit
-     between 1000 and 2000 bytes. Run with 1000, and it's tick-tock,
-     solid as a rock. With 2000 I see timeout errors and RTS/CTS action
-     on the modem.
-
-   Kermit's packet-length and other controls let you make adjustments
-   like this to get around whatever obstacles might be thrown up -- in
-   this case (running Kermit over ssh), the underling Solaris PTY driver.
-    ________________________________________________________________________
-
-  3.7.6. Solaris 2.4 and Earlier
-
-   [ [440]Top ] [ [441]Contents ] [ [442]Section Contents ] [
-   [443]Previous ]
-
-   C-Kermit can't be compiled successfully under Solaris 2.3 using
-   SUNWspro cc 2.0.1 unless at least some of the following patches are
-   applied to cc (it is not known which one(s), if any, fix the problem):
-
-     * 100935-01 SparcCompiler C 2.0.1: bad code generated when addresses
-       of two double arguments are involved
-     * 100961-05 SPARCcompilers C 2.0.1: conditional expression with
-       function returning structure gives wrong value
-     * 100974-01 SparcWorks 2.0.1: dbx jumbo patch
-     * 101424-01 SPARCworks 2.0.1 maketool SEGV's instantly on Solaris
-       2.3
-
-   With unpatched cc 2.0.1, the symptom is that certain modules generate
-   truncated object files, resulting in many unresolved references at
-   link time.
-
-     The rest of the problems in this section have to do with
-     bidirectional terminal ports and the Solaris Port Monitor. A bug in
-     C-Kermit 5A ticked a bug in Solaris. The C-Kermit bug was fixed in
-     version 6.0, and the Solaris bug was fixed in 2.4 (I think, or
-     maybe 2.5). 
-
-   Reportedly, "C-Kermit ... causes a SPARCstation running Solaris 2.3 to
-   panic after the modem connects. I have tried compiling C-Kermit with
-   Sun's unbundled C compiler, with GCC Versions 2.4.5 and 2.5.3, with
-   make targets 'sunos51', 'sunos51tcp', 'sunos51gcc', and even 'sys5r4',
-   and each time it compiles and starts up cleanly, but without fail, as
-   soon as I dial the number and get a 'CONNECT' message from the modem,
-   I get:
-
-  BAD TRAP
-  kermit: Data fault
-  kernel read fault at addr=0x45c, pme=0x0
-  Sync Error Reg 80 <INVALID>
-  ...
-  panic: Data Fault.
-  ...
-  Rebooting...
-
-   The same modem works fine for UUCP/tip calling." Also (reportedly),
-   this only happens if the dialout port is configured as in/out via
-   admintool. If it is configured as out-only, no problem. This is the
-   same dialing code that works on hundreds of other System-V based Unix
-   OS's. Since it should be impossible for a user program to crash the
-   operating system, this problem must be chalked up to a Solaris bug.
-   Even if you SET CARRIER OFF, CONNECT, and dial manually by typing
-   ATDTnnnnnnn, the system panics as soon as the modem issues its CONNECT
-   message. (Clearly, when you are dialing manually, C-Kermit does not
-   know a thing about the CONNECT message, and so the panic is almost
-   certainly caused by the transition of the Carrier Detect (CD) line
-   from off to on.) This problem was reported by many users, all of whom
-   say that C-Kermit worked fine on Solaris 2.1 and 2.2. If the
-   speculation about CD is true, then a possible workaround might be to
-   configure the modem to leave CD on (or off) all the time. Perhaps by
-   the time you read this, a patch will have been issued for Solaris 2.3.
-
-   The following is from Karl S. Marsh, Systems & Networks Administrator,
-   AMBIX Systems Corp, Rochester, NY:
-
-     Environment: Solaris 2.3 Patch 101318-45 C-Kermit 5A(189) (and
-     presumably this applies to 188 and 190 also). eeprom setting:
-
-  ttya-rts-dtr-off=false
-  ttya-ignore-cd=false
-  ttya-mode=19200,8,n,8,-
-
-     To use C-Kermit on a bidirectional port in this environment, do not
-     use admintool to configure the port. Use admintool to delete any
-     services running on the port and then quit admintool and issue the
-     following command:
-
-  pmadm -a -p zsmon -s ttyb -i root -fu -v 1 -m "`ttyadm -b -d /dev/term/b \
-  -l conttyH -m ldterm,ttcompat -s /usr/bin/login -S n`"
-
-     [NOTE: This was copied from a blurry fax, so please check it
-     carefully] where:
-
-  -a = Add service
-  -p = pmtag (zsmon)
-  -s = service tag (ttyb)
-  -i = id to be associated with service tag (root)
-  -fu = create utmp entry
-  -v = version of ttyadm
-  -m = port monitor-specific portion of the port monitor administrative file
-       entry for the service
-  -b = set up port for bidirectional use
-  -d = full path name of device
-  -l = which ttylabel in the /etc/ttydefs file to use
-  -m = a list of pushable STREAMS modules
-  -s = pathname of service to be invoked when connection request received
-  -S = software carrier detect on or off (n = off)
-
-     "This is exactly how I was able to get Kermit to work on a
-     bi-directional port without crashing the system."
-
-   On the Solaris problem, also see SunSolve Bug ID 1150457 ("Using
-   C-Kermit, get Bad Trap on receiving prompt from remote system").
-   Another user reported "So, I have communicated with the Sun tech
-   support person that submitted this bug report [1150457]. Apparently,
-   this bug was fixed under one of the jumbo kernel patches. It would
-   seem that the fix did not live on into 101318-45, as this is EXACTLY
-   the error that I see when I attempt to use kermit on my system."
-
-   Later (Aug 94)... C-Kermit dialout successfully tested on a Sun4m with
-   a heavily patched Solaris 2.3. The patches most likely to have been
-   relevant:
-
-     * 101318-50: SunOS 5.3: Jumbo patch for kernel (includes libc,
-       lockd)
-     * 101720-01: SunOS 5.3: ttymon - prompt not always visible on a
-       modem connection
-     * 101815-01: SunOS 5.3: Data fault in put() NULL queue passed from
-       ttycommon_qfull()
-     * 101328-01: SunOS 5.3: Automation script to properly setup tty
-       ports prior to PCTS execution
-
-   Still later (Nov 94): another user (Bo Kullmar in Sweden) reports that
-   after using C-Kermit to dial out on a bidirectional port, the port
-   might not answer subsequent incoming calls, and says "the problem is
-   easy enough to fix with the Serial Port Manager; I just delete the
-   service and install it again using the graphical interface, which
-   underneath uses commands like sacadm and pmadm." Later Bo reports, "I
-   have found that if I run Kermit with the following script then it
-   works. This script is for /dev/cua/a, "-s a" is the last a in
-   /dev/cua/a:
-
-  #! /bin/sh
-  kermit
-  sleep 2
-  surun pmadm -e -p zsmon -s a
-    ________________________________________________________________________
-
-  3.8. C-KERMIT AND SUNOS
-
-   [ [444]Top ] [ [445]Contents ] [ [446]Section Contents ] [ [447]Next ]
-   [ [448]Previous ]
-
-   For additional information, see "Celeste's Tutorial on SunOS 4.1.3+
-   Modems and Terminals":
-
-  [449]http://www.stokely.com/
-
-   For FAQs, etc, from Sun, see:
-     * [450]http://access1.sun.com/
-
-   For history of Sun models and SunOS versions, see (should be all the
-   same):
-     * [451]http://www.ludd.luth.se/~bear/project/sun/sun.hardware.txt
-     * [452]ftp://ftp.netcom.com/pub/ru/rubicon/sun.hdwr.ref
-     * [453]ftp://ftp.intnet.net/pub/SUN/Sun-Hardware-Ref
-
-   Sun SPARCstation users should read the section "Setting up Modem
-   Software" in the Desktop SPARC Sun System & Network Manager's Guide.
-   If you don't set up your serial ports correctly, Kermit (and other
-   communications software) won't work right.
-
-   Also, on certain Sun models like IPC, the serial port hardware might
-   need to have a jumper changed to make it an RS-232 port rather than
-   RS-423.
-
-   Reportedly, C-Kermit does not work correctly on a Sun SPARCstation in
-   an Open Windows window with scrolling enabled. Disable scrolling, or
-   else invoke Kermit in a terminal emulation window (xterm, crttool,
-   vttool) under SunView (this might be fixed in later SunOS releases).
-
-   On the Sun with Open Windows, an additional symptom has been reported:
-   outbound SunLink X.25 connections "magically" translate CR typed at
-   the keyboard into LF before transmission to the remote host. This
-   doesn't happen under SunView.
-
-   SET CARRIER ON, when used on the SunOS 4.1 version of C-Kermit
-   (compiled in the BSD universe), causes the program to hang
-   uninterruptibly when SET LINE is issued for a device that is not
-   asserting carrier. When Kermit is built in the Sys V universe on the
-   same computer, there is no problem (it can be interrupted with
-   Ctrl-C). This is apparently a limitation of the BSD-style tty driver.
-
-   SunOS 4.1 C-Kermit has been observed to dump core when running a
-   complicated script program under cron. The dump invariably occurs in
-   ttoc(), while trying to output a character to a TCP/IP TELNET
-   connection. ttoc() contains a write() call, and when the system or the
-   network is very busy, the write() call can get stuck for long periods
-   of time. To break out of deadlocks caused by stuck write() calls,
-   there is an alarm around the write(). It is possible that the core
-   dump occurs when this alarm signal is caught. (This one has not been
-   observed recently -- possibly fixed in edit 190.)
-
-   On Sun computers with SunOS 4.0 or 4.1, SET FLOW RTS/CTS works only if
-   the carrier signal is present from the communication device at the
-   time when C-Kermit enters packet mode or CONNECT mode. If carrier is
-   not sensed (e.g. when dialing), C-Kermit does not attempt to turn on
-   RTS/CTS flow control. This is because the SunOS serial device driver
-   does not allow characters to be output if RTS/CTS is set (CRTSCTS) but
-   carrier (and DSR) are not present. Workaround (maybe): SET CARRIER OFF
-   before giving the SET LINE command, establish the connection, then SET
-   FLOW RTS/CTS
-
-   It has also been reported that RTS/CTS flow control under SunOS 4.1
-   through 4.1.3 works only on INPUT, not on output, and that there is a
-   patch from Sun to correct this problem: Patch-ID# T100513-04, 20 July
-   1993 (this patch might apply only to SunOS 4.1.3). It might also be
-   necessary to configure the eeprom parameters of the serial port; e.g.
-   do the following as root at the shell prompt:
-
-  eeprom  ttya-ignore-cd=false
-  eeprom  ttya-rts-dtr-off=true
-
-   There have been reports of file transfer failures on Sun-3 systems
-   when using long packets and/or large window sizes. One user says that
-   when this happens, the console issues many copies of this message:
-
-  chaos vmunix: zs1: ring buffer overflow
-
-   This means that SunOS is not scheduling Kermit frequently enough to
-   service interrupts from the zs serial device (Zilog 8350 SCC serial
-   communication port) before its input silo overflows. Workaround: use
-   smaller packets and/or a smaller window size, or use "nice" to
-   increase Kermit's priority. Use hardware flow control if available, or
-   remove other active processes before running Kermit.
-
-   SunLink X.25 support in C-Kermit 5A(190) was built and tested
-   successfully under SunOS 4.1.3b and SunLink X.25 7.00.
-    ________________________________________________________________________
-
-  3.9. C-KERMIT AND ULTRIX
-
-   [ [454]Top ] [ [455]Contents ] [ [456]Section Contents ] [ [457]Next ]
-   [ [458]Previous ]
-
-   See also: The [459]comp.unix.ultrix and [460]comp.sys.dec newsgroups.
-
-   There is no hardware flow control in Ultrix. That's not a Kermit
-   deficiency, but an Ultrix one.
-
-   When sending files to C-Kermit on a Telnet connection to a remote
-   Ultrix system, you must SET PREFIXING ALL (or at least prefix more
-   control characters than are selected by SET PREFIXING CAUTIOUS).
-
-   Reportedly, DEC ULTRIX 4.3 is immune to C-Kermit's disabling of
-   SIGQUIT, which is the signal that is generated when the user types
-   Ctrl-\, which kills the current process (i.e. C-Kermit) and dumps
-   core. Diagnosis and cure unknown. Workaround: before starting C-Kermit
-   -- or for that matter, when you first log in because this applies to
-   all processes, not just Kermit -- give the following Unix command:
-
-  stty quit undef
-
-   Certain operations driven by RS-232 modem signal do not work on
-   DECstations or other DEC platforms whose serial interfaces use MMP
-   connectors (DEC version of RJ45 telephone jack with offset tab). These
-   connectors convey only the DSR and DTR modem signals, but not carrier
-   (CD), RTS, CTS, or RI. Use SET CARRIER OFF to enable communication, or
-   "hotwire" DSR to CD.
-
-   The maximum serial speed on the DECstation 5000 is normally 19200, but
-   various tricks are available (outside Kermit) to enable higher rates.
-   For example, on the 5000/200, 19200 can be remapped (somehow,
-   something to do with "a bit in the SIR", whatever that is) to 38400,
-   but in software you must still refer to this speed as 19200; you can't
-   have 19200 and 38400 available at the same time.
-
-   19200, reportedly, is also the highest speed supported by Ultrix, but
-   NetBSD reportedly supports speeds up to 57600 on the DECstation,
-   although whether and how well this works is another question.
-
-   In any case, given the lack of hardware flow control in Ultrix, high
-   serial speeds are problematic at best.
-    ________________________________________________________________________
-
-  3.10. C-KERMIT AND UNIXWARE
-
-   [ [461]Top ] [ [462]Contents ] [ [463]Section Contents ] [ [464]Next ]
-   [ [465]Previous ]
-
-   See also:
-     * The Freebird Project (Unixware software repository)
-       [466]http://www.freebird.org/
-     * The UnixWare FAQ: [467]http://www.freebird.org/faq/
-     * The following newsgroups:
-          + [468]comp.unix.unixware.misc
-          + [469]comp.unix.sco.misc.
-
-   Also see general comments on PC-based Unixes in [470]Section 3.0. By
-   the way, this section is separate from the SCO (Caldera) section
-   because at the time this section was started, Unixware was owned by a
-   company called Univel. Later it was sold to Novell, and then to SCO.
-   Still later, SCO was sold to Caldera.
-
-   In Unixware 2.0 and later, the preferred serial device names (drivers)
-   are /dev/term/00 (etc), rather than /dev/tty00 (etc). Note the
-   following correspondence of device names and driver characteristics:
-
-  New name       Old name     Description              
-  /dev/term/00   /dev/tty00   ???
-  /dev/term/00h  /dev/tty00h  Modem signals and hardware flow control
-  /dev/term/00m  /dev/tty00m  Modem signals(?)
-  /dev/term/00s  /dev/tty00s  Modem signals and software flow control
-  /dev/term/00t  /dev/tty00t  ???
-
-   Lockfile names use device.major.minor numbers, e.g.:
-
-  /var/spool/locks/LK.7679.003.005
-
-   The minor number varies according to the device name suffix (none, h,
-   m, s, or t). Only the device and major number are compared, and thus
-   all of the different names for the same physical device (e.g. all of
-   those shown in the table above) interlock effectively.
-
-   Prior to UnixWare 7, serial speeds higher than 38400 are not
-   supported. In UnixWare 7, we also support 57600 and 115200, plus some
-   unexpected ones like 14400, 28800, and 76800, by virtue of a strange
-   new interface, evidently peculiar to UnixWare 7, discovered while
-   digging through the header files: tcsetspeed(). Access to this
-   interface is allowed only in POSIX builds, and thus the UnixWare 7
-   version of C-Kermit is POSIX-based, unlike C-Kermit for Unixware 1.x
-   and 2.x (since the earlier UnixWare versions did not support high
-   serial speeds, period).
-
-   HOWEVER, turning on POSIX features engages all of the "#if
-   (!_POSIX_SOURCE)" clauses in the UnixWare header files, which in turn
-   prevent us from having modem signals, access to the hardware flow
-   control APIs, select(), etc -- in short, all the other things we need
-   in communications software, especially when high speeds are used. Oh
-   the irony. And so C-Kermit must be shamelessly butchered -- as it has
-   been so many times before -- to allow us to have the needed features
-   from the POSIX and non-POSIX worlds. See the UNIXWAREPOSIX sections of
-   [471]ckutio.c.
-
-   After the butchery, we wind up with Unixware 2.x having full
-   modem-signal capability, but politically-correct Unixware 7.x lacking
-   the ability to automatically detect a broken connection when carrier
-   drops.
-
-   Meanwhile the Unixware tcsetspeed() function allows any number at all
-   (any long, 0 or positive) as an argument and succeeds if the number is
-   a legal bit rate for the serial device, and fails otherwise. There is
-   no list anywhere of legal speeds. Thus the SET SPEED keyword table
-   ("set speed ?" to see it) is hardwired based on trial and error with
-   all known serial speeds, the maximum being 115200. However, to allow
-   for the possibility that other speeds might be allowed in the future
-   (or with different port drivers), the SET SPEED command for UnixWare 7
-   only allows you to specify any number at all; a warning is printed if
-   the number is not in the list, but the number is accepted anyway; the
-   command succeeds if tcsetspeed() accepts the number, and fails
-   otherwise.
-
-   In C-Kermit 8.0 testing, it was noticed that the POSIX method for
-   hanging up the phone by dropping DTR (set speed 0, pause, restore
-   speed) did not actually drop DTR. The APIs do not return any error
-   indication, but nothing happens. I changed tthang() to skip the
-   special case I had made for Unixware and instead follow the normal
-   path: if TIOCSDTR is defined use that, otherwise blah blah... It turns
-   out TIOCSDTR *is* defined, and it works.
-
-   So in Unixware (at least in 2.1.3) we can read modem signals, hangup
-   by toggling DTR, and so on, BUT... But once the remote hangs up and
-   Carrier drops, the API for reading modem signals ceases to function;
-   although the device is still open, the TIOCMGET ioctl always raises
-   errno 6 = ENXIO, "No such device or address".
-
-   Old business:
-
-   Using C-Kermit 6.0 on the UnixWare 1.1 Application Server, one user
-   reported a system panic when the following script program is executed:
-
-  set line /dev/tty4
-  set speed 9600
-  output \13
-  connect
-
-   The panic does not happen if a PAUSE is inserted:
-
-  set line /dev/tty4
-  set speed 9600
-  pause 1
-  output \13
-  connect
-
-   This is using a Stallion EasyIO card installed as board 0 on IRQ 12 on
-   a Gateway 386 with the Stallion-supplied driver. The problem was
-   reported to Novell and Stallion and (reportedly) is now fixed.
-    ________________________________________________________________________
-
-  3.11. C-KERMIT AND APOLLO SR10
-
-   [ [472]Top ] [ [473]Contents ] [ [474]Section Contents ] [ [475]Next ]
-   [ [476]Previous ]
-
-   Reportedly, version 5A(190), when built under Apollo SR10 using "make
-   sr10-bsd", compiles, links, and executes OK, but leaves the terminal
-   unusable after it exits -- the "cs7" or "cs8" (character size)
-   parameter has become cs5. The terminal must be reset from another
-   terminal. Cause and cure unknown. Suggested workaround: Wrap Kermit in
-   a shell script something like:
-
-  kermit @*
-  stty sane
-    ________________________________________________________________________
-
-  3.12. C-KERMIT AND TANDY XENIX 3.0
-
-   [ [477]Top ] [ [478]Contents ] [ [479]Section Contents ] [ [480]Next ]
-   [ [481]Previous ]
-
-   C-Kermit 7.0 was too big to be built on Tandy Xenix, even in a minimum
-   configuration; version 6.0 is the last one that fits.
-
-   Reportedly, in C-Kermit 6.0, if you type lots of Ctrl-C's during
-   execution of the initialization file, ghost Kermit processes will be
-   created, and will compete for the keyboard. They can only be removed
-   via "kill -9" from another terminal, or by rebooting. Diagnosis --
-   something strange happening with the SIGINT handler while the process
-   is reading the directory (it seems to occur during the SET PROMPT
-   [\v(dir)] ... sequence). Cure: unknown. Workaround: don't interrupt
-   C-Kermit while it is executing its init file on the Tandy 16/6000.
-    ________________________________________________________________________
-
-  3.13. C-KERMIT AND OSF/1 (DIGITAL UNIX) (TRU64 UNIX)
-
-   [ [482]Top ] [ [483]Contents ] [ [484]Section Contents ] [ [485]Next ]
-   [ [486]Previous ]
-
-   While putting together and testing C-Kermit 8.0, it was discovered
-   that binaries built for one version of Tru64 Unix (e.g. 4.0G) might
-   exhibit very strange behavior if run on a different version of Tru64
-   Unix (e.g. 5.1A). The typical symptom was that a section of the
-   initialization file would be skipped, notably locating the dialing
-   and/or network directory as well as finding and executing the
-   customization file, ~/.mykermrc. This problem also is reported to
-   occur on Tru64 Unix 5.0 (Rev 732) even when running a C-Kermit binary
-   that was built there. However, the Tru64 5.1A binary works correctly
-   on 5.0. Go figure.
-
-   When making Telnet connections to a Digital Unix or Tru64 system, and
-   your Telnet client forwards your user name, the Telnet server
-   evidently stuffs the username into login's standard input, and you
-   see:
-
-  login: ivan
-  Password:
-
-   This is clearly going to play havoc with scripts that look for
-   "login:". Workaround (when Kermit is your Telnet client): SET LOGIN
-   USER to nothing, to prevent Kermit from sending your user ID.
-
-   Before you can use a serial port on a new Digital Unix system, you
-   must run uucpsetup to enable or configure the port. Evidently the
-   /dev/tty00 and 01 devices that appear in the configuration are not
-   usable; uucpsetup turns them into /dev/ttyd00 and 01, which are. Note
-   that uucpsetup and other uucp-family programs are quite primitive --
-   they only know about speeds up to 9600 bps and their selection of
-   modems dates from the early 1980s. None of this affects Kermit, though
-   -- with C-Kermit, you can use speeds up to 115200 bps (at least in
-   DU4.0 and later) and modern modems with hardware flow control and all
-   the rest.
-
-   Reportedly, if a modem is set for &S0 (assert DSR at all times), the
-   system resets or drops DTR every 30 seconds; reportedly DEC says to
-   set &S1.
-
-   Digital Unix 3.2 evidently wants to believe your terminal is one line
-   longer than you say it is, e.g. when a "more" or "man" command is
-   given. This is has nothing to do with C-Kermit, but tends to annoy
-   those who use Kermit or other terminal emulators to access Digital
-   Unix systems. Workaround: tell Unix to "stty rows 23" (or whatever).
-
-   Reportedly, there is some bizarre behavior when trying to use a
-   version of C-Kermit built on one Digital Unix 4.0 system on another
-   one, possibly due to differing OS or library revision levels; for
-   example, the inability to connect to certain TCP/IP hosts. Solution:
-   rebuild C-Kermit from source code on the system where you will be
-   using it.
-
-   Digital Unix tgetstr() causes a segmentation fault. C-Kermit 7.0 added
-   #ifdefs to avoid calling this routine in Digital Unix. As a result,
-   the SCREEN commands always send ANSI escape sequences -- even though
-   curses knows your actual terminal type.
-
-   Reportedy the Tru64 Unix 4.0E 1091 Telnet server does not tolerate
-   streaming transfers into itself, at least not when the sending Kermit
-   is on the same local network. Solution: tell one Kermit or the other
-   (or both) to "set streaming off". This might or might be the case with
-   earlier and/or later Tru64, Digital Unix, and OSF/1 releases.
-    ________________________________________________________________________
-
-  3.14. C-KERMIT AND SGI IRIX
-
-   [ [487]Top ] [ [488]Contents ] [ [489]Section Contents ] [ [490]Next ]
-   [ [491]Previous ]
-
-   See also:
-     * The [492]comp.sys.sgi.misc and [493]comp.sys.sgi.admin newsgroups.
-       [494]The SGI website
-     * The SGI FAQ:
-          + [495]http://www-viz.tamu.edu/~sgi-faq/
-          + [496]ftp://viz.tamu.edu/pub/sgi/faq/
-
-   About IRIX version numbers: "uname -a" tells the "two-digit" version
-   number, such as "5.3" or "6.5". The three-digit form can be seen with
-   "uname -R". (this information is unavailable at the simple API level).
-   Supposedly all three-digit versions within the same two-digit version
-   (e.g. 6.5.2, 6.5.3) are binary compatible; i.e. a binary built on any
-   one of them should run on all others. The "m" suffix denotes just
-   patches; the "f" suffix indicates that features were added.
-
-   An IRIX binary built on lower MIPS model (Instruction Set
-   Architecture, ISA) can run on higher models, but not vice versa:
-
-     MIPS1 R3000 and below
-     MIPS2 R4000
-     MIPS3 R4x00
-     MIPS4 R5000 and above
-
-   Furthermore, there are different Application Binary Inferfaces (ABIs):
-
-     COFF    32 bits, IRIX 5.3, 5.2, 5.1, 4.x and below
-     o32 ELF 32 bits, IRIX 5.3, 6.0 - 6.5
-     N32 ELF 32 bits, IRIX 6.2 - 6.5
-     N64 ELF 64 bits, IRIX 6.2 - 6.5
-
-   Thus a prebuilt IRIX binary works on a particular machine only if (a)
-   the machine's IRIX version (to one decimal place) is equal to or
-   greater than the version under which the binary was built; (b) the
-   machine's MIPS level is greater or equal to that of the binary; and
-   (c) the machine supports the ABI of the binary. If all three
-   conditions are not satisfied, of course, you can build a binary
-   yourself from source code since, unlike some other Unix vendors, SGI
-   does supply a C compiler and libraries.
-
-   SGI did not supply an API for hardware flow control prior to IRIX 5.2.
-   C-Kermit 6.1 and higher for IRIX 5.2 and higher supports hardware flow
-   control in the normal way, via "set flow rts/cts".
-
-   For hardware flow control on earlier IRIX and/or C-Kermit versions,
-   use the ttyf* (modem control AND hardware flow control) devices and
-   not the ttyd* (direct) or ttym* (modem control but no hardware flow
-   control) ones, and obtain the proper "hardware handshaking" cable from
-   SGI, which is incompatible with the ones for the Macintosh and NeXT
-   even though they look the same ("man serial" for further info) and
-   tell Kermit to "set flow keep" and "set modem flow rts/cts".
-
-   Serial speeds higher than 38400 are available in IRIX 6.2 and later,
-   on O-class machines (e.g. Origin, Octane) only, and are supported by
-   C-Kermit 7.0 and later. Commands such as "set speed 115200" may be
-   given on other models (e.g. Iris, Indy, Indigo) but will fail because
-   the OS reports an invalid speed for the device.
-
-   Experimentation with both IRIX 5.3 and 6.2 shows that when logged in
-   to IRIX via Telnet, that remote-mode C-Kermit can't send files if the
-   packet length is greater than 4096; the Telnet server evidently has
-   this restriction (or bug), since there is no problem sending long
-   packets on serial or rlogin connections. However, it can receive files
-   with no problem if the packet length is greater than 4096. As a
-   workaround, the FAST macro for IRIX includes "set send packet-length
-   4000". IRIX 6.5.1 does not have this problem, so evidently it was
-   fixed some time after IRIX 6.2. Tests show file-transfer speeds are
-   better (not worse) with 8K packets than with 4K packets from IRIX
-   6.5.1.
-
-   Reportedly some Indys have bad serial port hardware. IRIX 5.2, for
-   example, needs patch 151 to work around this; or upgrade to a later
-   release. Similarly, IRIX 5.2 has several problems with serial i/o,
-   flow control, etc. Again, patch or upgrade.
-
-   Reportedly on machines with IRIX 4.0, Kermit cannot be suspended by
-   typing the suspend ("swtch") character if it was started from csh,
-   even though other programs can be suspended this way, and even though
-   the Z and SUSPEND commands still work correctly. This is evidently
-   because IRIX's csh does not deliver the SIGTSTP signal to Kermit. The
-   reason other programs can be suspended in the same environment is
-   probably that they do not trap SIGTSTP themselves, so the shell is
-   doing the suspending rather than the application.
-
-   Also see notes about IRIX 3.x in the [497]C-Kermit for Unix
-   Installation Instructions.
-
-   If you have problems making TCP/IP connections in versions of IRIX
-   built with GCC 2.95.2, see the bugs section of:
-
-  [498]http://freeware.sgi.com/Installable/gcc-2.95.2.html.
-
-   Reportedly, if you allow gcc to compile C-Kermit on Irix you should be
-   aware that there might be problems with some of the network code. The
-   specifics are at
-   [499]http://freeware.sgi.com/Installable/gcc-2.95.2.html; scroll down
-   to the "known bugs" section at the end of the document.
-    ________________________________________________________________________
-
-  3.15. C-KERMIT AND THE BEBOX
-
-   [ [500]Top ] [ [501]Contents ] [ [502]Section Contents ] [ [503]Next ]
-   [ [504]Previous ]
-
-   See also: The [505]comp.sys.be newsgroup.
-
-   The BeBox has been discontinued and BeOS repositioned for PC
-   platforms. The POSIX parts of BeOS are not finished, nor is the
-   sockets library, therefore a fully functional version of C-Kermit is
-   not possible. In version 6.0 of C-Kermit, written for BeOS DR7, it was
-   possible to:
-
-     * set line /dev/serial2 (and probably the other serial ports)
-     * set speed 115200 (and at least some of the lower baud rates)
-     * connect
-     * set modem type hayes (and likely others, too)
-     * dial phone-number
-     * set send packet-length 2048 (other lengths for both send and
-       receive)
-     * set receive packet length 2048
-     * set file type binary (text mode works, too) (with remote kermit
-       session in server mode)
-     * put bedrop.jpg
-     * get bedrop.jpg
-     * get bedrop.jpg bedrop.jpg2
-     * finish, bye
-
-   The following do not work:
-     * kermit does not detect modem hangup
-     * !/RUN/PUSH [commandline command]
-     * Running kermit in remote mode
-     * Using other protocols (x/y/zmodem)
-     * TCP networking interface (Be's TCP/IP API has a ways to go, still)
-
-   C-Kermit does not work on BeOS DR8 because of changes in the
-   underlying APIs. Unfortunately not enough changes were made to allow
-   the regular POSIX-based C-Kermit to work either. Note: the lack of a
-   fork() service requires the select()-based CONNECT module, but there
-   is no select(). There is a select() in DR8, but it doesn't work.
-
-   C-Kermit 7.0 was built for BeOS 4.5 and works in remote mode. It does
-   not include networking support since the APIs are still not there. It
-   is not known if dialing out works, but probably not. Be experts are
-   welcome to lend a hand.
-    ________________________________________________________________________
-
-  3.16. C-KERMIT AND DG/UX
-
-   [ [506]Top ] [ [507]Contents ] [ [508]Section Contents ] [ [509]Next ]
-   [ [510]Previous ]
-
-   Somebody downloaded the C-Kermit 6.0 binary built under DG/UX 5.40 and
-   ran it under DG/UX 5.4R3.10 -- it worked OK except that file dates for
-   incoming files were all written as 1 Jan 1970. Cause and cure unknown.
-   Workaround: SET ATTRIBUTE DATE OFF. Better: Use a version of C-Kermit
-   built under and for DG/UX 5.4R3.10.
-    ________________________________________________________________________
-
-  3.17. C-KERMIT AND SEQUENT DYNIX
-
-   [ [511]Top ] [ [512]Contents ] [ [513]Section Contents ] [ [514]Next ]
-   [ [515]Previous ]
-
-   Reportedly, when coming into a Sequent Unix (DYNIX) system through an
-   X.25 connection, Kermit doesn't work right because the Sequent's
-   FIONREAD ioctl returns incorrect data. To work around, use the
-   1-character-at-a-time version of myread() in ckutio.c (i.e. undefine
-   MYREAD in ckutio.c and rebuild the program). This is unsatisfying
-   because two versions of the program would be needed -- one for use
-   over X.25, and the other for serial and TCP/IP connections.
-    ________________________________________________________________________
-
-  3.18. C-KERMIT AND {FREE,OPEN,NET}BSD
-
-   [ [516]Top ] [ [517]Contents ] [ [518]Section Contents ] [ [519]Next ]
-   [ [520]Previous ]
-
-   Some NebBSD users have reported difficulty escaping back from CONNECT
-   mode, usually when running NetBSD on non-PC hardware. Probably a
-   keyboard issue.
-
-   NetBSD users have also reported that C-Kermit doesn't pop back to the
-   prompt if the modem drops carrier. This needs to be checked out &
-   fixed if possible.
-
-   (All the above seems to work properly in C-Kermit 7.0 and later.)
-    ________________________________________________________________________
-
-  3.19. C-KERMIT AND MAC OS X (Rhapsody, Darwin, Jaguar, Panther)
-
-   [ [521]Top ] [ [522]Contents ] [ [523]Section Contents ] [ [524]Next ]
-   [ [525]Previous ]
-
-   Mac OS X is Apple's 4.4BSD Unix variety, closely related to FreeBSD,
-   but different. "uname -a" is singularly uninformative, as in Linux,
-   giving only the Darwin kernel version number. As far as I can tell,
-   there is no way to find out the Mac OS X version number, such as 10.3
-   (in Linux you can find the distribution version in a
-   distribution-dependent file). Here are some points to be aware of:
-
-     * The biggest gotcha for Kermit users is that Mac OS X does not
-       support serial ports and, as far as I can tell, doesn't support
-       its built-in modem either, for anything other than making Internet
-       connections. Macintoshes capable of running Mac OS X, such as the
-       G5, some without serial ports and without any APIs to support
-       them, and also without the UUCP family of programs (including cu),
-       nor any standard for serial-port lockfile directory.
-     * At least early versions of Mac OS X came without Curses, Termlib,
-       or Terminfo libraries. Later versions seem to have ncurses. Kermit
-       uses curses for its file-transfer display. See elsewhere about
-       curses-vs-ncurses confusion.
-     * In the HFS+ file system, filenames are case-folded. Thus
-       "makefile" and "Makefile" are the same file. The UFS file system
-       is, like normal Unix, case-sensitive.
-     * Files that are composed of a resource fork and a data fork... I
-       doubt that C-Kermit does anything useful with them. There is no
-       code in C-Kermit for traditional two-forked Macintosh files, but
-       it could be added if there is any demand.
-     * In case you want to transfer a traditional Macintosh text file (or
-       data fork of a file that is plain text), you can use these
-       C-Kermit commands:
-
-set file eol cr
-set file character-set apple-quickdraw
-send /text filename
-
-     * File or pathnames that include spaces must be enclosed in either
-       doublequotes or curly braces in C-Kermit commands.
-     * Mac OS X has its own package format for applications, called
-       "fink". Various fink packages for C-Kermit are floating around
-       that are not standard releases. For example, there's a C-Kermit
-       8.0.201 package in which C-Kermit was modifed (at least) to use a
-       UUCP lockfile directory that does not exist on vanilla Mac OS X
-       systems.
-
-    Mac OS X and Serial Ports
-
-   Apple is in the forefront of companies that believe serial ports have
-   no use in the modern world and so has simply eliminated all traces of
-   them from its machines and OS. But of course serial ports are still
-   needed to connect not only to external modems, but also to the control
-   ports of hubs, routers, terminal servers, PBXs, and similar devices,
-   not to mention barcode readers, POS systems and components, automated
-   factory-floor equipment, and scientific, medical, and lab equipment
-   (to name a few). Among workers in these areas, there is a need to add
-   serial ports back onto this platform, which is being filled by
-   third-party products such as the [526]Keyspan USB Serial Adapter. To
-   use the Keyspan device, you must install the accompanying device
-   drivers, which wind up giving you serial ports with names like
-   /dev/cu.USA19H3b1P1.1.
-
-   To configure your Mac OS X system to allow C-Kermit to use these (or
-   any other) serial devices:
-
-    1. su
-       chgrp xxxx /var/spool/lock
-       chmod g+w /var/spool/lock
-       chgrp xxxx /dev/cu.*
-       (where xxxx is the name of the group for users to whom serial-port
-       access is to be granted). Use "admin" or other existing group, or
-       create a new group if desired. NB:
-
-     In the absence of official guidance from Apple or anyone else, we
-     choose /var/spool/lock as the lockfile directory because this
-     directory (a) already exists on vanilla Mac OS X installations, and
-     (b) it is the directory used for serial-port lockfiles on many
-     other platforms. 
-    2. Put all users who need access to the serial port in the same
-       group.
-    3. Make sure the serial device files that are to be used by C-Kermit
-       have group read-write permission and (if you care) lack world
-       read-write permission, e.g.:
-       chmod g+rw,o-rw /dev/cu.*
-
-   If you do the above, then there's no need to become root to use
-   Kermit, or to make Kermit suid or sgid. Just do this:
-
-chmod 775 wermit
-mv wermit /usr/local/bin/kermit
-
-   (or whatever spot is more appropriate). For greater detail about
-   installation (man page, etc), [527]CLICK HERE.
-
-   Back when Macs had serial ports, they were not RS-232 (the standard
-   for connecting computers with nearby modems) but rather RS-422 or -423
-   (a standard for connecting serial devices over longer distances).
-   Macintosh serial ports do not support modems well because they do not
-   have enough wires (or more properly in the case RS-422/423, wire
-   pairs) to convey a useful subset of modem signals. The Keyspan USB
-   adapter gives you two Mini-Din8 RS-422 ports, that are no better (or
-   worse) for communicating with modems or serial devices than a real Mac
-   Din-8 port was. In essense, you get Data In, Data Out, and two modem
-   signals. It looks to me as if the signals chosen by Keyspan are RTS
-   and CTS. This gives you hardware flow control, but at the expense of
-   Carrier Detect. Thus to use C-Kermit with a Keyspan USB serial port,
-   you must tell C-Kermit to:
-
-set modem type none                ; (don't expect a modem)
-set carrier-watch off              ; (ignore carrier signal)
-set port /dev/cu.USA19H3b1P1.1     ; (open the port)
-set flow rts/cts                   ; (this is the default)
-set speed 57600                    ; (or whatever)
-connect                            ; (or whatever)
-
-   Use Ctrl-\C in the normal manner to escape back to the C-Kermit>
-   prompt. Kermit can't pop back to its prompt automatically when Carrier
-   drops because there is no Carrier signal.
-
-         Instructions for the built-in modem remain to be written.
-
-   Links:
-     * [528]Unix tips for Mac OS X (Jerry Stratton)
-    ________________________________________________________________________
-
-  3.20. C-KERMIT AND COHERENT
-
-   [ [529]Top ] [ [530]Contents ] [ [531]Section Contents ] [
-   [532]Previous ]
-
-   Also see:
-
-     [533]http://www.uni-giessen.de/faq/archiv/coherent-faq.general/msg00
-   000.html
-
-   Mark Williams COHERENT was perhaps the first commercial Unix-based
-   operating system for PCs, first appearing about 1983 or -84 for the
-   PC/XT (?), and popular until about 1993, when Linux took over.
-   C-Kermit, as of version 8.0, is still current for COHERENT 386 4.2
-   (i.e. only for i386 and above). Curses is included, but lots of other
-   features are omitted due to lack of the appropriate OS features, APIs,
-   libraries, hardware, or just space: e.g. TCP/IP, floating-point
-   arithmetic, learned scripts. Earlier versions of COHERENT ran on 8086
-   and 80286, but these are to small to build or run C-Kermit, but
-   G-Kermit should be OK (as might be ancient versions of C-Kermit).
-
-   You can actually build a version with floating point support -- just
-   take -DNOFLOAT out of CFLAGS and add -lm to LIBS; NOFLOAT is the
-   default because COHERENT tends to run on old PCs that don't have
-   floating-point hardware. You can also add "-f" to CFLAGS to have it
-   link in the floating-point emulation library. Also I'm not sure why
-   -DNOLEARN is included, since it depends on select(), which COHERENT
-   has.
-    ________________________________________________________________________
-
-  4. GENERAL UNIX-SPECIFIC HINTS, LIMITATIONS, AND BUGS
-
-   [ [534]Top ] [ [535]Contents ] [ [536]Next ] [ [537]Previous ]
-
-  4.1. Modem Signals
-
-   There seems to be an escalating demand for the ability to control
-   "dumb serial devices" (such as "smartcard readers", barcode readers,
-   etc) by explicitly manipulating modem signals, particularly RTS. This
-   might have been easy to do in DOS, where there is no operating system
-   standing between the application and the serial device, but it is
-   problematic in Unix, where modem signals are controlled by the serial
-   device driver. If the driver does not provide an API for doing this,
-   then the application can't do it. If it does provide an API, expect it
-   to be totally different on each Unix platform, since there is no
-   standard for this.
-
-  4.2. NFS Troubles
-
-   Beginning with C-Kermit 6.0, the default C-Kermit prompt includes your
-   current (working) directory; for example:
-
-  [/usr/olga] C-Kermit>
-
-   (In C-Kermit 7.0 the square braces were replaced by round parentheses
-   to avoid conflicts with ISO 646 national character sets.)
-
-   If that directory is on an NFS-mounted disk, and NFS stops working or
-   the disk becomes unavailable, C-Kermit will hang waiting for NFS
-   and/or the disk to come back. Whether you can interrupt C-Kermit when
-   it is hung this way depends on the specific OS. Kermit has called the
-   operating systems's getcwd() function, and is waiting for it to
-   return. Some versions of Unix (e.g. HP-UX 9.x) allow this function to
-   be interrupted with SIGINT (Ctrl-C), others (such as HP-UX 8.x) do
-   not. To avoid this effect, you can always use SET PROMPT to change
-   your prompt to something that does not involve calling getcwd(), but
-   if NFS is not responding, C-Kermit will still hang any time you give a
-   command that refers to an NFS-mounted directory. Also note that in
-   some cases, the uninterruptibility of NFS-dependent system or library
-   calls is considered a bug, and sometimes there are patches. For HP-UX,
-   for example:
-
-                                                        replaced by:
-  HP-UX 10.20     libc    PHCO_8764                     PHCO_14891/PHCO_16723
-  HP-UX 10.10     libc    PHCO_8763                     PHCO_14254/PHCO_16722
-  HP-UX 9.x       libc    PHCO_7747       S700          PHCO_13095
-  HP-UX 9.x       libc    PHCO_6779       S800          PHCO_11162
-
-  4.3. C-Kermit as Login Shell
-
-   You might have reason to make C-Kermit the login shell for a specific
-   user, by entering the pathname of Kermit (possibly with command-line
-   switches, such as -x to put it in server mode) into the shell field of
-   the /etc/passwd file. This works pretty well. In some cases, for
-   "ultimate security", you might want to use a version built with
-   -DNOPUSH (see the [538]Configurations Options document for this, but
-   even if you don't, then PUSHing or shelling out from C-Kermit just
-   brings up a new copy of C-Kermit (but warning: this does not prevent
-   the user from explicitly running a shell; e.g. "run /bin/sh"; use
-   NOPUSH to prevent this).
-
-  4.4. C-Kermit versus screen and splitvt
-
-   C-Kermit file transfers will probably not work if attemped through the
-   "splitvt" or GNU "screen" programs because the screen optimization (or
-   at least, line wrapping, control-character absorption) done by this
-   package interferes with Kermit's packets.
-
-   The same can apply to any other environment in which the user's
-   session is captured, monitored, recorded, or manipulated. Examples
-   include the 'script' program (for making a typescript of a session),
-   the Computronics PEEK package and pksh (at least versions of it prior
-   to 1.9K), and so on.
-
-   You might try the following -- what we call "doomsday Kermit" --
-   settings to push packets through even the densest and most obstructive
-   connections, such as "screen" and "splitvt" (and certain kinds of 3270
-   protocol emulators): Give these commands to BOTH Kermit programs:
-
-  SET FLOW NONE
-  SET CONTROL PREFIX ALL
-  SET RECEIVE PACKET-LENGTH 70
-  SET RECEIVE START 62
-  SET SEND START 62
-  SET SEND PAUSE 100
-  SET BLOCK B
-
-   If it works, it will be slow.
-
-  4.5. C-Kermit versus DOS Emulators
-
-   On Unix workstations equipped with DOS emulators like SoftPC, watch
-   out for what these emulators do to the serial port drivers. After
-   using a DOS emulator, particularly if you use it to run DOS
-   communications software, you might have to reconfigure the serial
-   ports for use by Unix.
-
-  4.6. C-Kermit versus Job Control
-
-   Interruption by Ctrl-Z makes Unix C-Kermit try to suspend itself with
-   kill(0,SIGTSTP), but only on platforms that support job control, as
-   determined by whether the symbol SIGTSTP is defined (or on POSIX or
-   SVR4 systems, if syconf(_SC_JOB_CONTROL) or _POSIX_JOB_CONTROL in
-   addition to SIGTSTP). However, if Kermit is running under a login
-   shell (such as the original Bourne shell) that does not support job
-   control, the user's session hangs and must be logged out from another
-   terminal, or hung up on. There is no way Kermit can defend itself
-   against this. If you use a non-job control shell on a computer that
-   supports job control, give a command like "stty susp undef" to fix it
-   so the suspend signal is not attached to any particular key, or give
-   the command SET SUSPEND OFF to C-Kermit, or build C-Kermit with
-   -DNOJC.
-
-  4.7. Dates and Times
-
-   Unix time conversion functions typically apply locale rules to return
-   local time in terms of any seasonal time zone change in effect for the
-   given date. The diffdate function assumes that the same timezone rules
-   are in effect for both dates, but a date with timezone information
-   will be converted to the local time zone in effect at the given time,
-   e.g., a GMT specification will produce either a Standard Time or
-   Daylight Savings Time, depending on which applies at the given time.
-   An example using the 2001 seasonal change from EDT (-0400) to EST
-   (-0500):
-
-  C-Kermit> DATE 20011028 05:01:02 GMT  ; EDT
-  20011028 01:01:02
-  C-Kermit> DATE 20011028 06:01:02 GMT  ; EST
-  20011028 01:01:02
-  C-Kermit>
-
-   but the implicit change in timezone offset is not recognized:
-
-  C-Kermit> echo \fdiffdate(20011028 05:01:02 GMT, 20011028 06:01:02 GMT)
-  +0:00
-  C-Kermit>
-
-   Date/time arithmetic, offsets, delta times, and timezone support are
-   new to C-Kermit 8.0, and might be expected to evolve and improve in
-   subsequent releases.
-
-   On some platforms, files downloaded with HTTP receive the current
-   timestamp, rather than the HTTP "Last Modified" time (this can be
-   fixed by including utime.h, e.g. in SunOS and Tru64...).
-
-  4.8. Pseudoterminals
-
-   The SSH and PTY commands work by assigning a pseudoterminal and
-   reading and writing from it. Performance varies according to the
-   specific platform ranging from very fast to very flow.
-
-   SSH and PTY commands can fail if (a) all pseudoterminals are in use;
-   or (b) you do not have read/write access to the pseudoterminal that
-   was assigned. An example of (b) was reported with the Zipslack
-   Slackware Linux distribution, in which the pseudoterminals were
-   created with crw-r--r-- permission, instead of crw-rw-rw-.
-
-  4.9. Miscellaneous
-
-     * Reportedly, the Unix C-Kermit server, under some conditions, on
-       certain particular systems, fails to log out its login session
-       upon receipt of a BYE command. Before relying on the BYE command
-       working, test it a few times to make sure it works on your system:
-       there might be system configuration or security mechanisms to
-       prevent an inferior process (like Kermit) from killing a superior
-       one (like the login shell).
-     * On AT&T 7300 (3B1) machines, you might have to "stty nl1" before
-       starting C-Kermit. Do this if characters are lost during
-       communications operations.
-     * Under the bash shell (versions prior to 1.07 from CWRU), "pushing"
-       to an inferior shell and then exiting back to Kermit leaves Kermit
-       in the background such that it must be explicitly fg'd. This is
-       reportedly fixed in version 1.07 of bash (and definitely in modern
-       bash versions).
-    ________________________________________________________________________
-
-  5. INITIALIZATION AND COMMAND FILES
-
-   [ [539]Top ] [ [540]Contents ] [ [541]Next ] [ [542]Previous ]
-
-   C-Kermit's initialization file for Unix is .kermrc (lowercase, starts
-   with period) in your home directory, unless Kermit was built with the
-   system-wide initialization-file option (see the [543]C-Kermit for Unix
-   Installation Instructions).
-
-   C-Kermit identifies your home directory based on the environment
-   variable, HOME. Most Unix systems set this variable automatically when
-   you log in. If C-Kermit can't find your initialization file, check
-   your HOME variable:
-
-  echo $HOME      (at the Unix prompt)
-
-   or:
-
-  echo \$(HOME)   (at the C-Kermit prompt)
-
-   If HOME is not defined, or is defined incorrectly, add the appropriate
-   definition to your Unix .profile or .login file, depending on your
-   shell:
-
-  setenv HOME full-pathname-of-your-home-directory  (C-Shell, .login file)
-
-   or:
-
-  HOME=full-pathname-of-your-home-directory         (sh, ksh, .profile file)
-  export HOME
-
-   NOTE: Various other operations depend on the correct definition of
-   HOME. These include the "tilde-expansion" feature, which allows you to
-   refer to your home directory as "~" in filenames used in C-Kermit
-   commands, e.g.:
-
-  send ~/.kermrc
-
-   as well as the \v(home) variable.
-
-   Prior to version 5A(190), C-Kermit would look for its initialization
-   file in the current directory if it was not found in the home
-   directory. This feature was removed from 5A(190) because it was a
-   security risk. Some people, however, liked this behavior and had
-   .kermrc files in all their directories that would set up things
-   appropriately for the files therein. If you want this behavior, you
-   can accomplish it in various ways, for example:
-
-     * Create a shell alias, for example:
-  alias kd="kermit -Y ./.kermrc"
-     * Create a .kermrc file in your home directory, whose contents are:
-  take ./.kermrc
-
-   Suppose you need to pass a password from the Unix command line to a
-   C-Kermit script program, in such a way that it does not show up in
-   "ps" or "w" listings. Here is a method (not guaranteed to be 100%
-   secure, but definitely more secure than the more obvious methods):
-
-  echo mypassword | kermit myscript
-
-   The "myscript" file contains all the commands that need to be executed
-   during the Kermit session, up to and including EXIT, and also includes
-   an ASK or ASKQ command to read the password from standard input, which
-   has been piped in from the Unix 'echo' command, but it must not
-   include a CONNECT command. Only "kermit myscript" shows up in the ps
-   listing.
-    ________________________________________________________________________
-
-  6. COMMUNICATION SPEED SELECTION
-
-   [ [544]Top ] [ [545]Contents ] [ [546]Next ] [ [547]Previous ]
-
-   Version-7 based Unix implementations, including 4.3 BSD and earlier
-   and Unix systems based upon BSD, use a 4-bit field to record a serial
-   device's terminal speed. This leaves room for 16 speeds, of which the
-   first 14 are normally:
-
-     0, 50, 75, 110, 134.5, 150, 200, 300, 600, 1200, 1800, 2400, 4800,
-     and 9600
-
-   The remaining two are usually called EXTA and EXTB, and are defined by
-   the particular Unix implementation. C-Kermit determines which speeds
-   are available on your system based on whether symbols for them are
-   defined in your terminal device header files. EXTA is generally
-   assumed to be 19200 and EXTB 38400, but these assumptions might be
-   wrong, or they might not apply to a particular device that does not
-   support these speeds. Presumably, if you try to set a speed that is
-   not legal on a particular device, the driver will return an error, but
-   this can not be guaranteed.
-
-   On these systems, it is usually not possible to select a speed of
-   14400 bps for use with V.32bis modems. In that case, use 19200 or
-   38400 bps, configure your modem to lock its interface speed and to use
-   RTS/CTS flow control, and tell C-Kermit to SET FLOW RTS/CTS and SET
-   DIAL SPEED-MATCHING OFF.
-
-   The situation is similar, but different, in System V. SVID Third
-   Edition lists the same speeds, 0 through 38400.
-
-   Some versions of Unix, and/or terminal device drivers that come with
-   certain third-party add-in high-speed serial communication interfaces,
-   use the low "baud rates" to stand for higher ones. For example, SET
-   SPEED 50 gets you 57600 bps; SET SPEED 75 gets you 76800; SET SPEED
-   110 gets 115200.
-
-   SCO ODT 3.0 is an example where a "baud-rate-table patch" can be
-   applied that can rotate the tty driver baud rate table such that
-   600=57600 and 1800=115k baud. Similarly for Digiboard
-   multiport/portservers, which have a "fastbaud" setting that does this.
-   Linux has a "setserial" command that can do it, etc.
-
-   More modern Unixes support POSIX-based speed setting, in which the
-   selection of speeds is not limited by a 4-bit field. C-Kermit 6.1
-   incorporates a new mechanism for finding out (at compile time) which
-   serial speeds are supported by the operating system that does not
-   involve editing of source code by hand; on systems like Solaris 5.1,
-   IRIX 6.2, and SCO OSR5.0.4, "set speed ?" will list speeds up to
-   460800 or 921600. In C-Kermit 7.0 and later:
-
-    1. If a symbol for a particular speed (say B230400 for 230400 bps)
-       appears in whatever header file defines acceptable serial speeds
-       (e.g. <termbits.h> or <sys/termios.h> or <sys/ttydev.h>, etc), the
-       corresponding speed will appear in C-Kermit's "set speed ?" list.
-    2. The fact that a given speed is listed in the header files and
-       appears in C-Kermit's list does not mean the driver will accept
-       it. For example, a computer might have some standard serial ports
-       plus some add-on ones with different drivers that accept a
-       different repertoire of speeds.
-    3. The fact that a given speed is accepted by the driver does not
-       guarantee the underlying hardware can accept it.
-
-   When Kermit is given a "set speed" command for a particular device,
-   the underlying system service is called to set the speed; its return
-   code is checked and the SET SPEED command fails if the return code
-   indicates failure. Regardless of the system service return status, the
-   device's speed is then read back and if it does not match the speed
-   that was requested, an error message is printed and the command fails.
-
-   Even when the command succeeds, this does not guarantee successful
-   operation at a particular speed, especially a high one. That depends
-   on electricity, information theory, etc. How long is the cable, what
-   is its capacitance, how well is it shielded, etc, not to mention that
-   every connection has two ends and its success depends on both of them.
-   (With the obvious caveats about internal modems, is the cable really
-   connected, interrupt conflicts, etc etc etc).
-
-   Note, in particular, that there is a certain threshold above which
-   modems can not "autobaud" -- i.e. detect the serial interface speed
-   when you type AT (or whatever else the modem's recognition sequence
-   might be). Such modems need to be engaged at a lower speed (say 2400
-   or 9600 or even 115200 -- any speed below their autobaud threshold)
-   and then must be given a modem-specific command (which can be found in
-   the modem manual) to change their interface speed to the desired
-   higher speed, and then the software must also be told to change to the
-   new, higher speed.
-
-   For additional information, read [548]Section 9.5 of the Installation
-   Instructions, plus any platform-specific notes in [549]Section 3
-   above.
-    ________________________________________________________________________
-
-  7. COMMUNICATIONS AND DIALING
-
-   [ [550]Top ] [ [551]Contents ] [ [552]Next ] [ [553]Previous ]
-
-  7.1. Serial Ports and Modems
-
-   If you SET LINE to a serial port modem-control device that has nothing
-   plugged in to it, or has a modem connected that is powered off, and
-   you have not given a prior SET MODEM TYPE or SET CARRIER-WATCH OFF
-   command, the SET LINE command is likely to hang. In most cases, you
-   can Ctrl-C out. If not, you'll have to kill C-Kermit from another
-   terminal.
-
-   Similarly, if you give a SET MODEM TYPE HAYES (or USR, or any other
-   modem type besides DIRECT, NONE, or UNKNOWN) and then SET LINE to an
-   empty port, the subsequent close (implicit or explicit) is liable to
-   hang or even crash (through no fault of Kermit's -- the hanging or
-   crashing is inside a system call such as cfsetospeed() or close()).
-
-   The SET CARRIER-WATCH command works as advertised only if the
-   underlying operating system and device drivers support this feature;
-   in particular only if a read() operation returns immediately with an
-   error code if the carrier signal goes away or, failing that, if
-   C-Kermit can obtain the modem signals from the device driver (you can
-   tell by giving a "set line" command to a serial device, and then a
-   "show communications" command -- if modem signals are not listed,
-   C-Kermit won't be able to detect carrier loss, the WAIT command will
-   not work, etc). Of course, the device itself (e.g. modem) must be
-   configured appropriately and the cables convey the carrier and other
-   needed signals, etc.
-
-   If you dial out from Unix system, but then notice a lot of weird
-   character strings being stuck into your session at random times
-   (especially if they look like +++ATQ0H0 or login banners or prompts),
-   that means that getty is also trying to control the same device.
-   You'll need to dial out on a device that is not waiting for a login,
-   or else disable getty on the device.
-
-   As of version 7.0, C-Kermit makes explicit checks for the Carrier
-   Detect signal, and so catches hung-up connections much better than 6.0
-   and earlier. However, it still can not be guaranteed to catch every
-   ever CD on-to-off transition. For example, when the HP-UX version of
-   C-Kermit is in CONNECT mode on a dialed connection and CARRIER-WATCH
-   ON or AUTO, and you turn off the modem, HP-UX is stuck in a read()
-   that never returns. (C-Kermit does not pop back to its prompt
-   automatically, but you can still escape back.)
-
-   If, on the other hand, you log out from the remote system, and it
-   hangs up, and CD drops on the local modem, C-Kermit detects this and
-   pops back to the prompt as it should. (Evidently there can be a
-   difference between CD and DSR turning off at the same time, versus CD
-   turning off while DSR stays on; experimentation with &S0/&S1/&S2 on
-   your modem might produce the desired results).
-
-   When Unix C-Kermit exits, it closes (and must close) the
-   communications device. If you were dialed out, this will most likely
-   hang up the connection. If you want to get out of Kermit and still use
-   Kermit's communication device, you have several choices:
-
-    1. Shell out from Kermit or suspend Kermit, and refer to the device
-       literally (as in "term -blah -blah < /dev/cua > /dev/cua").
-    2. Shell out from Kermit and use the device's file descriptor which
-       Kermit makes available to you in the \v(ttyfd) variable.
-    3. Use C-Kermit's REDIRECT command.
-    4. Use C-Kermit new EXEC /REDIRECT command.
-
-   If you are having trouble dialing:
-
-    1. Make sure the dialout line is configured correctly. More about
-       this below.
-    2. Make sure all necessary patches are installed for your operating
-       system.
-    3. If you can't dial on a "bidirectional" line, then configure it for
-       outbound-only (remove the getty) and try again. (The mechanisms --
-       if any -- for grabbing bidirectional lines for dialout vary wildly
-       among Unix implementations and releases, and C-Kermit -- which
-       runs on well over 300 different Unix variations -- makes no effort
-       to keep up with them; the recommended method for coping with this
-       situation is to wrap C-Kermit in a shell script that takes the
-       appropriate actions.)
-    4. Make sure C-Kermit's SET DIAL and SET MODEM parameters agree with
-       the modem you are actually using -- pay particular attention to
-       SET DIAL SPEED-MATCHING.
-    5. If MODEM HANGUP-METHOD is set to RS232-SIGNAL, change it to
-       MODEM-COMMAND. Or vice-versa.
-    6. Try SET DIAL HANGUP OFF before the DIAL command. Also, SET DIAL
-       DISPLAY ON to watch what's happening. See [554]Section 8 of the
-       [555]Installation Instructions.
-    7. Read pages 50-67 of [556]Using C-Kermit.
-    8. As a last resort, don't use the DIAL command at all; SET CARRIER
-       OFF and CONNECT to the modem and dial interactively, or write a
-       script program to dial the modem.
-
-   Make sure your dialout line is correctly configured for dialing out
-   (as opposed to login). The method for doing this is different for each
-   kind of Unix system. Consult your system documentation for configuring
-   lines for dialing out (for example, Sun SparcStation IPC users should
-   read the section "Setting up Modem Software" in the Desktop SPARC Sun
-   System & Network Manager's Guide; HP-9000 workstation users should
-   consult the manual Configuring HP-UX for Peripherals, etc).
-
-   Symptom: DIAL works, but a subsequent CONNECT command does not.
-   Diagnosis: the modem is not asserting Carrier Detect (CD) after the
-   connection is made, or the cable does not convey the CD signal. Cure:
-   Reconfigure the modem, replace the cable. Workaround: SET CARRIER OFF
-   (at least in System-V based Unix versions).
-
-   For Berkeley-Unix-based systems (4.3BSD and earlier), Kermit includes
-   code to use LPASS8 mode when parity is none, which is supposed to
-   allow 8-bit data and Xon/Xoff flow control at the same time. However,
-   as of edit 174, this code is entirely disabled because it is
-   unreliable: even though the host operating system might (or might not)
-   support LPASS8 mode correctly, the host access protocols (terminal
-   servers, telnet, rlogin, etc) generally have no way of finding out
-   about it and therefore render it ineffective, causing file transfer
-   failures. So as of edit 174, Kermit once again uses rawmode for 8-bit
-   data, and so there is no Xon/Xoff flow control during file transfer or
-   terminal emulation in the Berkeley-based versions (4.3 and earlier,
-   not 4.4).
-
-   Also on Berkeley-based systems (4.3 and earlier), there is apparently
-   no way to configure a dialout line for proper carrier handling, i.e.
-   ignore carrier during dialing, require carrier thereafter, get a fatal
-   error on any attempt to read from the device after carrier drops (this
-   is handled nicely in System V by manipulation of the CLOCAL flag). The
-   symptom is that carrier loss does not make C-Kermit pop back to the
-   prompt automatically. This is evident on the NeXT, for example, but
-   not on SunOS, which supports the CLOCAL flag. This is not a Kermit
-   problem, but a limitation of the underlying operating system. For
-   example, the cu program on the NeXT doesn't notice carrier loss
-   either, whereas cu on the Sun does.
-
-   On certain AT&T Unix systems equipped with AT&T modems, DIAL and
-   HANGUP don't work right. Workarounds: (1) SET DIAL HANGUP OFF before
-   attempting to dial; (2) If HANGUP doesn't work, SET LINE, and then SET
-   LINE <device> to totally close and reopen the device. If all else
-   fails, SET CARRIER OFF.
-
-   C-Kermit does not contain any particular support for AT&T DataKit
-   devices. You can use Kermit software to dial in to a DataKit line, but
-   C-Kermit does not contain the specialized code required to dial out
-   from a DataKit line. If the Unix system is connected to DataKit via
-   serial ports, dialout should work normally (e.g. set line /dev/ttym1,
-   set speed 19200, connect, and then see the DESTINATION: prompt, from
-   which you can connect to another computer on the DataKit network or to
-   an outgoing modem pool, etc). But if the Unix system is connected to
-   the DataKit network through the special DataKit interface board, then
-   SET LINE to a DataKit pseudodevice (such as /dev/dk031t) will not work
-   (you must use the DataKit "dk" or "dkcu" program instead). In C-Kermit
-   7.0 and later, you can make Kermit connections "though" dk or dkcu
-   using "set line /pty".
-
-   In some BSD-based Unix C-Kermit versions, SET LINE to a port that has
-   nothing plugged in to it with SET CARRIER ON will hang the program (as
-   it should), but it can't be interrupted with Ctrl-C. The interrupt
-   trap is correctly armed, but apparently the Unix open() call cannot be
-   interrupted in this case. When SET CARRIER is OFF or AUTO, the SET
-   LINE will eventually return, but then the program hangs
-   (uninterruptibly) when the EXIT or QUIT command (or, presumably,
-   another SET LINE command) is given. The latter is probably because of
-   the attempt to hang up the modem. (In edit 169, a timeout alarm was
-   placed around this operation.)
-
-   With SET DIAL HANGUP OFF in effect, the DIAL command might work only
-   once, but not again on the same device. In that case, give a CLOSE
-   command to close the device, and then another SET LINE command to
-   re-open the same device. Or rebuild your version of Kermit with the
-   -DCLSOPN compile-time switch.
-
-   The DIAL command says "To cancel: Type your interrupt character
-   (normally Ctrl-C)." This is just one example of where program messages
-   and documentation assume your interrupt character is Ctrl-C. But it
-   might be something else. In most (but not necessarily all) cases, the
-   character referred to is the one that generates the SIGINT signal. If
-   Ctrl-C doesn't act as an interrupt character for you, type the Unix
-   command "stty -a" or "stty all" or "stty everything" to see what your
-   interrupt character is. (Kermit could be made to find out what the
-   interrupt character is, but this would require a lot of
-   platform-dependent coding and #ifdefs, and a new routine and interface
-   between the platform-dependent and platform-independent parts of the
-   program.)
-
-   In general, the hangup operation on a serial communication device is
-   prone to failure. C-Kermit tries to support many, many different kinds
-   of computers, and there seems to be no portable method for hanging up
-   a modem connection (i.e. turning off the RS-232 DTR signal and then
-   turning it back on again). If HANGUP, DIAL, and/or Ctrl-\H do not work
-   for you, and you are a programmer, look at the tthang() function in
-   ckutio.c and see if you can add code to make it work correctly for
-   your system, and send the code to the address above. (NOTE: This
-   problem has been largely sidestepped as of edit 188, in which Kermit
-   first attempts to hang up the modem by "escaping back" via +++ and
-   then giving the modem's hangup command, e.g. ATH0, when DIAL
-   MODEM-HANGUP is ON, which is the default setting.)
-
-   Even when Kermit's modem-control software is configured correctly for
-   your computer, it can only work right if your modem is also configured
-   to assert the CD signal when it is connected to the remote modem and
-   to hang up the connection when your computer drops the DTR signal. So
-   before deciding Kermit doesn't work with your modem, check your modem
-   configuration AND the cable (if any) connecting your modem to the
-   computer -- it should be a straight-through modem cable conducting the
-   signals FG, SG, TD, RD, RTS, CTS, DSR, DTR, CD, and RI.
-
-   Many Unix systems keep aliases for dialout devices; for example,
-   /dev/acu might be an alias for /dev/tty00. But most of these Unix
-   systems also use UUCP lockfile conventions that do not take this
-   aliasing into account, so if one user assigns (e.g.) /dev/acu, then
-   another user can still assign the same device by referring to its
-   other name. This is not a Kermit problem -- Kermit must follow the
-   lockfile conventions used by the vendor-supplied software (cu, tip,
-   uucp).
-
-   The SET FLOW-CONTROL KEEP option should be given *before* any
-   communication (dialing, terminal emulation, file transfer,
-   INPUT/OUTPUT/TRANSMIT, etc) is attempted, if you want C-Kermit to use
-   all of the device's preexisting flow-control related settings. The
-   default flow-control setting is XON/XOFF, and it will take effect when
-   the first communication-related command is given, and a subsequent SET
-   FLOW KEEP command will not necessarily know how to restore *all* of
-   the device's original flow-control settings.
-
-  7.2. Network Connections
-
-   C-Kermit tries to use the 8th bit for data when parity is NONE, and
-   this generally works on real Unix terminal (tty) devices, but it often
-   does not work when the Unix system is accessed over a network via
-   telnet or rlogin protocols, including (in many cases) through terminal
-   servers. For example, an Encore computer with Annex terminal servers
-   only gives a 7-bit path if the rlogin protocol is selected in the
-   terminal server but it gives the full 8 bits if the proprietary RDP
-   protocol is used.
-
-   If file transfer does not work through a host to which you have
-   rlogin'd, use "rlogin -8" rather than "rlogin". If that doesn't work,
-   tell both Kermit programs to "set parity space".
-
-   The Encore TELNET server does not allow long bursts of input. When you
-   have a TELNET connection to an Encore, tell C-Kermit on the Encore to
-   SET RECEIVE PACKET-LENGTH 200 or thereabouts.
-    ________________________________________________________________________
-
-  8. HARDWARE FLOW CONTROL
-
-   [ [557]Top ] [ [558]Contents ] [ [559]Next ] [ [560]Previous ]
-
-   SET FLOW RTS/CTS is available in Unix C-Kermit only when the
-   underlying operating system provides an Application Program Interface
-   (API) for turning this feature on and off under program control, which
-   turns out to be a rather rare feature among Unix systems. To see if
-   your Unix C-Kermit version supports hardware flow control, type "set
-   flow ?" at the C-Kermit prompt, and look for "rts/cts" among the
-   options. Other common situations include:
-
-    1. The API is available, so "set flow rts/cts" appears as a valid
-       C-Kermit command, but it doesn't do anything because the device
-       driver (part of the operating system) was never coded to do
-       hardware flow control. This is common among System V R4
-       implementations (details below).
-    2. The API is not available, so "set flow rts/cts" does NOT appear as
-       a valid C-Kermit command, but you can still get RTS/CTS flow
-       control by selecting a specially named device in your SET LINE
-       command. Examples:
-          + NeXTSTEP: /dev/cufa instead of /dev/cua, /dev/cufb instead of
-            /dev/cub (68040 only; "man zs" for further info).
-          + IRIX: /dev/ttyf2 instead of /dev/ttyd2 or /dev/ttym2 ("man 7
-            serial").
-    3. The API is available, doesn't work, but a workaround as in (2) can
-       be used.
-    4. The API is available, but Kermit doesn't know about it. In these
-       cases, you can usually use an stty command to enable RTS/CTS on
-       the device, e.g. "stty crtscts" or "stty ctsflow", "stty rtsflow",
-       before starting Kermit, and then tell Kermit to SET FLOW KEEP.
-    5. No API and no special device drivers. Hardware flow control is
-       completely unavailable.
-
-   System V R4 based Unixes are supposed to supply a <termiox.h> file,
-   which gives Kermit the necessary interface to command the terminal
-   driver to enable/disable hardware flow control. Unfortunately, but
-   predictably, many implementations of SVR4 whimsically place this file
-   in /usr/include/sys rather than /usr/include (where SVID clearly
-   specifies it should be; see SVID, Third Edition, V1, termiox(BA_DEV).
-   Thus if you build C-Kermit with any of the makefile entries that
-   contain -DTERMIOX or -DSTERMIOX (the latter to select
-   <sys/termiox.h>), C-Kermit will have "set flow rts/cts" and possibly
-   other hardware flow-control related commands. BUT... That does not
-   necessarily mean that they will work. In some cases, the underlying
-   functions are simply not coded into the operating system.
-
-   WARNING: When hardware flow control is available, and you enable in
-   Kermit on a device that is not receiving the CTS signal, Kermit can
-   hang waiting for CTS to come up. This is most easily seen when the
-   local serial port has nothing plugged in to it, or is connected to an
-   external modem that is powered off.
-    ________________________________________________________________________
-
-  9. TERMINAL CONNECTION AND KEY MAPPING
-
-   [ [561]Top ] [ [562]Contents ] [ [563]Next ] [ [564]Previous ]
-
-   C-Kermit is not a terminal emulator. Refer to page 147 of [565]Using
-   C-Kermit, 2nd Edition: "Most versions of C-Kermit -- Unix, VMS,
-   AOS/VS, VOS, etc -- provide terminal connection without emulation.
-   These versions act as a 'semitransparent pipe' between the remote
-   computer and your terminal, terminal emulator, console driver, or
-   window, which in turn emulates (or is) a specific kind of terminal."
-   The environment in which you run C-Kermit is up to you.
-
-   If you are an X Windows user, you should be aware of an alternative to
-   xterm that supports VT220 emulation, from Thomas E. Dickey:
-
-  [566]http://dickey.his.com/xterm/xterm.html
-
-   Unix C-Kermit's SET KEY command currently can not be used with keys
-   that generate "wide" scan codes or multibyte sequences, such as
-   workstation function or arrow keys, because Unix C-Kermit does not
-   have direct access to the keyboard.
-
-   However, many Unix workstations and/or console drivers provide their
-   own key mapping feature. With xterm, for example, you can use
-   'xmodmap' ("man xmodmap" for details); here is an xterm mapping to map
-   the Sun keyboard to DEC VT200 values for use with VT-terminal oriented
-   applications like VMS EVE:
-
-  keycode 101=KP_0
-  keycode 119=KP_1
-  keycode 120=KP_2
-  keycode 121=KP_3
-  keycode 98=KP_4
-  keycode 99=KP_5
-  keycode 100=KP_6
-  keycode 75=KP_7
-  keycode 76=KP_8
-  keycode 77=KP_9
-  keycode 52=KP_F1
-  keycode 53=KP_F2
-  keycode 54=KP_F3
-  keycode 57=KP_Decimal
-  keycode 28=Left
-  keycode 29=Right
-  keycode 30=KP_Separator
-  keycode 105=KP_F4
-  keycode 78=KP_Subtract
-  keycode 8=Left
-  keycode 10=Right
-  keycode 32=Up
-  keycode 33=Down
-  keycode 97=KP_Enter
-
-   Users of Linux consoles can use loadkeys ("man dumpkeys loadkeys
-   keytables" for details. The format used by loadkeys is compatible with
-   that used by Xmodmap, although it is not definitely certain that the
-   keycodes are compatible for different keyboard types (e.g. Sun vs HP
-   vs PC, etc).
-    ________________________________________________________________________
-
-  10. FILE TRANSFER
-
-   [ [567]Top ] [ [568]Contents ] [ [569]Next ] [ [570]Previous ]
-
-   If uploads (or downloads) fail immediately, give the CAUTIOUS command
-   to Kermit and try again. If they still fail, then try SET PREFIXING
-   ALL. If they still fail, try SET PARITY SPACE. If they still fail, try
-   ROBUST.
-
-   If reception (particularly of large files and/or binary files) begins
-   successfully but then fail constently after a certain amount of bytes
-   have been sent, check:
-
-     * Your ulimit ("ulimit -a")
-     * The amount of available space on the target disk ("df ." or "df -k
-       .")
-     * Your personal disk quota (platform- and site-dependent)
-     * The maximum file size on the receiver's file system (e.g. 2GB in
-       old verions the Linux VFS file system, and/or in applications that
-       have not been recoded to use new "large file" APIs).
-     * If it's an NFS-mounted disk (if so, try uploading to a local disk)
-     * Is there an "idle limit" on the receiving end?
-
-   If none of these seem to explain it, then the problem is not size
-   related, but reflects some clash between the file contents and the
-   characteristics of the connection, in which case follow the
-   instructions in the first paragraph of this section.
-
-   Suppose two copies of Kermit are receiving files into the same
-   directory, and the files have the same name, e.g. "foo.bar". Whichever
-   one starts first opens an output file called "foo.bar". The second one
-   sees there is already a foo.bar file, and so renames the existing
-   foo.bar to foo.bar.~1~ (or whatever). When the first file has been
-   received completely, Kermit goes to change its modification time and
-   permissions to those given by the file sender in the Attribute packet.
-   But in Unix, the APIs for doing this take a filename, not a file
-   descriptor. Since the first Kermit's file has been renamed, and the
-   second Kermit is using the original name, the first Kermit changes the
-   modtime and permissions of the second Kermit's file, not its own.
-   Although there might be a way to work around this in the code, e.g.
-   using inode numbers to keep track of which file is which, this would
-   be tricky and most likely not very portable. It's better to set up
-   your application to prevent such things from happening, which is easy
-   enough using the script language, filename templates, etc.
-
-   Suppose you start C-Kermit with a command-line argument to send or
-   receive a file (e.g. "kermit -r") and then type Ctrl-\c immediately
-   afterwards to escape back and initiate the other end of the transfer,
-   BUT your local Kermit's escape character is not Ctrl-\. In this case,
-   the local Kermit passes the Ctrl-\ to the remote system, and if this
-   is Unix, Ctrl-\ is likely to be its SIGQUIT character, which causes
-   the current program to halt and dump core. Well, just about the first
-   thing C-Kermit does when it starts is to disable the SIGQUIT signal.
-   However, it is still possible for SIGQUIT to cause Kermit to quit and
-   dump core if it is delivered while Kermit is being loaded or started,
-   before the signal can be disabled. There's nothing Kermit itself can
-   do about this, but you can prevent it from happening by disabling
-   SIGQUIT in your Unix session. The command is usually something like:
-
-  stty quit undef
-
-   Unix C-Kermit does not reject incoming files on the basis of size.
-   There appears to be no good (reliable, portable) way to determine in
-   advance how much disk space is available, either on the device, or
-   (when quotas or other limits are involved) to the user.
-
-   Unix C-Kermit discards all carriage returns from incoming files when
-   in text mode.
-
-   If C-Kermit has problems creating files in writable directories when
-   it is installed setuid or setgid on BSD-based versions of Unix such as
-   NeXTSTEP 3.0, it probably needs to be rebuilt with the -DSW_ACC_ID
-   compilation switch.
-
-   If you SET FILE DISPLAY FULLSCREEN, and C-Kermit complains "Sorry,
-   terminal type not supported", it means that the terminal library
-   (termcap or termlib) that C-Kermit was built with does not know about
-   a terminal whose name is the current value of your TERM environment
-   variable. If this happens, but you want to have the fullscreen file
-   transfer display, EXIT from C-Kermit and set a Unix terminal type from
-   among the supported values that is also supported by your terminal
-   emulator, or else have an entry for your terminal type added to the
-   system termcap and/or terminfo database.
-
-   If you attempt to suspend C-Kermit during local-mode file transfer and
-   then continue it in the background (via bg), it will block for "tty
-   output" if you are using the FULLSCREEN file transfer display. This is
-   apparently a problem with curses. Moving a local-mode file transfer
-   back and forth between foreground and background works correctly,
-   however, with the SERIAL, CRT, BRIEF, or NONE file transfer displays.
-
-   If C-Kermit's command parser no longer echoes, or otherwise acts
-   strangely, after returning from a file transfer with the fullscreen
-   (curses) display, and the curses library for your version of Unix
-   includes the newterm() function, then try rebuilding your version of
-   C-Kermit with -DCK_NEWTERM. Similarly if it echoes doubly, which might
-   even happen during a subsequent CONNECT session. If rebuilding with
-   -DCK_NEWTERM doesn't fix it, then there is something very strange
-   about your system's curses library, and you should probably not use
-   it. Tell C-Kermit to SET FILE DISPLAY CRT, BRIEF, or anything else
-   other than FULLSCREEN, and/or rebuild without -DCK_CURSES, and without
-   linking with (termlib and) curses. Note: This problem seemed to have
-   escalated in C-Kermit 7.0, and -DCK_NEWTERM had to be added to many
-   builds that previously worked without it: Linux, AIX 4.1, DG/UX, etc.
-   In the Linux case, it is obviously because of changes in the (n)curses
-   library; the cause in the other cases is not known.
-
-   C-Kermit creates backup-file names (such as "oofa.txt.~1~") based on
-   its knowledge of the maximum filename length on the platform where it
-   is running, which is learned at compile time, based on MAXNAMLEN or
-   equivalent symbols from the system header files. But suppose C-Kermit
-   is receiving files on a Unix platform that supports long filenames,
-   but the incoming files are being stored on an NFS-mounted file system
-   that supports only short names. NFS maps the external system to the
-   local APIs, so C-Kermit has no way of knowing that long names will be
-   truncated. Or that C-Kermit is running on a version of Unix that
-   supports both long-name and short-name file systems simultaneously
-   (such as HP-UX 7.00). This can cause unexpected behavior when creating
-   backup files, or worse. For example, you are sending a group of files
-   whose names are differentiated only by characters past the point at
-   which they would be truncated, each file will overwrite the previous
-   one upon arrival.
-    ________________________________________________________________________
-
-  11. EXTERNAL FILE TRANSFER PROTOCOLS
-
-   [ [571]Top ] [ [572]Contents ] [ [573]Next ] [ [574]Previous ]
-
-   SECTION CONTENTS
-
-  11.1. [575]C-Kermit as an External Protocol
-  11.2. [576]Invoking External Protocols from C-Kermit
-
-   Unix C-Kermit can be used in conjunction with other communications
-   software in various ways. C-Kermit can be invoked from another
-   communications program as an "external protocol", and C-Kermit can
-   also invoke other communication software to perform external
-   protocols.
-
-   This sort of operation makes sense only when you are dialing out from
-   your Unix system (or making a network connection from it). If the Unix
-   system is the one you have dialed in to, you don't need any of these
-   tricks. Just run the desired software on your Unix system instead of
-   Kermit. When dialing out from a Unix system, the difficulty is getting
-   two programs to share the same communication device in spite of the
-   Unix UUCP lockfile mechanism, which would normally prevent any
-   sharing, and preventing the external protocol from closing (and
-   therefore hanging up) the device when it exits back to the program
-   that invoked it.
-
-  11.1. C-KERMIT AS AN EXTERNAL PROTOCOL
-
-   [ [577]Top ] [ [578]Contents ] [ [579]Section Contents ] [ [580]Next ]
-
-   (This section deleted; see [581]Using C-Kermit, 2nd Ed, Chapter 14.)
-
-   "pcomm" is a general-purpose terminal program that provides file
-   transfer capabilities itself (X- and YMODEM variations) and the
-   ability to call on external programs to do file transfers (ZMODEM and
-   Kermit, for example). You can tell pcomm the command to send or
-   receive a file with an external protocol:
-                        Send                            Receive  
-        ZMODEM          sz filename                     rz
-        Kermit          kermit -s filename              kermit -r
-
-   pcomm runs external programs for file transfer by making stdin and
-   stdout point to the modem port, and then exec-ing "/bin/sh -c xxx"
-   (where xxx is the appropriate command). However, C-Kermit does not
-   treat stdin and stdout as the communication device unless you instruct
-   it:
-
-
-                        Send                            Receive  
-        Kermit          kermit -l 0 -s filename         kermit -l 0 -r
-
-   The "-l 0" option means to use file descriptor 0 for the communication
-   device.
-
-   In general, any program can pass any open file descriptor to C-Kermit
-   for the communication device in the "-l" command-line option. When
-   Kermit is given a number as the argument to the "-l" option, it simply
-   uses it as a file descriptor, and it does not attempt to close it upon
-   exit.
-
-   Here's another example, for Seyon (a Linux communication program).
-   First try the technique above. If that works, fine; otherwise... If
-   Seyon does not give you a way to access and pass along the file
-   descriptor, but it starts up the Kermit program with its standard i/o
-   redirected to its (Seyon's) communications file descriptor, you can
-   also experiment with the following method, which worked here in brief
-   tests on SunOS. Instead of having Seyon use "kermit -r" or "kermit -s
-   filename" as its Kermit protocol commands, use something like this
-   (examples assume C-Kermit 6.0):
-
-   For serial connections:
-
-  kermit -YqQl 0 -r                     <-- to receive
-  kermit -YqQl 0 -s filename(s)         <-- to send one or more files
-
-   For Telnet connections:
-
-  kermit -YqQF 0 -r                     <-- to receive
-  kermit -YqQF 0 -s filename(s)         <-- to send one or more files
-
-   Command line options:
-
-  Y    - skip executing the init file
-  Q    - use fast file transfer settings (default in 8.0)
-  l 0  - transfer files using file descriptor 0 for a serial connection
-  F 0  - transfer files using file descriptor 0 for a Telnet connection
-  q    - quiet - no messages
-  r    - receive
-  s    - send
-
-  11.2. INVOKING EXTERNAL PROTOCOLS FROM C-KERMIT
-
-   [ [582]Top ] [ [583]Contents ] [ [584]Section Contents ] [
-   [585]Previous ]
-
-     (This section is obsolete, but not totally useless. See Chapter 14
-     of [586]Using C-Kermit, 2nd Edition). 
-
-   After you have opened a communication link with C-Kermit's SET LINE
-   (SET PORT) or SET HOST (TELNET) command, C-Kermit makes its file
-   descriptor available to you in the \v(ttyfd) variable so you can pass
-   it along to other programs that you RUN from C-Kermit. Here, for
-   example, C-Kermit runs itself as an external protocol:
-
-  C-Kermit>set modem type hayes
-  C-Kermit>set line /dev/acu
-  C-Kermit>set speed 2400
-  C-Kermit>dial 7654321
-   Call complete.
-  C-Kermit>echo \v(ttyfd)
-   3
-  C-Kermit>run kermit -l \v(ttyfd)
-
-   Other programs that accept open file descriptors on the command line
-   can be started in the same way.
-
-   You can also use your shell's i/o redirection facilities to assign
-   C-Kermit's open file descriptor (ttyfd) to stdin or stdout. For
-   example, old versions of the Unix ZMODEM programs, sz and rz, when
-   invoked as external protocols, expect to find the communication device
-   assigned to stdin and stdout with no option for specifying any other
-   file descriptor on the sz or rz command line. However, you can still
-   invoke sz and rz as exterior protocols from C-Kermit if your current
-   shell ($SHELL variable) is ksh (the Korn shell) or bash (the
-   Bourne-Again shell), which allows assignment of arbitrary file
-   descriptors to stdin and stdout:
-
-  C-Kermit> run rz <&\v(ttyfd) >&\v(ttyfd)
-
-   or:
-
-  C-Kermit> run sz oofa.zip <&\v(ttyfd) >&\v(ttyfd)
-
-   In version 5A(190) and later, you can use C-Kermit's REDIRECT command,
-   if it is available in your version of C-Kermit, to accomplish the same
-   thing without going through the shell:
-
-  C-Kermit> redirect rz
-
-   or:
-
-  C-Kermit> redirect sz oofa.zip
-
-   A complete set of rz,sz,rb,sb,rx,sx macros for Unix C-Kermit is
-   defined in the file ckurzsz.ini. It automatically chooses the best
-   redirection method (but is redundant since C-Kermit 6.0, which now has
-   built-in support for external protocols via its SET PROTOCOL command).
-
-   Note that external protocols can be used on C-Kermit SET LINE or SET
-   HOST connections only if they operate through standard input and
-   standard output. If they open their own connections, Kermit can't
-   redirect them over its own connection.
-    ________________________________________________________________________
-
-  12. SECURITY
-
-   [ [587]Top ] [ [588]Contents ] [ [589]Next ] [ [590]Previous ]
-
-   As of version 7.0, C-Kermit supports a wide range of security options
-   for authentication and encryption: Kerberos 4, Kerberos 5 / GSSAPI,
-   SSL/TLS, and SRP. See the separate [591]security document for details.
-    ________________________________________________________________________
-
-  13. MISCELLANEOUS USER REPORTS
-
-   [ [592]Top ] [ [593]Contents ] [ [594]Next ] [ [595]Previous ]
-
-Date: Thu, 12 Mar 92 1:59:25 MEZ
-From: Walter Mecky <walter@rent-a-guru.de>
-Subject: Help.Unix.sw
-To: svr4@pcsbst.pcs.com, source@usl.com
-
-PRODUCT:        Unix
-RELEASE:        Dell SVR4 V2.1 (is USL V3.0)
-MACHINE:        AT-386
-PATHNAME:       /usr/lib/libc.so.1
-                /usr/ccs/lib/libc.a
-ABSTRACT:       Function ttyname() does not close its file descriptor
-DESCRIPTION:
-        ttyname(3C) opens /dev but never closes it. So if it is called
-        often enough the open(2) in ttyname() fails. Because the broken
-        ttyname() is in the shared lib too all programs using it can
-        fail if they call it often enough. One important program is
-        uucico which calls ttyname for every file it transfers.
-
-   Here is a little test program if your system has the bug:
-
-#include <stdlib.h>
-#include <stdio.h>
-main() {
-    int i = 0;
-    while (ttyname(0) != NULL)
-      i++;
-    perror("ttyname");
-    printf("i=%d\n", i);
-}
-
-   If this program runs longer than some seconds you don't have the bug.
-
-   WORKAROUND: None FIX: Very easy if you have source code.
-
-   Another user reports some more explicit symptoms and recoveries:
-
-> What happens is when invoking ckermit we get one of the following
-> error messages:
->   You must set line
->   Not a tty
->   No more processes.
-> One of the following three actions clears the peoblem:
->   shutdown -y -g0 -i6
->   kill -9 the ttymon with the highest PID
->   Invoke sysadm and disable then enable the line you want to use.
-> Turning off respawn of sac -t 300 and going to getty's and uugetty's
-> does not help.
->
-> Also C-Kermit reports "?timed out closing /dev/ttyxx".
-> If this happens all is well.
-
-------------------------------
-
-   (Note: the following problem also occurs on SGI and probably many
-   other Unix systems):
-
-   From: James Spath <spath@jhunix.hcf.jhu.edu>
-   To: Info-Kermit-Request@cunixf.cc.columbia.edu
-   Date: Wed, 9 Sep 1992 20:20:28 -0400
-   Subject: C-Kermit vs uugetty (or init) on Sperry 5000
-
-   We have successfully compiled the above release on a Unisys/Sperry
-   5000/95. We used the sys5r3 option, rather than sys5r2 since we have
-   VR3 running on our system. In order to allow dialout access to
-   non-superusers, we had to do "chmod 666 /dev/tty###, where it had been
-   -rw--w--w- (owned by uucp), and to do "chmod +w /usr/spool/locks". We
-   have done text and binary file transfers through local and remote
-   connections.
-
-   The problem concerning uucp ownership and permissions is worse than I
-   thought at first. Apparently init or uugetty changes the file
-   permissions after each session. So I wrote the following C program to
-   open a set of requested tty lines. I run this for any required
-   outgoing line prior to a Kermit session.
-
-   ------ cut here -------
-/* opentty.c -- force allow read on tty lines for modem i/o */
-/* idea from: restrict.c -- System 5 Admin book Thomas/Farrow p. 605 */
-/* /jes jim spath {spath@jhunix.hcj.jhu.edu } */
-/* 08-Sep-92 NO COPYRIGHT. */
-/* this must be suid to open other tty lines */
-
-/* #define DEBUG */
-#define TTY "/dev/tty"
-#define LOK "/usr/spool/locks/LCK..tty"
-#include <stdio.h>
-
-/* allowable lines: */
-#define TOTAL_LINES 3
-static char allowable[TOTAL_LINES][4] = { "200", "201", "300" };
-static int total=TOTAL_LINES;
-int allow;
-
-/* states: */
-#define TTY_UNDEF 0
-#define TTY_LOCK  1
-#define TTY_OKAY  2
-
-main(argc, argv)
-int argc; char *argv[]; {
-    char device[512];
-    char lockdev[512];
-    int i;
-    if (argc == 1) {
-        fprintf(stderr, "usage: open 200 [...]\n");
-    }
-    while (--argc > 0 && (*++argv) != NULL ) {
-#ifdef DEBUG
-        fprintf(stderr, "TRYING: %s%s\n", TTY, *argv);
-#endif
-        sprintf(device, "%s%s", TTY, *argv);
-        sprintf(lockdev, "%s%s", LOK, *argv);
-        allow = TTY_UNDEF; i = 0;
-        while (i <= total) { /* look at all defined lines */
-#ifdef DEBUG
-            fprintf(stderr, "LOCKFILE? %s?\n", lockdev);
-#endif
-            if (access(lockdev, 00) == 0) {
-                allow=TTY_LOCK;
-                break;
-            }
-#ifdef DEBUG
-            fprintf(stderr, "DOES:%s==%s?\n", allowable[i], *argv);
-#endif
-            if (strcmp(allowable[i], *argv) == 0)
-              allow=TTY_OKAY;
-            i++;
-        }
-#ifdef DEBUG
-        fprintf(stderr, "allow=%d\n", allow);
-#endif
-        switch (allow) {
-          case TTY_UNDEF:
-            fprintf (stderr, "open: not allowed on %s\n", *argv);
-            break;
-          case TTY_LOCK:
-            fprintf (stderr, "open: device locked: %s\n", lockdev);
-            break;
-          case TTY_OKAY:
-            /* attempt to change mode on device */
-            if (chmod (device, 00666) < 0)
-              fprintf (stderr, "open: cannot chmod on %s\n", device);
-            break;
-          default:
-            fprintf (stderr, "open: FAULT\n");
-        }
-    }
-    exit (0);
-}
-    ________________________________________________________________________
-
-  14. THIRD-PARTY DRIVERS
-
-   [ [596]Top ] [ [597]Contents ] [ [598]Next ] [ [599]Previous ]
-
-   Unix versions, especially those for PCs (SCO, Unixware, etc) might be
-   augmented by third-party communication-board drivers from Digiboard,
-   Stallion, etc. These can sometimes complicate matters for Kermit
-   considerably since Kermit has no way of knowing that it is going
-   through a possibly nonstandard driver. Various examples are listed in
-   the earlier sections of this document; search for Stallion, Digiboard,
-   etc. Additionally:
-
-     * The Stallion Technologies EasyConnection serial board driver does
-       not always report the state of DSR as low. From Stallion (October
-       1997): "Unfortunately, this is a bug in our driver. We have
-       implemented all of the other TIOMC functions, eg DTR, DCD, RTS and
-       CTS, but not DSR. Our driver should report the actual state of DSR
-       on those of our cards that have a DSR signal. That the driver
-       always reports DSR as not asserted (0), is a bug in the driver.
-       The driver should be either reporting the state of DSR correctly
-       on those cards that support DSR or as always asserted (1) on those
-       cards that do not have a DSR signal. This will be fixed in a
-       future version of our drivers; at this time I cannot say when this
-       will be." And later, "As far as I can tell, we don't support the
-       termios/termiox ioctls that relate specifically to DSR and RI; all
-       the rest are supported. This will, as I mentioned earlier, be
-       fixed in the next release of our ATA software."
-       - World Wide Escalation Support, Stallion Technologies, Toowong
-       QLD, [600]support@stallion.oz.au.
-
-   Later (December 1997, from the same source):
-
-     * We have now released a new version of the ATA software, version
-       5.4.0. This version fixes the problem with the states of the DSR
-       and RI signals and how they were being reported by the driver.
-       This is the problem that you reported in October. The DSR signal
-       is reported correctly on those cards that support the DSR signal,
-       such as the early revision of the EasyIO card and the
-       EasyConnection 8D4 panel, and as always asserted on those cards
-       that do not support the DSR signal in the hardware. The new driver
-       is available from our Web site, [601]www.stallion.com, in the
-       /drivers/ata5/UnixWare directory.
-
-   [ [602]Top ] [ [603]Contents ] [ [604]C-Kermit Home ] [ [605]C-Kermit
-   8.0 Overview ] [ [606]Kermit Home ]
-     _________________________________________________________________
-
-   C-Kermit 8.0 Unix Hints and Tips / [607]The Kermit Project /
-   [608]Columbia University / [609]kermit@columbia.edu
-
-References
-
-   1. http://www.columbia.edu/kermit/
-   2. http://www.columbia.edu/
-   3. http://www.columbia.edu/kermit/ckubwr.html
-   4. mailto:kermit-support@columbia.edu
-   5. http://www.columbia.edu/kermit/ckermit.html
-   6. http://www.columbia.edu/kermit/ckuins.html
-   7. http://www.columbia.edu/kermit/ckututor.html
-   8. http://www.columbia.edu/kermit/ckubwr.html#x1
-   9. http://www.columbia.edu/kermit/ckubwr.html#x2
-  10. http://www.columbia.edu/kermit/ckubwr.html#x3
-  11. http://www.columbia.edu/kermit/ckubwr.html#x4
-  12. http://www.columbia.edu/kermit/ckubwr.html#x5
-  13. http://www.columbia.edu/kermit/ckubwr.html#x6
-  14. http://www.columbia.edu/kermit/ckubwr.html#x7
-  15. http://www.columbia.edu/kermit/ckubwr.html#x8
-  16. http://www.columbia.edu/kermit/ckubwr.html#x9
-  17. http://www.columbia.edu/kermit/ckubwr.html#x10
-  18. http://www.columbia.edu/kermit/ckubwr.html#x11
-  19. http://www.columbia.edu/kermit/ckubwr.html#x12
-  20. http://www.columbia.edu/kermit/ckubwr.html#x13
-  21. http://www.columbia.edu/kermit/ckubwr.html#x14
-  22. http://www.columbia.edu/kermit/ckubwr.html#x3.3
-  23. http://www.columbia.edu/kermit/ckubwr.html#x3.18
-  24. http://www.columbia.edu/kermit/ckubwr.html#x3.19
-  25. http://www.columbia.edu/kermit/ckubwr.html#x3.1
-  26. http://www.columbia.edu/kermit/ckubwr.html#x3.2
-  27. http://www.columbia.edu/kermit/ckubwr.html#x3.7
-  28. http://www.columbia.edu/kermit/ckubwr.html#x3.6
-  29. http://www.columbia.edu/kermit/ckubwr.html#x3.13
-  30. http://www.columbia.edu/kermit/ckubwr.html#top
-  31. http://www.columbia.edu/kermit/ckubwr.html#contents
-  32. http://www.columbia.edu/kermit/ckubwr.html#x2
-  33. http://www.columbia.edu/kermit/ckubwr.html#x1.1
-  34. http://www.columbia.edu/kermit/ckubwr.html#x1.2
-  35. http://www.columbia.edu/kermit/ckubwr.html#x1.3
-  36. http://www.columbia.edu/kermit/ckubwr.html#x1.4
-  37. http://www.columbia.edu/kermit/ckubwr.html#x3.3
-  38. http://www.columbia.edu/kermit/ckubwr.html#x3.1
-  39. http://www.columbia.edu/kermit/ckubwr.html#x3.2
-  40. http://www.columbia.edu/kermit/ckubwr.html#x3.7
-  41. http://www.columbia.edu/kermit/ckcbwr.html
-  42. mailto:kermit-support@columbia.edu
-  43. http://www.columbia.edu/kermit/ckubwr.html#top
-  44. http://www.columbia.edu/kermit/ckubwr.html#contents
-  45. http://www.columbia.edu/kermit/ckubwr.html#x1.2
-  46. http://www.columbia.edu/kermit/ck60manual.html
-  47. http://www.columbia.edu/kermit/ckermit70.html
-  48. http://www.columbia.edu/kermit/ckermit80.html
-  49. http://www.columbia.edu/kermit/ckubwr.html#top
-  50. http://www.columbia.edu/kermit/ckubwr.html#contents
-  51. http://www.columbia.edu/kermit/ckubwr.html#x1
-  52. http://www.columbia.edu/kermit/ckubwr.html#x1.3
-  53. http://www.columbia.edu/kermit/ckubwr.html#x1.1
-  54. http://www.columbia.edu/kermit/support.html
-  55. http://www.columbia.edu/kermit/ckubwr.html#top
-  56. http://www.columbia.edu/kermit/ckubwr.html#contents
-  57. http://www.columbia.edu/kermit/ckubwr.html#x1
-  58. http://www.columbia.edu/kermit/ckubwr.html#x1.4
-  59. http://www.columbia.edu/kermit/ckubwr.html#x1.2
-  60. http://www.columbia.edu/kermit/ckubwr.html#top
-  61. http://www.columbia.edu/kermit/ckubwr.html#contents
-  62. http://www.columbia.edu/kermit/ckubwr.html#x1
-  63. http://www.columbia.edu/kermit/ckubwr.html#x1.3
-  64. http://www.columbia.edu/kermit/ckubwr.html#top
-  65. http://www.columbia.edu/kermit/ckubwr.html#contents
-  66. http://www.columbia.edu/kermit/ckubwr.html#x3
-  67. http://www.columbia.edu/kermit/ckubwr.html#x1
-  68. http://www.columbia.edu/kermit/ckubwr.html#top
-  69. http://www.columbia.edu/kermit/ckubwr.html#contents
-  70. http://www.columbia.edu/kermit/ckubwr.html#x4
-  71. http://www.columbia.edu/kermit/ckubwr.html#x2
-  72. http://www.columbia.edu/kermit/ckubwr.html#x3.0
-  73. http://www.columbia.edu/kermit/ckubwr.html#x3.1
-  74. http://www.columbia.edu/kermit/ckubwr.html#x3.2
-  75. http://www.columbia.edu/kermit/ckubwr.html#x3.3
-  76. http://www.columbia.edu/kermit/ckubwr.html#x3.4
-  77. http://www.columbia.edu/kermit/ckubwr.html#x3.5
-  78. http://www.columbia.edu/kermit/ckubwr.html#x3.6
-  79. http://www.columbia.edu/kermit/ckubwr.html#x3.7
-  80. http://www.columbia.edu/kermit/ckubwr.html#x3.8
-  81. http://www.columbia.edu/kermit/ckubwr.html#x3.9
-  82. http://www.columbia.edu/kermit/ckubwr.html#x3.10
-  83. http://www.columbia.edu/kermit/ckubwr.html#x3.11
-  84. http://www.columbia.edu/kermit/ckubwr.html#x3.12
-  85. http://www.columbia.edu/kermit/ckubwr.html#x3.13
-  86. http://www.columbia.edu/kermit/ckubwr.html#x3.14
-  87. http://www.columbia.edu/kermit/ckubwr.html#x3.15
-  88. http://www.columbia.edu/kermit/ckubwr.html#x3.16
-  89. http://www.columbia.edu/kermit/ckubwr.html#x3.17
-  90. http://www.columbia.edu/kermit/ckubwr.html#x3.18
-  91. http://www.columbia.edu/kermit/ckubwr.html#x3.19
-  92. http://www.columbia.edu/kermit/ckubwr.html#x3.20
-  93. http://www.faqs.org/
-  94. http://aplawrence.com/Unixart/newtounix.html
-  95. http://www.columbia.edu/kermit/x3
-  96. mailto:kermit-support@columbia.edu
-  97. http://www.columbia.edu/kermit/support.html
-  98. http://www.columbia.edu/kermit/ckubwr.html#top
-  99. http://www.columbia.edu/kermit/ckubwr.html#contents
- 100. http://www.columbia.edu/kermit/ckubwr.html#x3
- 101. http://www.columbia.edu/kermit/ckubwr.html#x3.1
- 102. http://www.pcunix.com/
- 103. http://www.columbia.edu/kermit/ckubwr.html#x3.0.1
- 104. http://www.columbia.edu/kermit/ckubwr.html#x3.0.2
- 105. http://www.columbia.edu/kermit/ckubwr.html#x3.0.3
- 106. http://www.columbia.edu/kermit/ckubwr.html#x3.0.4
- 107. http://www.columbia.edu/kermit/ckubwr.html#x3.0.5
- 108. http://www.columbia.edu/kermit/ckubwr.html#x3.0.6
- 109. http://www.columbia.edu/kermit/ckubwr.html#top
- 110. http://www.columbia.edu/kermit/ckubwr.html#contents
- 111. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 112. http://www.columbia.edu/kermit/ckubwr.html#x3.0.2
- 113. http://www.columbia.edu/kermit/ckubwr.html#top
- 114. http://www.columbia.edu/kermit/ckubwr.html#contents
- 115. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 116. http://www.columbia.edu/kermit/ckubwr.html#x3.0.3
- 117. http://www.columbia.edu/kermit/ckubwr.html#x3.0.1
- 118. http://www.linmodems.org/
- 119. http://www.microsoft.com/hwdev/platform/PCdesign/LR/default.asp
- 120. http://www.columbia.edu/kermit/ckubwr.html#top
- 121. http://www.columbia.edu/kermit/ckubwr.html#contents
- 122. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 123. http://www.columbia.edu/kermit/ckubwr.html#x3.0.4
- 124. http://www.columbia.edu/kermit/ckubwr.html#x3.0.2
- 125. http://www.idir.net/~gromitkc/winmodem.html
- 126. http://www.digi.com/
- 127. http://www.columbia.edu/kermit/ckubwr.html#top
- 128. http://www.columbia.edu/kermit/ckubwr.html#contents
- 129. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 130. http://www.columbia.edu/kermit/ckubwr.html#x3.0.5
- 131. http://www.columbia.edu/kermit/ckubwr.html#x3.0.3
- 132. http://www.columbia.edu/kermit/ckubwr.html#top
- 133. http://www.columbia.edu/kermit/ckubwr.html#contents
- 134. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 135. http://www.columbia.edu/kermit/ckubwr.html#x3.0.6
- 136. http://www.columbia.edu/kermit/ckubwr.html#x3.0.4
- 137. http://www.columbia.edu/kermit/ckubwr.html#top
- 138. http://www.columbia.edu/kermit/ckubwr.html#contents
- 139. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 140. http://www.columbia.edu/kermit/ckubwr.html#x3.0.5
- 141. http://www.columbia.edu/kermit/ckubwr.html#top
- 142. http://www.columbia.edu/kermit/ckubwr.html#contents
- 143. http://www.columbia.edu/kermit/ckubwr.html#x3
- 144. http://www.columbia.edu/kermit/ckubwr.html#x3.2
- 145. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 146. http://www.columbia.edu/kermit/ckubwr.html#x3.1.1
- 147. http://www.columbia.edu/kermit/ckubwr.html#x3.1.2
- 148. http://www.columbia.edu/kermit/ckubwr.html#x3.1.3
- 149. http://www.columbia.edu/kermit/ckubwr.html#x3.1.4
- 150. http://www.columbia.edu/kermit/ckubwr.html#x3.1.5
- 151. http://www.emerson.emory.edu/services/aix-faq/
- 152. http://www.faqs.org/faqs/by-newsgroup/comp/comp.unix.aix.html
- 153. http://www.cis.ohio-state.edu/hypertext/faq/usenet/aix-faq/top.html
- 154. http://aixpdslib.seas.ucla.edu/
- 155. http://www.rootvg.net (AIX history)/
- 156. ftp://rtfm.mit.edu/pub/usenet/news.answers/aix-faq/part1
- 157. ftp://mirrors.aol.com/pub/rtfm/usenet-by-hierarchy/comp/unix/aix
- 158. news:comp.unix.aix
- 159. http://www.columbia.edu/kermit/ckubwr.html#top
- 160. http://www.columbia.edu/kermit/ckubwr.html#contents
- 161. http://www.columbia.edu/kermit/ckubwr.html#x3.1
- 162. http://www.columbia.edu/kermit/ckubwr.html#x3.1.2
- 163. http://www.columbia.edu/kermit/ckubwr.html#top
- 164. http://www.columbia.edu/kermit/ckubwr.html#contents
- 165. http://www.columbia.edu/kermit/ckubwr.html#x3.1
- 166. http://www.columbia.edu/kermit/ckubwr.html#x3.1.3
- 167. http://www.columbia.edu/kermit/ckubwr.html#x3.1.1
- 168. http://www.columbia.edu/kermit/security.html#servers
- 169. http://www.columbia.edu/kermit/ckubwr.html#top
- 170. http://www.columbia.edu/kermit/ckubwr.html#contents
- 171. http://www.columbia.edu/kermit/ckubwr.html#x3.1
- 172. http://www.columbia.edu/kermit/ckubwr.html#x3.1.4
- 173. http://www.columbia.edu/kermit/ckubwr.html#x3.1.2
- 174. http://service.software.ibm.com/rs6000/
- 175. http://www.columbia.edu/kermit/ckubwr.html#top
- 176. http://www.columbia.edu/kermit/ckubwr.html#contents
- 177. http://www.columbia.edu/kermit/ckubwr.html#x3.1
- 178. http://www.columbia.edu/kermit/ckubwr.html#x3.1.5
- 179. http://www.columbia.edu/kermit/ckubwr.html#x3.1.3
- 180. http://www.columbia.edu/kermit/ckubwr.html#top
- 181. http://www.columbia.edu/kermit/ckubwr.html#contents
- 182. http://www.columbia.edu/kermit/ckubwr.html#x3.1
- 183. http://www.columbia.edu/kermit/ckubwr.html#x3.1.4
- 184. http://www.columbia.edu/kermit/ckubwr.html#top
- 185. http://www.columbia.edu/kermit/ckubwr.html#contents
- 186. http://www.columbia.edu/kermit/ckubwr.html#x3
- 187. http://www.columbia.edu/kermit/ckubwr.html#x3.3
- 188. http://www.columbia.edu/kermit/ckubwr.html#x3.1
- 189. http://www.columbia.edu/kermit/ckubwr.html#x3.2.0
- 190. http://www.columbia.edu/kermit/ckubwr.html#x3.2.1
- 191. http://www.columbia.edu/kermit/ckubwr.html#x3.2.2
- 192. http://www.columbia.edu/kermit/ckubwr.html#x3.2.3
- 193. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4
- 194. http://www.columbia.edu/kermit/ckubwr.html#x3.2.5
- 195. news:comp.sys.hp.hpux
- 196. http://www.columbia.edu/kermit/ckubwr.html#top
- 197. http://www.columbia.edu/kermit/ckubwr.html#contents
- 198. http://www.columbia.edu/kermit/ckubwr.html#x3.2
- 199. http://www.columbia.edu/kermit/ckubwr.html#x3.2.1
- 200. http://www.columbia.edu/kermit/ckubwr.html#top
- 201. http://www.columbia.edu/kermit/ckubwr.html#contents
- 202. http://www.columbia.edu/kermit/ckubwr.html#x3.2
- 203. http://www.columbia.edu/kermit/ckubwr.html#x3.2.2
- 204. http://www.columbia.edu/kermit/ckubwr.html#x3.2.0
- 205. ftp://kermit.columbia.edu/kermit/f/makefile
- 206. http://www.columbia.edu/kermit/ckubwr.html#top
- 207. http://www.columbia.edu/kermit/ckubwr.html#contents
- 208. http://www.columbia.edu/kermit/ckubwr.html#x3.2
- 209. http://www.columbia.edu/kermit/ckubwr.html#x3.2.3
- 210. http://www.columbia.edu/kermit/ckubwr.html#x3.2.1
- 211. http://www.columbia.edu/kermit/ckubwr.html#top
- 212. http://www.columbia.edu/kermit/ckubwr.html#contents
- 213. http://www.columbia.edu/kermit/ckubwr.html#x3.2
- 214. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4
- 215. http://www.columbia.edu/kermit/ckubwr.html#x3.2.2
- 216. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.1
- 217. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.2
- 218. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.3
- 219. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.4
- 220. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.5
- 221. http://www.columbia.edu/kermit/ckubwr.html#top
- 222. http://www.columbia.edu/kermit/ckubwr.html#contents
- 223. http://www.columbia.edu/kermit/ckubwr.html#x3.2
- 224. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.2
- 225. http://www.columbia.edu/kermit/ckubwr.html#x3.2.2
- 226. http://www.columbia.edu/kermit/ckubwr.html#top
- 227. http://www.columbia.edu/kermit/ckubwr.html#contents
- 228. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4
- 229. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.3
- 230. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.1
- 231. http://www.columbia.edu/kermit/ckubwr.html#top
- 232. http://www.columbia.edu/kermit/ckubwr.html#contents
- 233. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4
- 234. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.4
- 235. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.2
- 236. http://www.columbia.edu/kermit/ckubwr.html#top
- 237. http://www.columbia.edu/kermit/ckubwr.html#contents
- 238. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4
- 239. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.5
- 240. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.3
- 241. http://www.columbia.edu/kermit/ckubwr.html#top
- 242. http://www.columbia.edu/kermit/ckubwr.html#contents
- 243. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4
- 244. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.4
- 245. http://www.columbia.edu/kermit/ckubwr.html#top
- 246. http://www.columbia.edu/kermit/ckubwr.html#contents
- 247. http://www.columbia.edu/kermit/ckubwr.html#x3.2
- 248. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4
- 249. http://www.columbia.edu/kermit/ckubwr.html#top
- 250. http://www.columbia.edu/kermit/ckubwr.html#contents
- 251. http://www.columbia.edu/kermit/ckubwr.html#x3
- 252. http://www.columbia.edu/kermit/ckubwr.html#x3.4
- 253. http://www.columbia.edu/kermit/ckubwr.html#x3.2
- 254. http://www.columbia.edu/kermit/ckubwr.html#x3.3.1
- 255. http://www.columbia.edu/kermit/ckubwr.html#x3.3.2
- 256. http://www.columbia.edu/kermit/ckubwr.html#x3.3.3
- 257. http://www.columbia.edu/kermit/ckubwr.html#x3.3.4
- 258. http://www.columbia.edu/kermit/ckubwr.html#x3.3.5
- 259. http://www.columbia.edu/kermit/ckubwr.html#x3.3.6
- 260. news:comp.os.linux.misc
- 261. news:comp.os.linux.answers
- 262. http://www.tldp.org/
- 263. http://www.tldp.org/FAQ/Linux-FAQ.html
- 264. http://www.tldp.org/HOWTO/Serial-HOWTO.html
- 265. http://tldp.org/HOWTO/Modem-HOWTO.html
- 266. ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO
- 267. ftp://tsx-11.mit.edu/pub/linux/docs/HOWTO
- 268. http://www.tldp.org/HOWTO/
- 269. http://www.tldp.org/hmirrors.html
- 270. http://www.redhat.com/apps/support/
- 271. http://www.debian.org/support
- 272. http://www.slackware.com/support/
- 273. http://www.caldera.com/support/
- 274. http://www.suse.com/support/
- 275. http://www.mandrake.com/support/
- 276. http://www.turbolinux.com/support/
- 277. http://www.linmodems.org/
- 278. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 279. http://linux.dreamtime.org/decnet/
- 280. mailto:kermit-support@columbia.edu
- 281. http://www.linmodems.org/
- 282. http://www.columbia.edu/kermit/ckubwr.html#x3.0.2
- 283. http://www.columbia.edu/kermit/security.html#servers
- 284. http://www.columbia.edu/kermit/sshclient.html
- 285. http://www.columbia.edu/kermit/ckubwr.html#top
- 286. http://www.columbia.edu/kermit/ckubwr.html#contents
- 287. http://www.columbia.edu/kermit/ckubwr.html#x3
- 288. http://www.columbia.edu/kermit/ckubwr.html#x3.3.2
- 289. http://www.columbia.edu/kermit/ckubwr.html#top
- 290. http://www.columbia.edu/kermit/ckubwr.html#contents
- 291. http://www.columbia.edu/kermit/ckubwr.html#x3.3
- 292. http://www.columbia.edu/kermit/ckubwr.html#x3.3.3
- 293. http://www.columbia.edu/kermit/ckubwr.html#x3.3.1
- 294. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 295. http://www.columbia.edu/kermit/ckubwr.html#x6
- 296. http://www.columbia.edu/kermit/ckubwr.html#x7
- 297. http://www.columbia.edu/kermit/ckubwr.html#x8
- 298. http://www.columbia.edu/kermit/ckuins.html#x10
- 299. http://www.columbia.edu/kermit/ckuins.html#x11
- 300. http://www.columbia.edu/kermit/ckuins.html
- 301. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 302. http://linuxwww.db.erau.edu/mail_archives/linux-kernel/Mar_98/1441.html
- 303. http://www.columbia.edu/kermit/ckubwr.html#top
- 304. http://www.columbia.edu/kermit/ckubwr.html#contents
- 305. http://www.columbia.edu/kermit/ckubwr.html#x3.3
- 306. http://www.columbia.edu/kermit/ckubwr.html#x3.3.4
- 307. http://www.columbia.edu/kermit/ckubwr.html#x3.3.2
- 308. http://www.columbia.edu/kermit/ckubwr.html#x3.0.5
- 309. http://www.columbia.edu/kermit/ckfaq.html#term
- 310. http://dickey.his.com/xterm/xterm.html
- 311. http://dickey.his.com/xterm/xterm.html
- 312. ftp://kermit.columbia.edu/kermit/f/xmodmap.txt
- 313. http://www.columbia.edu/kermit/ckubwr.html#top
- 314. http://www.columbia.edu/kermit/ckubwr.html#contents
- 315. http://www.columbia.edu/kermit/ckubwr.html#x3.3
- 316. http://www.columbia.edu/kermit/ckubwr.html#x3.3.5
- 317. http://www.columbia.edu/kermit/ckubwr.html#x3.3.3
- 318. http://www.columbia.edu/kermit/ckubwr.html#top
- 319. http://www.columbia.edu/kermit/ckubwr.html#contents
- 320. http://www.columbia.edu/kermit/ckubwr.html#x3.3
- 321. http://www.columbia.edu/kermit/ckubwr.html#x3.3.6
- 322. http://www.columbia.edu/kermit/ckubwr.html#x3.3.4
- 323. http://www.columbia.edu/kermit/ckermit.html
- 324. mailto:kermit-support@columbia.edu
- 325. http://www.redhat.com/support/errata/RHBA-2001-153.html
- 326. news:comp.protocols.kermit.misc
- 327. http://www.columbia.edu/kermit/ckubwr.html#top
- 328. http://www.columbia.edu/kermit/ckubwr.html#contents
- 329. http://www.columbia.edu/kermit/ckubwr.html#x3.3
- 330. http://www.columbia.edu/kermit/ckubwr.html#x3.3.5
- 331. http://www.columbia.edu/kermit/ckubwr.html#top
- 332. http://www.columbia.edu/kermit/ckubwr.html#contents
- 333. http://www.columbia.edu/kermit/ckubwr.html#x3
- 334. http://www.columbia.edu/kermit/ckubwr.html#x3.5
- 335. http://www.columbia.edu/kermit/ckubwr.html#x3.3
- 336. http://www.columbia.edu/kermit/ckubwr.html#top
- 337. http://www.columbia.edu/kermit/ckubwr.html#contents
- 338. http://www.columbia.edu/kermit/ckubwr.html#x3
- 339. http://www.columbia.edu/kermit/ckubwr.html#x3.6
- 340. http://www.columbia.edu/kermit/ckubwr.html#x3.4
- 341. news:comp.os.qnx
- 342. http://www.columbia.edu/kermit/gkermit.html
- 343. http://www.columbia.edu/kermit/ckuins.html#x10
- 344. http://www.columbia.edu/kermit/ckuins.html
- 345. http://www.columbia.edu/kermit/ckubwr.html#top
- 346. http://www.columbia.edu/kermit/ckubwr.html#contents
- 347. http://www.columbia.edu/kermit/ckubwr.html#x3
- 348. http://www.columbia.edu/kermit/ckubwr.html#x3.7
- 349. http://www.columbia.edu/kermit/ckubwr.html#x3.5
- 350. http://www.columbia.edu/kermit/ckubwr.html#x3.6.1
- 351. http://www.columbia.edu/kermit/ckubwr.html#x3.6.2
- 352. http://www.columbia.edu/kermit/ckubwr.html#x3.6.3
- 353. http://www.columbia.edu/kermit/ckubwr.html#x3.6.4
- 354. http://www.columbia.edu/kermit/ckubwr.html#x3.10
- 355. http://aplawrence.com/SCOFAQ/
- 356. http://www.zenez.com/cgi-bin/scoprogfaq/faq.pl
- 357. http://www.zenez.com/cgi-bin/scouw7faq/faq.pl
- 358. http://zenez.pcunix.com/cgi-bin/scouw7faq/faq.pl
- 359. http://pcunix.com/Unixart/modems.html
- 360. http://www.freebird.org/faq/
- 361. http://www.freebird.org/faq/developer.html
- 362. http://support.caldera.com/caldera
- 363. http://stage.caldera.com/ta/
- 364. http://aplawrence.com/newtosco.html
- 365. http://www.columbia.edu/kermit/ckubwr.html#x3.0.5
- 366. http://www.columbia.edu/kermit/ckfaq.html#term
- 367. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 368. http://www.columbia.edu/kermit/ckubwr.html#top
- 369. http://www.columbia.edu/kermit/ckubwr.html#contents
- 370. http://www.columbia.edu/kermit/ckubwr.html#x3.6
- 371. http://www.columbia.edu/kermit/ckubwr.html#x3.6.1
- 372. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c
- 373. http://www.columbia.edu/kermit/ckubwr.html#top
- 374. http://www.columbia.edu/kermit/ckubwr.html#contents
- 375. http://www.columbia.edu/kermit/ckubwr.html#x3.6
- 376. http://www.columbia.edu/kermit/ckubwr.html#x3.6.3
- 377. http://www.columbia.edu/kermit/ckubwr.html#x3.6.1
- 378. http://www.digi.com/
- 379. ftp://ftp.fu-berlin.de/pub/unix/driver/fas
- 380. http://www.columbia.edu/kermit/ckubwr.html#x14
- 381. http://www.sco.com/
- 382. ftp://ftp.sco.com/
- 383. http://www.columbia.edu/kermit/ckubwr.html#top
- 384. http://www.columbia.edu/kermit/ckubwr.html#contents
- 385. http://www.columbia.edu/kermit/ckubwr.html#x3.6
- 386. http://www.columbia.edu/kermit/ckubwr.html#x3.6.4
- 387. http://www.columbia.edu/kermit/ckubwr.html#x3.6.2
- 388. http://www.columbia.edu/kermit/ckubwr.html#x3.10
- 389. http://www.columbia.edu/kermit/ckubwr.html#top
- 390. http://www.columbia.edu/kermit/ckubwr.html#contents
- 391. http://www.columbia.edu/kermit/ckubwr.html#x3.6
- 392. http://www.columbia.edu/kermit/ckubwr.html#x3.6.3
- 393. http://www.columbia.edu/kermit/ckubwr.html#top
- 394. http://www.columbia.edu/kermit/ckubwr.html#contents
- 395. http://www.columbia.edu/kermit/ckubwr.html#x3
- 396. http://www.columbia.edu/kermit/ckubwr.html#x3.8
- 397. http://www.columbia.edu/kermit/ckubwr.html#x3.6
- 398. http://www.columbia.edu/kermit/ckubwr.html#x3.7.1
- 399. http://www.columbia.edu/kermit/ckubwr.html#x3.7.2
- 400. http://www.columbia.edu/kermit/ckubwr.html#x3.7.3
- 401. http://www.columbia.edu/kermit/ckubwr.html#x3.7.4
- 402. http://www.columbia.edu/kermit/ckubwr.html#x3.7.5
- 403. news:comp.unix.solaris
- 404. http://access1.sun.com/
- 405. http://docs.sun.com/
- 406. http://www.sunhelp.com/
- 407. http://www.wins.uva.nl/pub/solaris/solaris2/
- 408. http://www.wins.uva.nl/cgi-bin/sfaq.cgi
- 409. ftp://ftp.wins.uva.nl/pub/solaris
- 410. http://www.science.uva.nl/pub/solaris/solaris2.html
- 411. http://www.stokely.com/
- 412. http://www.stokely.com/unix.sysadm.resources/faqs.sun.html
- 413. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 414. http://www.columbia.edu/kermit/ckubwr.html#top
- 415. http://www.columbia.edu/kermit/ckubwr.html#contents
- 416. http://www.columbia.edu/kermit/ckubwr.html#x3
- 417. http://www.columbia.edu/kermit/ckubwr.html#x3.7
- 418. http://www.columbia.edu/kermit/ckubwr.html#x3.7.2
- 419. http://www.columbia.edu/kermit/ckubwr.html#top
- 420. http://www.columbia.edu/kermit/ckubwr.html#contents
- 421. http://www.columbia.edu/kermit/ckubwr.html#x3.7
- 422. http://www.columbia.edu/kermit/ckubwr.html#x3.7.3
- 423. http://www.columbia.edu/kermit/ckubwr.html#x3.7.1
- 424. http://www.columbia.edu/kermit/ckubwr.html#top
- 425. http://www.columbia.edu/kermit/ckubwr.html#contents
- 426. http://www.columbia.edu/kermit/ckubwr.html#x3.7
- 427. http://www.columbia.edu/kermit/ckubwr.html#x3.7.4
- 428. http://www.columbia.edu/kermit/ckubwr.html#x3.7.2
- 429. http://www.columbia.edu/kermit/ckubwr.html#top
- 430. http://www.columbia.edu/kermit/ckubwr.html#contents
- 431. http://www.columbia.edu/kermit/ckubwr.html#x3.7
- 432. http://www.columbia.edu/kermit/ckubwr.html#x3.7.5
- 433. http://www.columbia.edu/kermit/ckubwr.html#x3.7.3
- 434. news:comp.os.vms
- 435. http://www.columbia.edu/kermit/ckubwr.html#top
- 436. http://www.columbia.edu/kermit/ckubwr.html#contents
- 437. http://www.columbia.edu/kermit/ckubwr.html#x3.7
- 438. http://www.columbia.edu/kermit/ckubwr.html#x3.7.6
- 439. http://www.columbia.edu/kermit/ckubwr.html#x3.7.4
- 440. http://www.columbia.edu/kermit/ckubwr.html#top
- 441. http://www.columbia.edu/kermit/ckubwr.html#contents
- 442. http://www.columbia.edu/kermit/ckubwr.html#x3.7
- 443. http://www.columbia.edu/kermit/ckubwr.html#x3.7.5
- 444. http://www.columbia.edu/kermit/ckubwr.html#top
- 445. http://www.columbia.edu/kermit/ckubwr.html#contents
- 446. http://www.columbia.edu/kermit/ckubwr.html#x3
- 447. http://www.columbia.edu/kermit/ckubwr.html#x3.9
- 448. http://www.columbia.edu/kermit/ckubwr.html#x3.7
- 449. http://www.stokely.com/
- 450. http://access1.sun.com/
- 451. http://www.ludd.luth.se/~bear/project/sun/sun.hardware.txt
- 452. ftp://ftp.netcom.com/pub/ru/rubicon/sun.hdwr.ref
- 453. ftp://ftp.intnet.net/pub/SUN/Sun-Hardware-Ref
- 454. http://www.columbia.edu/kermit/ckubwr.html#top
- 455. http://www.columbia.edu/kermit/ckubwr.html#contents
- 456. http://www.columbia.edu/kermit/ckubwr.html#x3
- 457. http://www.columbia.edu/kermit/ckubwr.html#x3.10
- 458. http://www.columbia.edu/kermit/ckubwr.html#x3.8
- 459. news:comp.unix.ultrix
- 460. news:comp.sys.dec
- 461. http://www.columbia.edu/kermit/ckubwr.html#top
- 462. http://www.columbia.edu/kermit/ckubwr.html#contents
- 463. http://www.columbia.edu/kermit/ckubwr.html#x3
- 464. http://www.columbia.edu/kermit/ckubwr.html#x3.11
- 465. http://www.columbia.edu/kermit/ckubwr.html#x3.9
- 466. http://www.freebird.org/
- 467. http://www.freebird.org/faq/
- 468. news:comp.unix.unixware.misc
- 469. news:comp.unix.sco.misc
- 470. http://www.columbia.edu/kermit/ckubwr.html#x3.0
- 471. ftp://kermit.columbia.edu/kermit/f/ckutio.c
- 472. http://www.columbia.edu/kermit/ckubwr.html#top
- 473. http://www.columbia.edu/kermit/ckubwr.html#contents
- 474. http://www.columbia.edu/kermit/ckubwr.html#x3
- 475. http://www.columbia.edu/kermit/ckubwr.html#x3.12
- 476. http://www.columbia.edu/kermit/ckubwr.html#x3.10
- 477. http://www.columbia.edu/kermit/ckubwr.html#top
- 478. http://www.columbia.edu/kermit/ckubwr.html#contents
- 479. http://www.columbia.edu/kermit/ckubwr.html#x3
- 480. http://www.columbia.edu/kermit/ckubwr.html#x3.13
- 481. http://www.columbia.edu/kermit/ckubwr.html#x3.11
- 482. http://www.columbia.edu/kermit/ckubwr.html#top
- 483. http://www.columbia.edu/kermit/ckubwr.html#contents
- 484. http://www.columbia.edu/kermit/ckubwr.html#x3
- 485. http://www.columbia.edu/kermit/ckubwr.html#x3.14
- 486. http://www.columbia.edu/kermit/ckubwr.html#x3.12
- 487. http://www.columbia.edu/kermit/ckubwr.html#top
- 488. http://www.columbia.edu/kermit/ckubwr.html#contents
- 489. http://www.columbia.edu/kermit/ckubwr.html#x3
- 490. http://www.columbia.edu/kermit/ckubwr.html#x3.15
- 491. http://www.columbia.edu/kermit/ckubwr.html#x3.13
- 492. news:comp.sys.sgi.misc
- 493. news:comp.sys.sgi.admin
- 494. http://www.sgi.com/
- 495. http://www-viz.tamu.edu/~sgi-faq/
- 496. ftp://viz.tamu.edu/pub/sgi/faq/
- 497. http://www.columbia.edu/kermit/ckuins.html
- 498. http://freeware.sgi.com/Installable/gcc-2.95.2.html
- 499. http://freeware.sgi.com/Installable/gcc-2.95.2.html
- 500. http://www.columbia.edu/kermit/ckubwr.html#top
- 501. http://www.columbia.edu/kermit/ckubwr.html#contents
- 502. http://www.columbia.edu/kermit/ckubwr.html#x3
- 503. http://www.columbia.edu/kermit/ckubwr.html#x3.16
- 504. http://www.columbia.edu/kermit/ckubwr.html#x3.14
- 505. news:comp.sys.be
- 506. http://www.columbia.edu/kermit/ckubwr.html#top
- 507. http://www.columbia.edu/kermit/ckubwr.html#contents
- 508. http://www.columbia.edu/kermit/ckubwr.html#x3
- 509. http://www.columbia.edu/kermit/ckubwr.html#x3.17
- 510. http://www.columbia.edu/kermit/ckubwr.html#x3.15
- 511. http://www.columbia.edu/kermit/ckubwr.html#top
- 512. http://www.columbia.edu/kermit/ckubwr.html#contents
- 513. http://www.columbia.edu/kermit/ckubwr.html#x3
- 514. http://www.columbia.edu/kermit/ckubwr.html#x3.18
- 515. http://www.columbia.edu/kermit/ckubwr.html#x3.16
- 516. http://www.columbia.edu/kermit/ckubwr.html#top
- 517. http://www.columbia.edu/kermit/ckubwr.html#contents
- 518. http://www.columbia.edu/kermit/ckubwr.html#x3
- 519. http://www.columbia.edu/kermit/ckubwr.html#x3.19
- 520. http://www.columbia.edu/kermit/ckubwr.html#x3.17
- 521. http://www.columbia.edu/kermit/ckubwr.html#top
- 522. http://www.columbia.edu/kermit/ckubwr.html#contents
- 523. http://www.columbia.edu/kermit/ckubwr.html#x3
- 524. http://www.columbia.edu/kermit/ckubwr.html#x3.20
- 525. http://www.columbia.edu/kermit/ckubwr.html#x3.18
- 526. http://www.keyspan.com/products/usb/adapter/
- 527. http://www.columbia.edu/kermit/ckuins.html
- 528. http://cerebus.sandiego.edu/~jerry/UnixTips/
- 529. http://www.columbia.edu/kermit/ckubwr.html#top
- 530. http://www.columbia.edu/kermit/ckubwr.html#contents
- 531. http://www.columbia.edu/kermit/ckubwr.html#x3
- 532. http://www.columbia.edu/kermit/ckubwr.html#x3.19
- 533. http://www.uni-giessen.de/faq/archiv/coherent-faq.general/msg00000.html
- 534. http://www.columbia.edu/kermit/ckubwr.html#top
- 535. http://www.columbia.edu/kermit/ckubwr.html#contents
- 536. http://www.columbia.edu/kermit/ckubwr.html#x5
- 537. http://www.columbia.edu/kermit/ckubwr.html#x3
- 538. http://www.columbia.edu/kermit/ckccfg.html
- 539. http://www.columbia.edu/kermit/ckubwr.html#top
- 540. http://www.columbia.edu/kermit/ckubwr.html#contents
- 541. http://www.columbia.edu/kermit/ckubwr.html#x6
- 542. http://www.columbia.edu/kermit/ckubwr.html#x4
- 543. http://www.columbia.edu/kermit/ckuins.html
- 544. http://www.columbia.edu/kermit/ckubwr.html#top
- 545. http://www.columbia.edu/kermit/ckubwr.html#contents
- 546. http://www.columbia.edu/kermit/ckubwr.html#x7
- 547. http://www.columbia.edu/kermit/ckubwr.html#x5
- 548. http://www.columbia.edu/kermit/ckuins.html#9.5
- 549. http://www.columbia.edu/kermit/ckubwr.html#x3
- 550. http://www.columbia.edu/kermit/ckubwr.html#top
- 551. http://www.columbia.edu/kermit/ckubwr.html#contents
- 552. http://www.columbia.edu/kermit/ckubwr.html#x8
- 553. http://www.columbia.edu/kermit/ckubwr.html#x6
- 554. http://www.columbia.edu/kermit/ckuins.html#x8
- 555. http://www.columbia.edu/kermit/ckuins.html
- 556. http://www.columbia.edu/kermit/ck60manual.html
- 557. http://www.columbia.edu/kermit/ckubwr.html#top
- 558. http://www.columbia.edu/kermit/ckubwr.html#contents
- 559. http://www.columbia.edu/kermit/ckubwr.html#x9
- 560. http://www.columbia.edu/kermit/ckubwr.html#x7
- 561. http://www.columbia.edu/kermit/ckubwr.html#top
- 562. http://www.columbia.edu/kermit/ckubwr.html#contents
- 563. http://www.columbia.edu/kermit/ckubwr.html#x10
- 564. http://www.columbia.edu/kermit/ckubwr.html#x8
- 565. http://www.columbia.edu/kermit/ck60manual.html
- 566. http://dickey.his.com/xterm/xterm.html
- 567. http://www.columbia.edu/kermit/ckubwr.html#top
- 568. http://www.columbia.edu/kermit/ckubwr.html#contents
- 569. http://www.columbia.edu/kermit/ckubwr.html#x11
- 570. http://www.columbia.edu/kermit/ckubwr.html#x9
- 571. http://www.columbia.edu/kermit/ckubwr.html#top
- 572. http://www.columbia.edu/kermit/ckubwr.html#contents
- 573. http://www.columbia.edu/kermit/ckubwr.html#x12
- 574. http://www.columbia.edu/kermit/ckubwr.html#x10
- 575. http://www.columbia.edu/kermit/ckubwr.html#x11.1
- 576. http://www.columbia.edu/kermit/ckubwr.html#x11.2
- 577. http://www.columbia.edu/kermit/ckubwr.html#top
- 578. http://www.columbia.edu/kermit/ckubwr.html#contents
- 579. http://www.columbia.edu/kermit/ckubwr.html#x11
- 580. http://www.columbia.edu/kermit/ckubwr.html#x11.2
- 581. http://www.columbia.edu/kermit/ck60manual.html
- 582. http://www.columbia.edu/kermit/ckubwr.html#top
- 583. http://www.columbia.edu/kermit/ckubwr.html#contents
- 584. http://www.columbia.edu/kermit/ckubwr.html#x11
- 585. http://www.columbia.edu/kermit/ckubwr.html#x11.1
- 586. http://www.columbia.edu/kermit/ck60manual.html
- 587. http://www.columbia.edu/kermit/ckubwr.html#top
- 588. http://www.columbia.edu/kermit/ckubwr.html#contents
- 589. http://www.columbia.edu/kermit/ckubwr.html#x13
- 590. http://www.columbia.edu/kermit/ckubwr.html#x11
- 591. http://www.columbia.edu/kermit/security.html
- 592. http://www.columbia.edu/kermit/ckubwr.html#top
- 593. http://www.columbia.edu/kermit/ckubwr.html#contents
- 594. http://www.columbia.edu/kermit/ckubwr.html#x14
- 595. http://www.columbia.edu/kermit/ckubwr.html#x12
- 596. http://www.columbia.edu/kermit/ckubwr.html#top
- 597. http://www.columbia.edu/kermit/ckubwr.html#contents
- 598. http://www.columbia.edu/kermit/ckubwr.html#x15
- 599. http://www.columbia.edu/kermit/ckubwr.html#x14
- 600. mailto:support@stallion.oz.au
- 601. http://www.stallion.com/
- 602. http://www.columbia.edu/kermit/ckubwr.html#top
- 603. http://www.columbia.edu/kermit/ckubwr.html#contents
- 604. http://www.columbia.edu/kermit/ckermit.html
- 605. http://www.columbia.edu/kermit/ck80.html
- 606. http://www.columbia.edu/kermit/index.html
- 607. http://www.columbia.edu/kermit/index.html
- 608. http://www.columbia.edu/
- 609. mailto:kermit@columbia.edu