home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / ckc190.tar.gz / ckc190.tar / ckoker.bwr < prev    next >
Text File  |  1994-09-03  |  49KB  |  1,023 lines

  1. CKOKER.BWR          "Beware File" for C-Kermit Version 5A        -*- text -*-
  2.  
  3.                  OS/2 VERSION
  4.  
  5. Applies to version 5A(190) BETA.16
  6.  
  7. Last update: Fri Sep  2 14:18:18 1994
  8.  
  9. Authors: Frank da Cruz and Christine M. Gianone, Columbia University, New York.
  10.          Kai Uwe Rommel, ARS Computing & Consulting GmbH, Muenchen, Germany.
  11.          Jeffrey Altman, Altmania Productions, Great Neck, New York.
  12.  
  13.   Copyright (C) 1985, 1994, Trustees of Columbia University in the City of New
  14.   York.  The C-Kermit software may not be, in whole or in part, licensed or
  15.   sold for profit as a software product itself, nor may it be included in or
  16.   distributed with commercial products or otherwise distributed by commercial
  17.   concerns to their clients or customers without written permission of the
  18.   Office of Kermit Development and Distribution, Columbia University.  This
  19.   copyright notice must not be removed, altered, or obscured.
  20.  
  21. Report problems, suggestions, fixes, etc, to Frank da Cruz:
  22.  
  23.   Internet: fdc@columbia.edu
  24.   BITNET/EARN/CREN: FDCCU@CUVMA
  25.  
  26. Columbia University Academic Information Systems
  27. 612 West 115th Street, New York, NY  10025  USA
  28.  
  29.  
  30. DOCUMENTATION
  31.  
  32. C-Kermit 5A is documented in the book "Using C-Kermit" by Frank da Cruz and
  33. Christine M. Gianone, 1993, Digital Press / Butterworth-Heinemann, Woburn, MA,
  34. USA, ISBN 1-55558-108-0.  Price: US $34.95.  Available in book and computer
  35. stores, or order by phone, call Columbia University at +1 212 854-3703, or
  36. Butterworth-Heinemann at +1 800 366-2665.  A German edition is available from
  37. Verlag Heinz Heise in Hannover, Germany.
  38.  
  39.  
  40. UPDATE: C-KERMIT EDITS AFTER 188
  41.  
  42. As of version 5A(189), OS/2 C-Kermit supports TCP/IP connections if you have
  43. IBM TCP/IP 1.2.1 or 2.0 (or compatible products such as the one from Essex
  44. Systems) installed on your OS/2 system.  This requires a change in the
  45. installation instructions.  A new automatic installation procedure is now
  46. included, a Rexx program called INSTALL.CMD.  Just put the installation
  47. diskette into drive A:, click on the Drive A: icon, then click on INSTALL.CMD.
  48. Or from the OS/2 CMD prompt, type "a:install" (of course, you can also use
  49. Drive B).
  50.  
  51. To bypass the INSTALL procedure and install OS/2 C-Kermit manually, please
  52. read the installation instructions in the OS/2 Appendix of "Using C-Kermit"
  53. together with any updates in the READ.ME (CKOAAA.DSK) file.
  54.  
  55. Edit 190 adds ANSI and VT220 terminal emulation, Named Pipe and NETBIOS
  56. communications, a REXX programming interface, an "autodownload" (APC) feature,
  57. file transfer failure recovery, mouse support, and a completely new method of
  58. key mapping using "\Kverbs" (like MS-DOS Kermit).
  59.  
  60. For details about the new features of OS/2 C-Kermit since edit 188, please
  61. read the file CKCKER.UPD, especially the OS/2 section.
  62.  
  63.  
  64. THE 16-BIT AND 32-BIT VERSIONS
  65.  
  66. OS/2 C-Kermit comes in both a 16-bit version, which works under both OS/2
  67. 1.x and 2.0 (and later), and in a 32-bit version, which works only under OS/2
  68. 2.0 and later.  The program herald and the SHOW FEATURES command tell you
  69. which version you have.
  70.  
  71. The 16-bit version might run out of stack space and crash under certain
  72. conditions (the OS/2 message will be "Stack Overflow").  This is a limitation
  73. of the underlying 16-bit architecture.  Also the 16-bit version lacks various
  74. features of the 32-bit version due to architectural or compiler limitations:
  75. various printer operations, the Rexx interface, SET FILE TYPE LABELED (OS/2
  76. Extended Attribute) support, mouse support, Named Pipe support, NETBIOS, etc.
  77.  
  78. The 32-bit version does not (should not) crash, but it can't be used under
  79. OS/2 1.x.
  80.  
  81. It is recommended that all users choose to install the 32-bit version unless
  82. they are running a 1.x version of OS/2 (or are running on Windows NT.)
  83.  
  84.  
  85. NETWORK SUPPORT
  86.  
  87. OS/2 C-Kermit includes support for TCP/IP, DECNET LAT, NETBIOS, and Named
  88. Pipes.  Named-Pipe support should work for everybody, since this is a standard
  89. feature of OS/2.  The others require the corresponding networking product to
  90. be installed; Kermit will search for these products automatically upon
  91. startup.  NETBIOS and Named Pipe support are available only in the 32-bit
  92. version of C-Kermit.
  93.  
  94. The SET HOST command uses your current SET NETWORK type.  For example:
  95.  
  96.   SET NETWORK DECNET
  97.   SET HOST OOFA
  98.  
  99. will try to make a DECnet (PATHWORKS) LAT connection to DECnet node OOFA.
  100. However, please be aware that a SET NETWORK command will fail if the given
  101. type of network is not installed, or if (in the case of NETBIOS) the given
  102. name is already in use.  Thus a safer construction would be:
  103.  
  104.   SET NETWORK NETBIOS OOFA
  105.   IF FAIL STOP 1 Can't access NETBIOS network
  106.   SET HOST MUPEEN
  107.   IF FAIL STOP 1 Can't make NETBIOS connection
  108.  
  109. The default network type (which is used if give a SET HOST command without
  110. first giving a SET NETWORK command) depends on which network products you have
  111. installed on your OS/2 system, chosen in this order of preference:
  112.  
  113.   TCP/IP, DECnet, Named Pipes
  114.  
  115. NetBIOS cannot be a default choice because it requires a user-assigned name.
  116.  
  117.  
  118. TCP/IP:
  119. C-Kermit's TCP/IP support works with:
  120.  
  121.  . IBM TCP/IP (both the 1.2.1 16-bit DLL and the 2.0 32-bit DLL)
  122.  . Essex Systems TCP/2 (both the 16-bit and 32-bit DLLs)
  123.  . FTP Software's PC/TCP for OS/2
  124.  
  125. It is not known whether it works with Novell LAN Workplace for OS/2,
  126. Wollongong, or others.  If a TCP/IP package includes an IBM-compatible
  127. TCPIPDLL.DLL library, then C-Kermit should work with it.  Support for other
  128. OS/2 TCP/IP packages is planned and will be implemented as time permits and
  129. development toolkits are available to us.
  130.  
  131. (End TCP/IP Section)
  132.  
  133.  
  134. DECNET:
  135. DECnet LAT support works in conjunction with DEC's PATHWORKS for OS/2 product,
  136. which must be installed.  To use it:
  137.  
  138.   SET NETWORK DECNET
  139.   SET HOST <hostname>
  140.  
  141. C-Kermit then tries to load LATCALLS.DLL, which must be in your LIBPATH.
  142.  
  143. (End DECNet Section)
  144.  
  145.  
  146. NETBIOS:
  147. NetBios is the preferred protcol to use when transfering files with 
  148. MS-DOS Kermit or C-Kermit for OS/2 in a peer-to-peer local area network.  
  149. NetBios is supported over most networking protocols including: Netbeui, 
  150. IPX, IP, and LU6.2.  In addition, it has lower overhead than all other
  151. OS/2 implemented networking protocols.
  152.  
  153. Both Kermit Server and Chat modes are supported.   "Chat mode" means that
  154. both Kermit programs are in CONNECT mode, so two users can "chat" with
  155. each other by typing.  For chat mode, use:
  156.  
  157.   set terminal echo local
  158.   set terminal cr-display crlf
  159.   connect
  160.  
  161. C-Kermit supports both the original NETBIOS 3.0 (NETAPI) interface and the 
  162. newer NETBIOS 4.0 (ACSBNET) interface.  C-Kermit has been tested with the 
  163. following products:
  164.  
  165.   New NETBIOS 4.0 interface (ACSNETB.DLL):
  166.     IBM LAN Adapter and Protocol Support (LAPS) as found in:
  167.        IBM Network Transport Services/2
  168.        IBM LAN Distance
  169.        IBM Communication Manager/2
  170.        IBM LAN Server 3.x
  171.        IBM LAN Requester 3.x
  172.  
  173.   Old NETBIOS 3.0 interface (NETAPI.DLL):
  174.     Microsoft LAN Manager Requester
  175.     IBM Extended Services 1.x
  176.     IBM LAN Server 2.x Requester
  177.     Novell Netware 2.x Requester 
  178.  
  179.   Commands:
  180.     SET NETWORK NETBIOS <local netbios name>
  181.     SET HOST { *, <remote netbios name> }
  182.  
  183. Each C-Kermit session requires the following resources from the NetBios
  184. provider: 1 Name, 32 Commands, and 1 session.  For example, if you wish to
  185. have three C-Kermit sessions running simultaneously in Server mode, NetBios
  186. must be configured to support at least 3 Names, 96 Commands, and 3 sessions.
  187.  
  188. If the number of available NetBios commands is inadequate for C-Kermit's
  189. needs, a C-Kermit in Send or Server modes will quickly timeout.  In this
  190. situation, reduce the number of window slots used with C-Kermit's SET WINDOW
  191. command.  In general, there is little benefit on a local area network of using
  192. more than 2 window slots.
  193.  
  194. The default settings for some NetBios providers are:
  195.  
  196.             Config File    Names          Commands        Sessions
  197. Novell      NET.CFG         24               32              16
  198. LAPS        PROTOCOL.INI    21               95               5
  199.  
  200. The method for modifying NetBios resources depends on the NetBios product;
  201. it is normally done by executing the configuration program (LAPS, INSTALL, ...)
  202. or by manually modifying the configuration files and restarting the network
  203. (or the OS/2 system).
  204.  
  205. It is possible to have two or more products each providing NetBios services.
  206. However, there are limitations.  All products which use LAPS may be mixed
  207. together.  And LAPS may be mixed with up to one product which uses the 
  208. NETAPI.DLL product.  In particular, you can not successfully run Novell 
  209. NetBios support with IBM Extended Services.
  210.  
  211. The most common combination is LAPS and Novell NetBios.  In this situation, 
  212. you need to specify the NetBios configuration settings in both Net.Cfg and
  213. Protocol.Ini.  And the settings for Names, Commands, and Sessions *must* 
  214. match.  You must also add the following section to the PROTOCOL.INI file:
  215.  
  216. [NETBIOS]
  217.    DriverName=NetBios$
  218.    ADAPTER0=ipxnb$,<physical adapter>,<sessions>,<commands>,<names>
  219.    ADAPTER1=netbeui$,<physical adapter>,<sessions>,<commands>,<names>
  220.  
  221. where:
  222.    <physical adapter> is almost always 0 since there is usually only 
  223.         one adapter in the machine.
  224.    <sessions>, <commands>, and <names> must match the settings in NET.CFG
  225.         and PROTOCOL.INI.
  226.  
  227. Without this additional section in PROTOCOL.INI, you can use only IBM's
  228. NETBIOS implementation.  With this section, Novell's NetBIOS implementation is
  229. used by default since it must be ADAPTER0; to use IBM's NETBIOS on a system
  230. that has both Novell and IBM, start C-Kermit with the command-line option:
  231.  
  232.   -N <adapter number>
  233.  
  234. for example "ckermit -N 1" (note, uppercase N).
  235.  
  236. (End NetBios Section)
  237.  
  238. NAMED PIPES:
  239. C-Kermit supports OS/2 Named Pipes across networks when a LAN requester
  240. has been installed.  C-Kermit has been tested with the following products:
  241.  
  242.   IBM LAN Server Requester to LAN Server Network Server
  243.   Microsoft LAN Manager Requester to LAN Manager Network Server
  244.   Novell Netware Requester to Novell Netware Requester
  245.  
  246.   Commands:
  247.     SET NETWORK NAMED-PIPE <pipe name>
  248.     SET HOST { *, <named pipe server name> }
  249.  
  250. Both Kermit Server and Chat modes are supported.
  251.  
  252. Note: when using Named Pipes with LAN Server or LAN Manager, only the 
  253. machine which has the Network Server software is capable of successfully
  254. using the SET HOST * command.  This is because the client network 
  255. requesters do not implement the server side of the named-pipe network
  256. redirection.  
  257.  
  258. Novell Netware Requester for OS/2, on the other hand, implements both the
  259. named-pipes client and server code on the client workstation and does 
  260. not require the existence of a Network server to operate.
  261.  
  262. (End Named Pipes Section)
  263.  
  264.  
  265. GENERAL LIMITATIONS AND PROBLEMS
  266.  
  267. When switching away from C-Kermit's terminal screen and then switching back
  268. to it, certain video items might become confused:
  269.  
  270.  . The cursor might be lost or misplaced
  271.  . The entire screen might be blinking (more about this below)
  272.  . The screen border might have disappeared
  273.  . Colors might have changed
  274.  
  275. These problems appear to be confined only to certain systems, and do not
  276. occur on others.  It is believed that they are related to the particular
  277. video adapter or driver; the problems are most commonly reported on SVGA
  278. and XGA systems.  You can usually work around these problems in various ways:
  279.  
  280.  . Use Alt-R to reset the terminal emulator
  281.  . Escape back to the prompt and CONNECT again
  282.  . Escape back to the prompt, PUSH, EXIT, and CONNECT again
  283.  . Escape back to the prompt, run MODE CO80 (or whatever), and CONNECT again
  284.  
  285. C-Kermit has been reported to "freeze" on some systems.  This problem is not
  286. confined to C-Kermit, and has also been observed with a variety of other
  287. communications software packages:
  288.  
  289.  . The most likely cause for freezing would be an interrupt conflict.  Make
  290.    sure your serial ports, CD ROM drive / controller and/or SCSI adapter,
  291.    Soundblaster, ISA card, network adapter, etc, are all using different and
  292.    unique IRQs.
  293.  
  294.  . One user reported that the problem disappeared when he moved his serial
  295.    communication board farther away from his SCSI adapter board.  This might
  296.    have reduced electromagnetic interference, or altered the priority of
  297.    the adapters.  Sometimes, simply reseating the card can help.
  298.  
  299.  . Another user (different system) made the problem go away by rebooting
  300.    the PC, which had been up for many weeks.
  301.  
  302.  . The problem might be caused by a poorly built or configured system: noisy
  303.    bus, spurious interrupts, buggy internal modems, or buggy serial port
  304.    driver software.  For example, one user who noted that Kermit froze
  305.    whenever he told it to SET PORT COM2 also discovered that the same thing
  306.    would happen if he issued a MODE COM2 command at the CMD prompt, even
  307.    when this is done immediately after starting the system.
  308.  
  309.  . Finally, mysterious problems like this are often cleared up by installing
  310.    patches (CSDs) or new releases of the software involved (e.g. TCP/IP or
  311.    other DLLs, serial drivers, OS/2 itself, etc).
  312.  
  313. SET TERMINAL CODE PAGE only seems to work in fullscreen sessions.  For that
  314. matter, the same seems to be true of OS/2's own CHCP program, so this is
  315. apparently an OS/2 limitation (noted in OS/2 2.1 GA).
  316.  
  317. SET TERMINAL CODE PAGE (and OS/2's own CHCP program) seem to have no effect
  318. at all when the Hebrew NLV is installed.  The code page simply does not change.
  319.  
  320. Q: Is it possible to quit Kermit and NOT have the phone line hung up?
  321.    That is, quit out of Kermit leaving the modem connection open, so I can then
  322.    start SLIP?
  323.  
  324. A: No.  When an OS/2 process exits, all of its file handles are closed.
  325.    One of the penalties we pay for using a real operating system, as opposed
  326.    to (say) DOS.  It might be possible to run the SLIP process "under" Kermit.
  327.    It is also possible for Kermit to inherit the file descriptor of a serial
  328.    device from a superior process, in which case it is not closed when Kermit
  329.    exits.
  330.  
  331. Q: Does C-Kermit support multiple sessions?
  332.  
  333. A: No. If you SET PORT 1 and make a connection, and escape back and SET
  334.    PORT 2, the connection on port 1 is closed, dropped, and hung up.  The same
  335.    happens for network sessions.  To achieve multiple C-Kermit sessions, run
  336.    separate copies in different OS/2 windows.  As of edit 190, C-Kermit will
  337.    put a unique identifier in the window list for each session, such as
  338.    "C-Kermit COM1", "C-Kermit COM2", "C-Kermit KERMIT.COLUMBIA.EDU", etc.
  339.  
  340.    If you have TCP/IP installed on your OS/2 system, you can set up a SLIP
  341.    connection, and then you can run multiple copies of C-Kermit over it, using
  342.    C-Kermit's TELNET command to make the connections.  This lets you achieve
  343.    multiple sessions over a single serial port, a single modem, and a single
  344.    phone call.
  345.  
  346. C-Kermit's performance on serial connections -- and the performance of any
  347. other OS/2 communication software program -- can be improved significantly by
  348. using a 16550A(FN) communications port controller (UART) rather than an 8250,
  349. 16450, 16550 (no A), or other unbuffered UART.  Unbuffered UARTs interrupt
  350. the CPU once per character, whereas a buffered UART interrupts every 8-14 (or
  351. more) characters.  Measurements during C-Kermit file transfer on an otherwise
  352. unloaded i486/50 EISA system under OS/2 2.0 show approximately 10%-25% CPU
  353. usage with a buffered UART and 75%-100% using an unbuffered one.  And of
  354. course, as with all other OS/2 applications (and OS/2 itself), a faster CPU
  355. and more memory also help.
  356.  
  357. In any case, native OS/2 serial communications software is NOT as fast as DOS
  358. communications software (particularly MS-DOS Kermit) under DOS on the same
  359. machine because OS/2 communications must go the serial device driver, which
  360. adds the overhead of context switching; preservation of registers, stack
  361. adjustment, call gate, etc, whereas DOS applications can access the bare
  362. hardware directly.
  363.  
  364. On the other hand, differences in speed of file transfers between native DOS
  365. and OS/2 programs should be marginal or even non-existent for current
  366. widely-used high-speed modems and CPU speeds.  In addition, the fact that all
  367. communication must be done through a device driver ensures device independence
  368. (as long as the driver's programming interface is compatible to the standard
  369. COM.SYS) and efficient use of the system resources, because all known OS/2
  370. communications device drivers are interrupt-driven, while many DOS
  371. communications software packages (other than MS-DOS Kermit) might not be.  The
  372. OS/2 device driver also allows multiple file transfers on one machine at the
  373. same time (if multiple modems are connected to it, for example), and allows
  374. other (even very CPU-intensive) tasks to run concurrently without affecting
  375. the file transfer speed(s), as long as enough CPU power is available.
  376.  
  377. If you refer to a disk drive that is not ready, or to a file on such a disk
  378. drive, the OS/2 critical error handler might pop up and require action from
  379. the keyboard.  This occurs during execution of commands by inferior processes,
  380. such as DIRECTORY, REMOTE DIRECTORY, DELETE, REMOTE DELETE, etc.  It should
  381. not occur in file transfer operations.  The "hard error box" will put a halt
  382. to unattended, scripted operations, and it stops the operation of the OS/2
  383. C-Kermit server if there is no human in attendance.  To work around: add the
  384. line "AUTOFAIL=YES" to CONFIG.SYS and reboot.  This eliminates the hard error
  385. box, but it applies system-wide, not just to C-Kermit.  (The equivalent of
  386. AUTOFAIL=YES can be set on a per-process basis and C-Kermit does so for itself
  387. but it can't do this for any inferior processes started by it.)
  388.  
  389. If the PUSH command, and related commands, do not work for you, check the
  390. definition of your OS/2 COMSPEC environment variable, i.e. make sure it
  391. contains the fully-specified pathname of a valid OS/2 executable shell program
  392. (such as C:\OS2\CMD.EXE), and/or the named program is in your OS/2 PATH.
  393.  
  394. C-Kermit works with JP Software's 4OS2.EXE and any other replacement Command
  395. Shell.  The directory containing the shell must be located in the PATH
  396. in order for the replacement shell to be called correctly.
  397.  
  398.  
  399. TYPING AND CUTTING AND PASTING
  400.  
  401. When you are typing normal characters in CONNECT mode, C-Kermit should
  402. normally have no trouble transmitting them.  An exception occurs on dialed
  403. serial connections with RTS/CTS flow control when the modem might drop its CTS
  404. (Clear To Send) signal because of noise on the connection that causes the two
  405. modems to enter a "retraining" sequence.  If you type a character under these
  406. conditions, C-Kermit will write "TRANSMISSION BLOCKED 15" in the status line,
  407. and then will attempt to retransmit the character every 100 milliseconds for
  408. up to 15 seconds (the "15" is a countdown timer).  If the countdown timer
  409. expires, C-Kermit returns to the prompt with a message like:
  410.  
  411.   Serial port blocked
  412.   Tx waiting for CTS to be turned ON
  413.  
  414. (the second line will tell you the reason for the blockage).
  415.  
  416. Fifteen seconds is usually long enough for modems to retrain, but you can
  417. increase (or diminish) the retransmission timeout interval using the command:
  418.  
  419.   SET TERMINAL TRANSMIT-TIMEOUT <seconds>
  420.  
  421. You can put the transmit timer on hold by typing or holding down certain keys,
  422. such as the Alt key.  You can also escape back to the prompt while the BLOCKED
  423. message is visible, but other "hot key" functions are disabled.  Note that the
  424. BLOCKED message might not appear right away -- depending on the buffering
  425. capabilities of the UART and the configuration of the OS/2 communication port
  426. driver, a transmission error might not be reported back to C-Kermit by OS/2
  427. until the second or later blocked character.
  428.  
  429. When you type a function or arrow key (which sends a multi-character escape
  430. sequence), or a key that has been defined (via SET KEY) to send a string of
  431. characters, or when you paste into the terminal window, C-Kermit perceives
  432. "keyboard" characters arriving at a much faster rate than if they were coming
  433. from normal keystrokes, and attempts to transmit them as fast as they arrive.
  434. This might cause buffer overruns in the serial device, particularly if it is a
  435. nonbuffered UART.  Here again, you might see the TRANSMISSION BLOCKED message.
  436.  
  437. Kermit has no way of telling the difference between keystrokes and pasted-in
  438. material, so transmission blockages can sometimes be a problem when pasting.
  439. If this happens to you, you can force a pause between ALL characters sent by
  440. C-Kermit during CONNECT mode by giving the command:
  441.  
  442.   SET TERMINAL OUTPUT-PACING <milliseconds>
  443.  
  444. Try values like 20, 50, 100, etc; use the lowest one that makes the problem
  445. go away.
  446.  
  447. Copying from a VIEW screen (e.g. OS/2 help text) and pasting into a Kermit
  448. (or any other Windowed program) does not work, due to a bug in OS/2.  
  449. Workaround: paste into any PM editor (ie.,E or EPM) and then cut from there 
  450. and paste into the C-Kermit session.
  451.  
  452.  
  453. PRINTER SUPPORT
  454.  
  455. The good news:
  456.  
  457.  . The PRINT command works (if you have a printer).
  458.  . SET PRINTER filename allows transparent-print material to be redirected
  459.    to the specified file or device (32-bit version only).
  460.  . Files can be transferred to PRN in the 32-bit version only.
  461.  . LOG SESSION PRN works in the 32-bit version.
  462.  . The Print-Screen key prints the current terminal emulation screen in the
  463.    32-bit version.  If C-Kermit runs in a fullscreen session, Print-Screen
  464.    prints a text copy of the display while if C-Kermit runs in a PM window, a
  465.    graphical copy of the whole PM screen is printed (if your printer is
  466.    capable of that).  This is an OS/2 feature, having nothing to do with
  467.    C-Kermit.
  468.  . There is also a Print-Screen/Dump-Screen feature built into C-Kermit
  469.    5A(190) and later, that follows the SET PRINTER setting, for both the 16-
  470.    and 32-bit versions, and works with both the current screen and with
  471.    rolled-back screens.  This feature is activated by the CONNECT-mode
  472.    escape character, normally Ctrl-], followed by the letter F.  It is also
  473.    accomplished by the keyboard verbs, \Kdump or \KprtScn, which can be
  474.    assigned to any key.
  475.  . The keyboard verb, \KprintFF, sends a formeed to the printer.  Most
  476.    printers eject the current page upon receipt of a formfeed.  Like all
  477.    keyboard verbs, it can be assigned to any key or key combination.
  478.  . Host initiated "print current cursor line" and "print current screen"
  479.    are supported in the 32-bit version as of version 5A(190).
  480.  . Host-initiated transparent print operations work correctly in the 32-bit
  481.    version. 
  482.  . As of version 5A(190), VT52 printer functions are also supported.
  483.  
  484. The bad news:
  485.  
  486.  . All host-initiated print operations are presently ignored by the 16-bit
  487.    version (because if they are not ignored, they cause a stack overflow).
  488.  . All host-initiated autoprint requests are treated like transparent
  489.    print requests.
  490.  . Print operations, when attempted on an OS/2 system that has no printer
  491.    installed, might hang the Kermit program.  To avoid this, use SET PRINTER
  492.    to direct print data to a file or to the NUL device if you don't have a
  493.    printer.
  494.  
  495.  
  496. OS/2 C-KERMIT WISH LIST
  497.  
  498.  . Regular OS/2-style graphical user interface (*).
  499.  . True 80/132-column mode switching (*).
  500.  . True, rather than simulated, double-width, double-height lines (*).
  501.  . True, rather than simulated, underline and blink attributes (*).
  502.  . Tektronix and other graphics terminal emulations (*).
  503.  . Ability to execute VX-REXX programs (*).
  504.  . 132-column mode via horizontal scrolling.
  505.  . LK250/LK450 keyboard support.
  506.  . Improved VT-220 emulation, including character set designation and
  507.    invocation via ISO 4873 and 2022 rules.
  508.  . User-controllable beep pitch and duration.
  509.  . Support for non-IBM-compatible TCP/IP packages (e.g. Novell LWOS/2).
  510.  . Ability to run in remote mode on both serial (OS2YOU) and network (TELNET)
  511.    connections.
  512.  
  513. Items marked with (*) require conversion of C-Kermit from a VIO to a PM
  514. application, which will make it a much bigger and slower program.
  515.  
  516.  
  517. COMMUNICATIONS AND DIALING
  518.  
  519. Q: I tried to CONNECT to my modem and C-Kermit popped back to the prompt right
  520.    away, saying "No carrier detected".
  521.  
  522. A: C-Kermit's default handling of carrier is to not require it during DIALing,
  523.    but to require it at other times.  If you CONNECT to a modem before you
  524.    have a dialed connection, there is no carrier signal, so i/o operations
  525.    fail.  If you need to CONNECT to a serial device that does not present the
  526.    carrier signal (for example, to dial a modem "manually"), first tell
  527.    C-Kermit to SET CARRIER OFF.
  528.  
  529. Unless you have a very fast machine (say, 25 MHz or higher), OS/2 and its
  530. serial port drivers are not fast enough to keep up with serial input at 19200
  531. bps or higher unless you have configured your connection for the optimum type
  532. of flow control, preferably RTS/CTS.  Symptoms of lost data include fractured
  533. terminal screens during CONNECT and packet retransmissions during file
  534. transfer.  High-speed communication works well if RTS/CTS is effective, but
  535. the overall throughput is limited by your PC's CPU speed (and how busy OS/2 is
  536. with other concurrent processes).
  537.  
  538. OS/2 C-Kermit always uses 1 start bit and 1 stop bit.  If Kermit's parity
  539. setting is NONE, it uses 8 data bits, otherwise it uses 7 data bits and one
  540. parity bit.  Kermit controls parity itself, so you don't have to use the MODE
  541. command for this.
  542.  
  543. SET LINE and SET PORT are synonyms, they do exactly the same thing: select the
  544. communication device.  The syntax is the same for both:
  545.  
  546.   SET LINE [ <device-name> ]
  547.   SET PORT [ <device-name> ]
  548.  
  549. If you omit the device name, C-Kermit reverts to its default communications
  550. device, COM1.  If you include a device name:
  551.  
  552.  1. If the device name is a single digit, 1 through 8, C-Kermit converts
  553.     this digit to the corresponding COM port name, COM1 through COM8.
  554.     For example, "set port 2" is converted to "set port com2".
  555.  
  556.  2. If the device name begins with an underscore character (_), and all of
  557.     the following characters are numeric (for example, _12), the number is
  558.     assumed to be a file descriptor for an already-open communication device
  559.     (more about this below).  If the device name begins with an underscore,
  560.     but any non-numeric characters follow, a syntax error results.
  561.  
  562.  3. Any other sequence of characters (including "COM1", etc) is accepted
  563.     literally as a device name.  This includes Universal Naming Convention
  564.     (UNC) designations such as "\\server\modem" (which, due to Kermit's use
  565.     of the backslash character as command-escape, must be entered as
  566.     "\\\\server\\modem" or "//server/modem").
  567.  
  568. In cases (1) and (3), C-Kermit attempts to open the device, and then, if
  569. successful, checks to see whether it is a real communications device.  If not,
  570. the SET LINE / SET PORT command fails.  In case (2) (see below), no checking
  571. is done.  NOTE: You can also pass an open file descriptor to C-Kermit on
  572. the command line, e.g. "ckermit -l 4".  See the sample program in CKOEXP.DOC.
  573.  
  574. Unless you use the MODE command to change it, the OS/2 serial port device
  575. driver requires the DSR and CTS signals to be asserted by the device (e.g.
  576. modem) it is connected to.  If the device not provide these signals, C-Kermit
  577. will not be able to communicate.  This is a feature of the OS/2 serial
  578. communications driver.  In such cases, you can enable communication by telling
  579. the driver not to require them before starting C-Kermit (or in your
  580. CKERMIT.CMD file).  For example:
  581.  
  582.   MODE COM2 IDSR=OFF,ODSR=OFF,OCTS=OFF
  583.  
  584. If you have problems using COM3, COM4, or higher, specify the address and
  585. interrupt number (IRQ) in your OS/2 CONFIG.SYS file, in the line that starts
  586. the serial communication driver, COM.SYS (or SIO.SYS):
  587.  
  588.   DEVICE=C:\OS2\COM.SYS (number,base-address,irq) ...
  589.  
  590. This example gives the addresses and IRQs for COM3 and COM4 but leaves the
  591. values for COM1 and COM2 alone:
  592.  
  593.   DEVICE=C:\OS2\COM.SYS (3,3E8,10) (4,2E8,15)
  594.  
  595. and this example gives values for COM1 through COM4:
  596.  
  597.   DEVICE=C:\OS2\COM.SYS (1,3F8,4) (2,2F8,3) (3,3E8,10) (4,2E8,15)
  598.  
  599. WARNING: the addresses and IRQs for COM3 and COM4 are not standardized, and
  600. can vary depending on the design and configuration of your communication board
  601. or internal modem.  Consult the documentation that came with your device.
  602. Make sure you don't have multiple devices using the same IRQ.
  603.  
  604. ANOTHER WARNING: SIO.SYS is a shareware replacement for COM.SYS with more
  605. flexible options for setting up access to ports and how they are simulated to
  606. DOS sessions.  Performance of SIO.SYS and the standard COM.SYS on buffered
  607. 16550A ports can be considered roughly equal for OS/2 applications.  
  608.  
  609. SIO.SYS is not needed for C-Kermit, since C-Kermit is a native OS/2
  610. application.  However, SIO.SYS does provide support for extended buffered
  611. serial I/O boards such as the Hayes ESP which provide a 1024 character
  612. hardware buffer and extremely fast DMA transfer rates.
  613.  
  614. If you have problems with serial communications -- screen freezing, lost
  615. characters, delayed echoing of characters, etc -- and you are using an early
  616. revision of SIO.SYS, try putting back the regular OS/2 communications port
  617. driver, COM.SYS.  One user reports that these symptoms occur with any OS/2
  618. communications program (such as PM Terminal), and are fixed for all such
  619. applications by replacing SIO.SYS with COM.SYS.  This depends on the version
  620. of SIO.SYS in use, because some early revisions of it had problems with flow
  621. control.  As of this writing, the current revision is 1.30.
  622.  
  623. If you are unable to communicate at all on a serial connection, one possible
  624. reason might be that you have SET FLOW RTS/CTS (which is the default), but
  625. the serial device is not receiving the CTS signal.  This can happen even if
  626. you have give a prior MODE COMx OCTS=OFF command.  Try SET FLOW NONE.  If that
  627. doesn't work, try rebooting your PC to reset the communications device driver.
  628.  
  629.  
  630. KEY ASSIGNMENTS
  631.  
  632. The default key assignments are for a VT100 / VT102 terminal, as listed in
  633. "Using C-Kermit", Table V-3, page 430.  DEC PF1-4 to PC F1-4.  DEC keypad 0-9
  634. to Alt-0 thru Alt-9, top rank, and so on.  If you want to assign these
  635. functions to the PC's numeric keypad instead, simply TAKE CKOVTK2.INI.
  636.  
  637. CKOVTK2.INI creates bindings for all DEC VT220/320 (LK201) keys to PC keys
  638. during terminal emulation.  For further information, read the CKOVTK2.INI file
  639. itself.
  640.  
  641. Note that the numeric keypad is in Numeric Mode by default, even after you
  642. TAKE CKOVTK2.INI -- this is normal, and follows the default for real DEC
  643. terminals.  The host application software is (or should be) responsible for
  644. putting the keypad in the appropriate mode -- Numeric or Appplication.  Should
  645. the software fail to do this, and assume the wrong mode for your keypad, then
  646. use the C-Kermit command SET TERMINAL KEYPAD { APPLICATION, NUMERIC } to
  647. correct the situation.
  648.  
  649. SET KEY works with the Num Lock key, but several cautions are necessary:
  650.  
  651.  1. Num Lock has two different scan codes: \510 and \766.
  652.  2. Every time you push Num Lock, the scan code toggles.
  653.  3. Every time you push Num Lock, the keypad state toggles.
  654.  
  655. Assigning characters to Num Lock with SET KEY does not change this behavior.
  656. Thus, if you want the keypad keys to always send the same codes, no matter
  657. what the Num Lock state is, you must include two SET KEY commands for each key.
  658. This is done by CKOVTK2.INI.
  659.  
  660. Key scan codes are not all the same as in MS-DOS Kermit.  Most ordinary keys
  661. have the same codes, but not as many key combinations are differentiated.  All
  662. combinations of Ctrl, Shift, and Alt with a particular key do not necessarily
  663. produce unique scan codes.
  664.  
  665.  
  666. TERMINAL EMULATION
  667.  
  668. Frequently asked questions:
  669.  
  670. Q: When I run C-Kermit with VT220 emulation to access either the DEC EVE
  671.    (EDIT/TPU) editor or DEC VAX Notes, the screen is filled with gibberish
  672.    like: m0lJ3l24rl6l7l8h;2'z;3'{4;H'z;H;H.
  673.  
  674. A: Either tell C-Kermit to SET TERMINAL BYTESIZE 8 or tell VMS to
  675.    SET TERMINAL /NOEIGHT.
  676.  
  677. Q: How do I get Kermit to simulate all the functions of a DEC VT220 keyboard,
  678.    including arrow keys, numeric keypad, Gold key, PF keys, F keys, etc?
  679.  
  680. A: TAKE the CKOVTK2.INI file that is distributed with C-Kermit.  Read this
  681.    file to find out which PC key is mapped to which DEC key.  If you don't
  682.    like the mapping, edit this file to suit your taste.  If you always want
  683.    these mappings in effect, put the command "take c:\ckermit\ckovtk2.ini"
  684.    in your CKERMOD.INI file (assuming you have installed C-Kermit in the
  685.    C:\CKERMIT directory).
  686.  
  687. Q: Key mapping does not work as described in Appendix V of "Using C-Kermit".
  688.  
  689. A: That's right.  In version 5A(190) and later it works just like in MS-DOS
  690.    Kermit, using \Kverbs that can be assigned to any key.  See the OS/2
  691.    section of CKCKER.UPD for a complete description of the new key mapping
  692.    method, and all the other improvements in OS/2 C-Kermit since 5A(188).  Or
  693.    read the material about key mapping in "Using MS-DOS Kermit".
  694.  
  695. Q: Screen rollback doesn't work the way it used to in versions 189 and
  696.    earlier.  I liked it better the old way!
  697.  
  698. A: As of edit 190, there are two options for screen scrolling: SET TERMINAL
  699.    ROLL OFF (the default, and the new way) and SET TERMINAL ROLL ON (the old
  700.    way).  The new way allows you to carry on a dialog with the host while in a
  701.    rolled-back screen, which is handy when you need to refer to text that has
  702.    scrolled away while conversing with the host.  To get the old behavior
  703.    back, SET TERMINAL ROLL ON.  See the description of this command in the
  704.    OS/2 section of CKCKER.UPD.
  705.  
  706. Q: The SET TERM COLOR REVERSE command is gone!  Version 190 now says "Sorry,
  707.    this command has been retired.  Reverse video is now accomplished simply by
  708.    exchanging the fore- and background colors."  I prefer the ability to set
  709.    reverse video to whichever color scheme I wish.
  710.  
  711. A: The old way was simply not workable -- it appeared to work only by
  712.    accident.  When all the VT100 features were fixed and VT220 and ANSI
  713.    features were added, plus the cell-coloring extensions, there was no way to
  714.    keep this Feature.  Color is used not only for regular characters, but also
  715.    to denote underlining, blinking, and (naturally) also for explicitly-
  716.    colored characters.  So it makes no sense to have one fore- and background
  717.    color for reverse video.  How, for example, does one flip the screen
  718.    between normal video and reverse video when it has 128 different colors
  719.    showing?  This is a required feature of VT100 and higher DEC terminals
  720.    (DECSCNM = ESC [ ? 5 h/l).
  721.  
  722. Q: Reverse video doesn't always seem to actually reverse fore/background 
  723.    colors. For example, if I have the terminal set to black on white, 
  724.    reverse video comes out a rather muddy light gray on dark gray. If the 
  725.    terminal is set to light gray on dark gray, reverse is black on white.  If
  726.    the terminal is black on light gray, reverse video really is reverse.
  727.  
  728. A: The explanation for this is a bit technical:
  729.  
  730.    The video adapter stores each screen character in a two-byte cell.  The
  731.    first byte of each cell contains the 8-bit character value.  The second
  732.    byte contains the video attributes for the character, and looks like this:
  733.  
  734.       Background |    Foreground
  735.       Color      |    Color
  736.      +---+---+---+---+---+---+---+---+
  737.      | b | R | G | B | i | R | G | B |
  738.      +---+---+---+---+---+---+---+---+
  739.        b = blink       i = intensity
  740.        0 = nonblinking 0 = normal
  741.        1 = blinking    1 = high
  742.  
  743.    The i bit applies to the foreground color.  The meaning of the b bit
  744.    depends on the VIO state; it can mean (a) the foreground character blinks,
  745.    or (b) the background color is high-intensity.  C-Kermit uses (b) because
  746.    blinking only works in a fullscreen session.  The RGB bits select the
  747.    desired mixture of Red, Green, and Blue.
  748.  
  749.    When video is reversed, only the colors -- the RGB bits and not the i or
  750.    b bits are swapped.  Otherwise, we would obtain effects that are even more
  751.    surprising and undesirable: highlighted characters would no longer be
  752.    highlighted, etc.  If blinking were implemented by real blinking rather
  753.    than color simulation, then a bright foreground could become a blinking
  754.    foreground, etc.  The confusion arises because many of the colors in the
  755.    SET TERMINAL COLOR command are not "true" (3-bit) colors, but rather
  756.    effects obtained with the high-intensity bit, as shown in Table 1.  If you
  757.    stick to non-intense colors in your terminal screen, then reverse video
  758.    will work as expected.
  759.    
  760.    Table I: OS/2 C-Kermit Colors
  761.    ----------------------------------
  762.     Name      Intensity   Remarks
  763.  
  764.     BLACK      Normal
  765.     BLUE       Normal
  766.     BROWN      Normal
  767.     CYAN       Normal
  768.     DGRAY      High       Dark gray
  769.     GREEN      Normal
  770.     LBLUE      High       Light gray
  771.     LCYAN      High       Light cyan
  772.     LGRAY      Normal
  773.     LGREEN     High       Light green
  774.     LMAGENTA   High       Light magenta
  775.     LRED       High       Light red
  776.     MAGENTA    Normal
  777.     RED        Normal
  778.     WHITE      High
  779.     YELLOW     High
  780.    ----------------------------------
  781.    
  782. LIMITATIONS
  783.  
  784. Certain VT terminal features are not implemented, including:
  785.  
  786.  . Smooth scroll
  787.  . Switching between 80- and 132-column mode
  788.  
  789. and others are simulated:
  790.  
  791.  . Double-width and double-height lines (by doubling characters)
  792.  . Underlining (by a distinct color)
  793.  . Blinking (by the brightness of the background color)
  794.  
  795. Blinking is simulated by a shift in background intensity because blinking
  796. cannot be done in an OS/2 window.  Even in fullscreen sessions, the underlying
  797. video drivers tend to be buggy and inconsistent in their support for the
  798. blinking attribute.
  799.  
  800. Underlining is simulated because color PC video adapters do not support
  801. underlining in text mode.  Note that you should use a distinct background
  802. color for underlining if you want blinking text differentiated from underlined
  803. text.
  804.  
  805. Double-height and -width lines are simulated because they cannot be
  806. accomplished in text mode; text terminal emulation in graphics mode would be
  807. painfully slow.
  808.  
  809. C-Kermit's VT220 emulation lacks the following VT220 features:
  810.  . Host-directed ISO 2022 character-set designation and invocation
  811.    (use the SET TERMINAL CHARACTER-SET command for this).
  812.  . Protected fields (because we don't have enough attribute bits):
  813.      CSI Ps " q (Ps = 0, 1, 2) - select characters to be erasable or not
  814.      CSI ? Ps K (Ps = 0, 1, 2) - erase erasable characters in line
  815.      CSI ? Ps J (Ps = 0, 1, 2) - erase erasable characters in display     
  816.  . Various host-initiated printing controls (highly dependent on DEC printers):
  817.      CSI ? 43 h/l - Large/normal characters
  818.      CSI ? 44 h/l - Color/monochrome
  819.      CSI ? 45 h/l - RGB vs HLS color system
  820.      CSI ? 46 h/l - Background+foreground/only-foreground to printer
  821.      CSI ? 47 h/l - Rotated/normal printing
  822.  . Downline-Loadable Character sets (DRCS) (graphics mode would be required)
  823.  . VT240 Tektronix, Sixel, or ReGIS graphics (graphics mode would be required)
  824.  . UDK's (can be done if there is a demand, but it might be tough finding
  825.    fifteen keys with unique and unused scan codes to map them to!).
  826.  
  827. ANSI TERMINAL EMULATION
  828.  
  829. So-called ANSI terminal emulation is a subset of VT100 emulation, but with
  830. host- controlled colors and using 8-bit IBM code-page 437 characters for line
  831. and box drawing, plus some unique escape sequences for cursor save/restore.
  832. ANSI terminal emulation is generally used to communicate with BBSs, and has
  833. nothing to do with ANSI (the American National Standards Institute); the
  834. misappropriated term "ANSI" seems to derive from the MS-DOS (and OS/2)
  835. ANSI.SYS console driver, itself misnamed.  C-Kermit supports ANSI terminal
  836. emulation as of edit 190, via SET TERMINAL TYPE ANSI.
  837.  
  838. C-Kermit's ANSI emulation does nothing special with the keys; in particular,
  839. there is no attempt at "PCTERM" keyboard handling, in which unique key-down
  840. and key-up sequences are transmitted separately for every single IBM key
  841. (including Shift, Alt, etc), apparently needed for the SCO UNIX console
  842. terminal, but evidently not needed for BBS's.  There is also no support for
  843. so-called ANSI music, which violates every conceivable rule (laid down by ANSI
  844. itself!) about the structure and form of escape sequences.
  845.  
  846. 132 COLUMNS
  847.  
  848. You can use 132 columns in a fullscreen session if your video adapter
  849. supports it.  Issue the command:
  850.  
  851.   MODE CO132,xx
  852.  
  853. (where xx is the desired screen length) at the CMD prompt, or:
  854.  
  855.   RUN MODE CO132,xx
  856.  
  857. at the C-Kermit prompt.  You can switch back to 80-column mode via:
  858.  
  859.   [ RUN ] MODE CO80,xx
  860.  
  861. 132-column mode is not supported in an OS/2 window.
  862.  
  863. Host-directed switching between 80- and 132-column mode is presently not
  864. supported.
  865.  
  866. OTHER TERMINAL EMULATION ITEMS...
  867.  
  868. Scrolling is slower in an OS/2 Window.  This is because OS/2 is operating in
  869. graphics mode (to simulate text mode) and must draw each dot (pixel)
  870. individually.  Fullscreen scrolling, which uses character mode, is much faster.
  871. But when running C-Kermit in fullscreen mode you lose the ability to cut and
  872. paste between applications.
  873.  
  874. Unless you say otherwise, C-Kermit employs a trick to make screen updates
  875. faster: The cursor disappears briefly while the screen is being updated and
  876. appears again within a few milliseconds after screen activity stops.  Since
  877. this can be disconcerting to fast typists, edit 190 adds a new command, SET
  878. TERMINAL HIDE-CURSOR { ON, OFF } to let you turn this feature off (or back
  879. on).  Experimentation on a relatively fast PC shows that TERMINAL HIDE-CURSOR
  880. OFF makes screen updates about 1/3 slower on network connections, but makes
  881. little difference on serial connections, where the communication speed is the
  882. bottleneck.
  883.  
  884. SET FLOW XON/XOFF prevents you from transmitting Ctrl-S and Ctrl-Q characters
  885. to the host.  These characters are commands (Search and Quote) in EMACS.  To
  886. use Ctrl-S and Ctrl-Q as commands to host applications, you must SET FLOW NONE
  887. or SET FLOW RTS/CTS.
  888.  
  889. Shift-in/Shift-Out works only if you SET TERMINAL LOCKING-SHIFT ON (except
  890. in the case of the DEC Technical Character Set, used for line- and box-
  891. drawing, etc, which is handled specially).
  892.  
  893. Host-directed US/UK character-set switching (ASCII 35 interpreted as
  894. number sign in US, Pound Sterling sign in UK) works only if you have SET
  895. TERM CHARACTER-SET ASCII.
  896.  
  897. Under certain conditions on certain systems, OS/2 C-Kermit has been observed
  898. to put the entire screen (or subsequent help screens) in blinking mode.  For
  899. example, when running in a fullscreen session, CONNECT mode active, background
  900. color is high-intensity, and using Alt-Esc to get to the desktop, then
  901. resuming the Kermit window can produce this effect; reportedly, this is caused
  902. by a bug in some of OS/2's video drivers.  Alt-R (reset) makes the blinking
  903. stop.  To avoid the problem altogether, don't use high-intensity background
  904. colors.  See Table I above.
  905.  
  906.  
  907. COMMAND PROCESSING
  908.  
  909. Command recall, added in edit 190, allows you to recall earlier commands by
  910. typing Ctrl-B or UpArrow.  In other C-Kermit versions (UNIX, etc) Ctrl-P is
  911. used for this purpose, but you can't use Ctrl-P in OS/2 because it turns
  912. on your printer.  
  913.  
  914. If you type Ctrl-P at the C-Kermit> prompt and nothing happens (no beep, no
  915. recalled command, but you hear some disk activity)), then type Ctrl-P once
  916. more (to turn off the printer) and use Ctrl-B for command recall instead.
  917.  
  918. As of edit 190, C-Kermit should be able to handle bare backslashes in file
  919. specifications in most commands, e.g.
  920.  
  921.   send c:\letters\angry.txt
  922.   cd e:\temp
  923.  
  924. However, you still can't end a command with a single backslash, e.g.:
  925.  
  926.   cd c:\
  927.  
  928. because C-Kermit treats a single backslash at the end of a command as a
  929. line-continuation indicator.  To get around this, double the backslash:
  930.  
  931.   cd c:\\
  932.  
  933.  
  934. FILE TRANSFER
  935.  
  936. Be sure to activate the appropriate type of flow control before transferring
  937. files, especially if you are using long packets:
  938.  
  939.   SET FLOW RTS/CTS
  940.     Preferred, if the device your PC is immediately connected to supports it.
  941.  
  942.   SET FLOW XON/XOFF
  943.     Used end-to-end, but subject to noise corruption, propogation delays, etc.
  944.  
  945. By default OS/2 C-Kermit uses whatever flow control is already configured
  946. for the communications port driver at the time you started C-Kermit.
  947.  
  948. WARNING: If your FLOW-CONTROL setting is RTS/CTS and serial connections don't
  949. work (screen and keyboard seem to be frozen), it is likely that the device
  950. and/or cable is not providing the CTS signal to your PC.  In that case, try
  951. using SET FLOW NONE or SET FLOW XON/XOFF.
  952.  
  953. For transferring files with HP-48 Series calculators, use all the default
  954. settings (short packets, window size 1, etc), but SET FLOW NONE.
  955.  
  956. There is no way send the complete contents of a file in text mode if the file
  957. contains a Ctrl-Z character that is not the last character in the file.  In
  958. other words, Ctrl-Z is always treated as end-of-file when the FILE TYPE is set
  959. to TEXT.  There should be a SET EOF {CTRLZ, NOCTRLZ} command as in MS-DOS
  960. Kermit to control the treatment of Ctrl-Z characters in text files.
  961.  
  962. Reportedly (not confirmed), wildcard expansion (e.g. "send oofa.*" or
  963. "echo \ffiles(oofa.*)") does not work on NFS-mounted volumes under IBM
  964. TCP/IP 1.2.1 (but these operations do work OK under IBM TCP/IP 2.0).
  965.  
  966. SET FILE COLLISION UPDATE has the following peculiarity: On FAT (i.e. DOS)
  967. file systems, a file's date/time is recorded with a granularity of 2 seconds,
  968. whereas on most other kinds of file systems (UNIX, VMS, OS/2 HPFS, etc), it is
  969. recorded to at least the exact second.  Thus when OS/2 C-Kermit records the
  970. timestamp of an incoming file, the "one's place" of its time is truncated.  If
  971. it was an odd number, therefore, it will be one second "older" than the
  972. date/time of the original file.  Downloading the same file again with SET FILE
  973. COLLISION UPDATE would result in a second, unnecessary transfer of the file,
  974. since the remote file would appear to be newer than the local file.
  975. Therefore, OS/2 C-Kermit, when making this comparison, will treat two times as
  976. equal if (a) the local file's time is an even number, (b) the remote time is
  977. equal to (of course) or exactly one second greater than the local time, and
  978. (c) the local file system is FAT.
  979.  
  980. Refreshing the fullscreen file transfer display (by typing Ctrl-L or Ctrl-W)
  981. does not refresh all of the fields.
  982.  
  983.  
  984. REMOTE ACCESS
  985.  
  986. If your OS/2 2.x system is running IBM TCP/IP, it is possible to TELNET to
  987. your OS/2 system to have a CMD session, in which you can run only
  988. character-mode commands and applications.  
  989.  
  990. Depending on the kind of machine you are TELNETing from, you might be able to
  991. run only programs which use standard (or real keyboard) input and standard
  992. output.  If the program does VIO screen output it will run in a TELNET session
  993. only if you TELNETed into the OS/2 PC from another OS/2 PC, not from (for
  994. example) a UNIX or VMS machine.  The reason is that intercepting and relaying
  995. VIO screen output to a remote machine is only possible with support from the
  996. remote machine, which is only implemented in the OS/2 TELNET client.  Since
  997. C-Kermit does VIO output, it will not work if you TELNET into the OS/2 machine
  998. from a non-OS/2 machine.  It will also only work if you TELNET into the OS/2
  999. machine from another OS/2 machine using the real IBM OS/2 TELNET program, not
  1000. with any other TELNET client application (including C-Kermit) because the
  1001. mentioned client support is implemented only in the IBM TELNET application.
  1002.  
  1003. If you run a PM application (such as "help") while TELNETed to your OS/2
  1004. system, your session will hang because control will have been transferred to
  1005. the real keyboard, mouse, and screen.  Similarly, if you manage to invoke the
  1006. OS/2 critical error handler during a character-mode application (for example,
  1007. "dir a:" when there is no diskette in the A: drive).
  1008.  
  1009. You can run C-Kermit in a remote TCP/IP session and tell OS/2 C-Kermit to SET
  1010. LINE to a serial device and call up a third computer.  Thus OS/2 C-Kermit can
  1011. be used as a modem server in the TCP/IP environment.
  1012.  
  1013. However, at present you cannot transfer files between your local Kermit
  1014. program and OS/2 C-Kermit when TELNET'd *to* OS/2 because sockets are
  1015. different from file handles in OS/2 and are not passed to child processes via
  1016. the "tty" file handle, as they are in UNIX in the same situation.
  1017.  
  1018. It is also possible to get an OS/2 CMD session on a serial connection when
  1019. dialing into your OS/2 system if you are running a product such as OS2YOU, but
  1020. C-Kermit file transfer does not yet work in this environment either.
  1021.  
  1022. (End of CKOKER.BWR)
  1023.