File CKCKER.UPD, Supplement to "Using C-Kermit". -*- text -*- As of version: 5A(189) This file updated: Fri Nov 19 10:32:00 1993 Authors: Frank da Cruz and Christine M. Gianone Address: Watson Laboratory, Columbia University Academic Information Systems 612 West 115th Street, New York, NY 10025, USA, Earth Phone: +1 212 854-5126 Fax: +1 212 662-6442 -- or -- +1 212 663-8202 E-Mail: kermit@columbia.edu (Internet), KERMIT@CUVMA (BITNET/EARN/CREN) Copyright (C) 1985, 1993, Trustees of Columbia University in the City of New York. The C-Kermit software may not be, in whole or in part, licensed or sold for profit as a software product itself, nor may it be included in or distributed with commercial products or otherwise distributed by commercial concerns to their clients or customers without written permission of the Office of Kermit Development and Distribution, Columbia University. This copyright notice must not be removed, altered, or obscured. This file lists changes made to C-Kermit since version 5A(188) was released and the first edition of the book "Using C-Kermit" was published. Use this file as a supplement to "Using C-Kermit". If the "most recent update" shown above is long ago, contact Columbia University to see if there is a newer release. Also see the CKCKER.BWR ("C-Kermit beware") file for hints, tips, restrictions, etc, plus the system-specific "beware file", e.g. CKUKER.BWR for UNIX, CKOKER.BWR for OS/2, etc. ------------------------------ C-KERMIT DOCUMENTATION Frank da Cruz and Christine M. Gianone, "Using C-Kermit", Digital Press, Burlington, MA, 1993, 514 pages. DEC Order Number: EY-J896E-DP Digital Press ISBN: 1-55558-108-0 Prentice Hall ISBN: 0-13-037490-3 Single-copy price: US $34.95; quantity discounts available. Available in computer, book, and software stores or directly from Columbia University or from Digital Press. To order from Columbia University, call +1 212 854-3703; overseas orders accepted (price is US $45 outside of North America), MasterCard and Visa accepted. In the USA only, you can also order from DECdirect toll-free at +1 800 344-4825; major credit cards accepted. To order by mail, write to: Kermit Development and Distribution Columbia University Academic Information Systems 612 West 115th Street New York, NY 10025 USA Telephone: (USA) 212 854-3703 Orders may be paid by MasterCard or Visa, or prepaid by check in US dollars. Add $35 bank fee for checks not drawn on a US bank. Price includes shipping. Do not include sales tax. A German-language edition will be available in late 1993 / early 1994 from Verlag Heinz Heise GmbH & Co. KG, Helstorfer Strasse 7, D-30625 Hannover. Tel. +49 (05 11) 53 52-0, Fax. +49 (05 11) 53 53-1 29. ------------------------------ ERRATA & CORRIGENDA The following errors have been noted (mostly by Gisbert W. Selke, who is translating the book into German) in "Using C-Kermit" (first edition, first printing) : PAGE REMARKS xviii Fridrik Skulason's name is spelled with an eth, not a d. xx Ditto. 13-14 The list of systems supported by C-Kermit is not exhaustive. New systems discovered since the printing date are listed in the file CKCxxx.UPD, where xxx is the current edit number, e.g. 189. 46 The SET CARRIER description says that it doesn't take effect until the next SET LINE command. In fact, it can have an effect at certain other times too, such as when you issue any communication-oriented command that changes the communication device modes. The SET CARRIER AUTO description should say: "Requires carrier during CONNECT, TRANSMIT, INPUT, OUTPUT, and SCRIPT commands, but not during DIAL operations or file transfer." These fine distinctions in SET CARRIER operation apply mainly to System-V or POSIX based UNIX C-Kermit implementations and OS/2 C-Kermit, but (in general) not to others. 53 Table 3-2, HST-COURIER, contains extraneous typesetting information ("Courier10PitchBT-Roman"). (This probably happened because an error-correcting protocol was not used to download the final PostScript to the printer :-) Two new modem types, COURIER and SPORTSTER have been added, which are the same as HST-COURIER. The description should say "US Robotics modems". 85 The command in the final line in the example, "send olga It's 765-4321", should be underlined. 93 The description of SET SESSION-LOG fails to mention that XON and XOFF are removed from a text-mode session log. 101 In the HINT inset, the words SEND and RECEIVE should be exchanged. 144 In REMOTE CD [ directory ] description, the brackets should be in italics. 145 There should be no right parenthesis in REMOTE DIRECTORY [ filespec) ]. 150 "Now start C-Kermit on the VAX..." should say "Now start C-Kermit on the UNIX system..." 164 The description of compression predates the new SET REPEAT command, described below. 172 Table 9-2. The text fails to mention that the Chinese Roman, Icelandic, and Japanese Roman sets are not used by C-Kermit. All nine occurrences of accent acute (') by itself in column 6/00 should be accent grave (`). Column 7/14 for Norwegian should show macron (overline) rather than vertical bar. 174 Table 9-4, row 03, column 13 should be O-acute, not O-grave. 178 Next-to-last paragraph: "rlogin -8", not "rsh -8". 185 C-Kermit>set unknown-char-set (not "sent unknown-char-set"). 189 The description of JIS X 0201 says that it differs from a Latin Alphabet in that the right half has some empty positions. Some Latin Alphabets (e.g. Latin/Hebrew) also have empty positions. 197 6th line from bottom: MSCUSTOM.INI, not MSKERMIT.INI. 203 Examples should say XM (XMIT) rather than XF (XFER). 215 Example should say "duplex" rather than "duplux". 239 Line 3: "secret" should be "oofa". 242 First line should have no comma at the end. 246 Description of label syntax should state that in a macro definition, labels are set off by commas. 249 In the syntax description of the FOR command, the words "initial", "final", and "increment" should be in italics, and there should be no right angle bracket (>) following the word "increment". Also, the description of the FOR command fails to state explicitly that the increment can be negative for counting backwards, in which case the completion test is that the variable becomes less than the final value, not greater than the final value. Also, the book does not mention that the value of the loop variable can be changed by the commands in the loop contents, and this will affect the execution of the loop. 250 In the wakeup-call example, the tests should be "if llt" rather than "if not lgt". 252 Comments on the example should say "third is smaller or equal". 252 Text fails to mention that functions can not change their arguments (i.e. arguments are passed by value). 254 \Flower() and \Fupper() functions only work correctly on 7-bit ASCII letters. 258 Table 12-2, operator |. Example should say \%a | 4 gives value 6. 264 Table 12-3, entry "double width line" should be \27#6, not \27#4. 264 Table 12-3, entry "set scrolling region" should refer to top row, bottom row; not to row, column. 264 Table 12-3, entry "Stops transparent printing", Kermit Notation column, should say "\27[4i", not "\27[0i". 264 Table 12-3, entry "Starts transparent printing", Kermit Notation column, should say "\27[5i", not "\27[0i". 264 Table 12-3, entry "VT200 ID" should say "ESC [ 62c", not "ESC [ 6c". 264 Table 12-3, entry "VT300 ID" should say "ESC [ 63c", not "ESC [ 6c". 266-267 The section File Transfer Shortcuts does not apply to file transfer with MS-DOS Kermit 3.13 or later. The escape sequences associated with the TERMINALR and TERMINALS macros in MS-DOS Kermit 3.12 and earlier are now used for changing screen-writing direction during terminal emulation, as on real DEC Hebrew VT terminals. See CKCKER.UPD or MSKERM.UPD for detailed information. 268 Carl, not Karl, Friedrich Gauss. 269 The OPEN !READ command example for VMS should use /EXCLUDE= rather than /EXCEPT=. 272 Line 14 of example should say "if = \%n \%d", not "if = \%i \%d". 276 Line 13: When you give a SERIAL (not LINE), NET, or CALL command... 286 The OUTPUT command in the middle of the page should say "\27[\?6c" rather than "\27[\?1c". 287 SET INPUT TIMEOUT QUIT in the VMSLOGIN macro should be SET INPUT TIMEOUT PROCEED. 294 The CISLOGIN macro has several mistakes. The following section: input 5 User ID:,- output \%2\13,- input Password:,- output \%3\13,- input 20 Enter Choice!,- Should be replaced by: input 5 User ID:,- output \%1\13,- input 5 Password:,- output \%2\13,- input 20 CompuServe Information Service,- 299 Paragraph after "define ACCESS": "and assigned to the local temporary variable \%9" should be removed. Towards the bottom of the page, the example and the last two paragraphs should be adjusted to discuss the ACCESS macro definition as it appears at the top of the page! The \%9 variable is not used. The example "if def \%9 doaccess { \%2} \%9" should read "if success doaccess { \%2} \v(return)". In the first line of the last paragraph, "\%9" should be changed to "\v(return)". 315 VMS examples: $ define compuserve $sys$system:kermit.exe sys$login:compuserve.cmd $ define sprintnet $sys$system:kermit.exe sys$login:sprintnet.cmd Should be: $ compuserve :== $sys$system:kermit.exe sys$login:compuserve.cmd $ sprintnet :== $sys$system:kermit.exe sys$login:sprintnet.cmd 323-324 The description of C-Kermit program exit status codes fails to mention the special method used by (Open)VMS, in which these codes are assigned to the symbol CKERMIT_STATUS (see CKVKER.BWR). 352 The syntax of SET TELNET TERMINAL-TYPE should include italicized square brackets around "text" to indicate that the text is optional, and that if it is omitted, the TELNET TERMINAL-TYPE reverts to the default, usually the terminal type of your login session. 352 The entries for SET TERMINAL ANSWERBACK, ARROW-KEYS, KEYPAD-MODE, and SCROLLBACK are missing. These are OS/2-specific commands (all of these except those new to edit 189 -- ANSWERBACK and SCROLLBACK -- are described in the OS/2 Appendix on page 432). 353 The entries for SET TERMINAL TYPE and WRAP are missing. These are also OS/2-specific commands (described on page 432). 366 In Table II-2, "ATSO=0" should be "ATS0=1". 402-403 "define sys$input" and "define sys$output" in the examples on these two pages should be "define /user_mode sys$input", etc. This makes the definitions effective only for the next program invocation. In that case the "deassign sys$input", "deassign sys$output" commands can be removed. 403 The section "Running C-Kermit in DCL Command Procedures" fails to describe how to use C-Kermit's exit status codes (see CKVKER.BWR). 419 The "stepping-stone" at the beginning of the OS/2 Appendix fails to refer readers to the CKCKER.BWR and CKOKER.BWR files. 420 Footnote. The COMDMA driver, though discussed in the OS/2 documentation, never actually existed. The regular COM.SYS driver is used instead. 425 The first paragraph in the Serial Communications section fails to mention that other serial-port device names are also acceptable. 430 Table V-3 fails to include the Num Lock key, and the accompanying text does not mention the fact the fact that it can be assigned with SET KEY. See CKOKER.BWR. 431 Third paragraph. "F1 through F4" should be "F1 through F10". Also, the Home key should be included in the list of keys that control screen rollback. 432 The description of SET TERMINAL ANSWERBACK is missing. 438 No explanation of "nbits". 1=8-bit characters, 2=7-bit characters. "baud" should be "bps". 440 Table V-10. ESC W misplaced (alphabetically). 447 "SET FILENAMES" should be "SET FILE NAMES". 462 The text at the top of the page should say "ISO 8859", not "ISO 8858". 463 Table VIII-3. Same as for Table 9-2, page 172. Plus: Fr-Canadian should be listed as Canadian-French. 486 The Cyrillic expansion for "KOI" is misspelled. 491 Reference [6]. The third Cyrillic word is misspelled. 495 Reference [48]. "Unterschiessheim" should be "Unterschleissheim". Reference [50]. Second Cyrillic word misspelled. Index Lacks an entry for Telenet ("Telenet, See SprintNet"). Lacks an entry for Encryption (pages 304-306). Please send reports of other errors to the authors, as well as suggestions for improvements, additional index entries, and any other comments. ------------------------------ MAJOR NEW FEATURES The following major features were added since "Using C-Kermit" was published in February 1993: (1) Hebrew Character-Set Support (2) Control over Keyboard Cancellation of Packet Mode (3) Explicit Control of Repeat-Count and Control-Character Prefixing (4) OS/2 C-Kermit improvements (5) New \f...() functions (6) POSIX improvements (7) OUTPUT command improvements (8) New APC command for use with MS-DOS Kermit 1. HEBREW CHARACTER-SET SUPPORT C-Kermit 5A(189) has the following new commands for Hebrew file transfer: SET TRANSFER CHARACTER-SET HEBREW-ISO = ISO 8859-8 Latin/Hebrew Alphabet SET FILE CHARACTER-SET HEBREW-ISO = ISO 8859-8 Latin/Hebrew Alphabet SET FILE CHARACTER-SET CP862 = Hebrew PC Code Page SET FILE CHARACTER-SET HEBREW-7 = DEC 7-Bit (VT100) Hebrew These commands work just like the corresponding commands for Cyrillic character sets, described in Chapter 9 of "Using C-Kermit". When receiving files, C-Kermit recognizes Hebrew files automatically if the file sender tags the file as Hebrew in the Attribute packet, which the file sender should do if it has been given the SET TRANSFER CHARACTER-SET HEBREW command; C-Kermit does not, however, switch automatically to a Hebrew file character-set, so you must choose one in advance if that's what you want. The tag is "I6/138" (these are ISO registration numbers). When sending files in Hebrew mode, of course, C-Kermit includes the same tag. An invertible translation table between Latin/Hebrew and CP862 is used during both terminal emulation and file transfer. The translation table between Hebrew-7 and Latin/Hebrew is non-invertible because these character sets are different sizes. Here is an example of uploading a Hebrew file from a PC to UNIX. The PC version is coded in the Hebrew PC code page, and the UNIX version is to be stored in the 7-bit Hebrew character-set so it can be sent as network e-mail: C-Kermit> set file character-set hebrew-7 ; I want a 7-bit version for email C-Kermit> receive ; Wait for the file. ; Escape back to the PC MS-Kermit> set file type text ; Make sure we are in text mode MS-Kermit> set file character-set cp862 ; File coded in Hebrew PC code page MS-Kermit> set xfer character-set hebrew ; Send using ISO Latin/Hebrew MS-Kermit> send foo.bar ; Send the file The file sender automatically tells the file receiver that the transfer character-set is Hebrew. The three Hebrew character sets are also available for use in C-Kermit's TRANSLATE command, which translates a local file from one character-set to another. Thus you can use C-Kermit to convert a local file from, say, Latin/Hebrew to Hebrew-7. C-Kermit's Hebrew file transfer features can be used in conjunction with MS-DOS Kermit 3.13 and later (with which C-Kermit shares the same translation tables to ensure consistent translations) and IBM Mainframe Kermit 4.2.x, which translates between Latin/Hebrew and IBM CECP 424 (the Hebrew EBCDIC Country Extended Code Page). HEBREW TERMINAL EMULATION There is no support for right-to-left screen-writing direction or other terminal emulation features in C-Kermit, since C-Kermit does not do terminal emulation itself, but just provides a terminal-independent "pipe" to your terminal emulator. However, you can still have C-Kermit provide the character translations during CONNECT mode: SET TERMINAL CHARACTER-SET { HEBREW-ISO, HEBREW-7, CP862 } [ local-cset ] The terminal character-set affects not only CONNECT mode, but also the session log and the TRANSMIT command. Note: OS/2 C-Kermit does include a terminal emulator, but it is a VT102 emulator, whereas VT220 or higher is required for Hebrew operations such as host-initiated character-set designation & invocation, host-initiated screen-writing direction and keyboard mode changes, etc. Thus, only character-set translation is provided in this case. You can test for the presence of Hebrew support in your version of C-Kermit using the CHECK HEBREW command or the SHOW FEATURES command. 2. KEYBOARD CANCELLATION OF PACKET MODE. When C-Kermit is in remote mode and in packet mode, the user can type two consecutive Control-C characters to get out of packet mode. But on noisy connections, two Control-C's might show up as noise; or you might want to allow C-Kermit to accept Control-C characters literally in data packets during file transfer. The following command lets you control this feature: SET TRANSFER CANCELLATION { OFF, ON [ [ is the ASCII code for the control character (0 through 31 or 127) to be used for interruption (the default is 3 = Ctrl-C), and the optional is the number (default 2) of consecutive copies of the character required to cause interruption. For example, "SET XFER CANCEL ON 6 5" tells C-Kermit to break out of packet mode upon receipt of 5 consecutive Ctrl-F (ASCII 6) characters. If you SET TRANSFER CANCELLATION OFF, you might still need a manual method of getting remote-mode C-Kermit out of packet mode. This can be accomplished by escaping back to your local Kermit and giving a RECEIVE command, then typing E (or Ctrl-E) to send an error packet. Or just type the following Kermit packet: # E* <-- This is a "fatal error" packet. If the remote Kermit is in server mode, you can send a FINISH command, or if you don't have a local Kermit to escape back to, type: $ GF4 <-- This is a FINISH command packet, for the server. The SET TRANSFER CANCELLATION command was installed for the UNIX, VMS, and DG versions of C-Kermit 5A(189). Use SHOW PROTOCOL to find out the current settings. 3. EXPLICIT CONTROL OF REPEAT-COUNT AND CONTROL-CHARACTER PREFIXING This feature allows you to improve C-Kermit's file transfer performance on connections that you know are transparent to a certain set of control characters. It lets you tell C-Kermit exactly which control characters need to be prefixed and which ones don't when sending files. SET { SEND, RECEIVE } CONTROL-PREFIX Sets the control-character prefix which C-Kermit uses to the ASCII character represented by the numeric . The must be in the range 33-63 or 96-126. Normally it is 35 (#, number sign). SEND is the one that C-Kermit should use in packets it is sending. RECEIVE should normally never be used, except to override some kind of protocol negotiation foulup with a buggy commercial or shareware Kermit implementation. Synonym: SET { SEND, RECEIVE } QUOTE. SET CONTROL-CHARACTER UNPREFIXED { ..., ALL } Says you think it's safe to include the control character represented by without prefixing in packets which C-Kermit sends. The is the numeric ASCII code for a control character, 1-31, 127-159, or 255. For example, linefeed (code 10) is normally sent as two printable characters, #J. SET CONTROL UNPREFIXED 10 lets linefeed be sent literally. Include the word ALL to unprefix all control characters (except 0). Or you can specify a list of one or more numeric values, separated by spaces, e.g.: SET CONTROL UNPREFIXED 2 4 5 18 20 If you can safely declare a lot of control characters to be UNPREFIXED, you can send binary files (esp. precompressed ones) up to about 20-25% faster. If you include a control character in this category that causes trouble, however, the transfer will fail, so experimentation is necessary. This command will not let you "unprefix" the NUL character (0), nor the following characters if C-Kermit's current FLOW-CONTROL setting is XON/XOFF: 17, 19, 145, 147. Nor can you unprefix character 255 on a TELNET connection. SET CONTROL-CHARACTER PREFIXED { ..., ALL } Says that the given control character(s) must be prefixed in Kermit packets. By default, all control characters, 0-31, 127-159, and 255, are prefixed. SHOW CONTROL-PREFIXING Displays the current control prefix and a table of all control-character values, showing 1 for each one that will be prefixed and 0 for each one that will not be prefixed. SET REPEAT PREFIX Sets the repeat-count prefix to the ASCII character represented by the numeric . Normally it is 126 (tilde). The must be in the range 33-63 or 96-126. SET REPEAT COUNTS { OFF, ON } Turns the repeat-count compression mechanism off and on. REPEAT COUNTS are ON by default. Turn them OFF in case they cause trouble when used against a faulty Kermit implementation in a shareware or commercial communications program. Or when transferring precompressed files (like .ZIP or .Z files), since it is very rare to find runs of repeated characters, and disabling the repeat-count mechanism frees another character from prefixing, thus resulting in slightly more efficient transfers. The purpose of the SET CONTROL UNPREFIX command is to UNILATERALLY configure C-Kermit to skip prefixing and printable encoding of selected control characters to achieve higher performance when sending files. This feature takes advantage of the fact that most Kermit programs will accept control characters within packet data-fields literally, provided they get through at all, and provided they do not have a special meaning to the receiving Kermit program (such as, in many cases, the packet-start and packet-end characters). There is no protocol negotiation between the two Kermit programs to determine a "safe set" of control characters, and in fact any such negotiation would be largely meaningless, because in most cases the two Kermit programs don't have all the needed information. For example, there might be a terminal server or PAD between them that is sensitive to a particular control character, even though the two Kermit programs are not. If you include in your SET CONTROL UNPREFIXED list one or more control characters that are unsafe, any of several things might happen: 1. Transfer of any file containing these characters will fail. 2. The receiving Kermit program might be interrupted or halted. 3. Your connection might become hung, stuck, or broken. For example because a control character causes a PAD, terminal server, or similar device to go from online mode to command mode. The set of safe control characters depends on the two Kermit programs, their settings, the host operating systems and their settings, the communication and flow control methods, and all the devices, drivers, and protocols that lie between the two Kermit programs. Therefore, this feature is recommended only for the stout of heart. You must be willing to experiment in order to achieve the optimal safe set. Create a short file containing all 256 possible bytes in sequence and also in pairs, as well as several text strings surrounded by CRLFs; for example, compile and run the following program, redirecting its output to a file: ---(cut here)--- #include main() { int i; puts("\r\n256-byte test pattern:\r\n"); for (i = 0; i < 256; i++) putchar(i); /* singles */ puts("\r\n256-double-byte test pattern:\r\n"); for (i = 0; i < 256; i++) { putchar(i); putchar(i); } /* in pairs */ puts("\r\nEnd of test patterns\r\n"); } ---(cut here)--- To send the file to MS-DOS Kermit from either C-Kermit or MS-DOS Kermit, try the following settings: SET CONTROL UNPREFIXED ALL ; Turn prefixing off for all but 0 SET CONTROL PREFIXED 1 ; Turn it back on for packet-start character SET CONTROL PREFIXED 129 ; and 8-bit version thereof (HINT: Abbreviate SET CON U and SET CON P) Or to send the file from MS-DOS Kermit to C-Kermit, tell MS-DOS Kermit to: SET CON U ALL ; Turn prefixing off for all SET CON P 0 ; Turn it back on for NUL SET CON P 3 ; and for Ctrl-C SET CON P 131 ; as well as Ctrl-C + parity bit NOTE: 1 and 129 need not be prefixed when sending files *to* C-Kermit, but must be prefixed when sending files to MS-DOS Kermit. 13 normally need not be prefixed when sending files to either C-Kermit or MS-DOS Kermit, except on a TELNET connection (because TELNET servers are likely to change CRLF into CR). Try to send the test file in binary mode. If it works, fine. If not, try prefixing some of the other likely control characters (see below). Once you find the minimum set of prefixed control characters for the test file, it is likely they will also work for any other file. Try sending a large precompressed binary file. And, of course, for maximum performance, also use a window size greater than 1 (say, 3) and a packet length around 1000. Under ideal conditions (totally transparent and clean serial connection, no Xon/Xoff, and C-Kermit has been told to SET TRANSFER CANCELLATION OFF), the minimum set of control characters that need to be prefixed is: SENDER RECEIVER PREFIXED CONTROLS MS-DOS Kermit MS-DOS Kermit 1 129 MS-DOS Kermit C-Kermit 0 C-Kermit MS-DOS Kermit 0 1 129 C-Kermit C-Kermit 0 For example, to set up C-Kermit to unprefix the minimum set of prefixed control characters for sending files to MS-DOS Kermit, tell C-Kermit to: SET FLOW NONE ; Or SET FLOW RTS/CTS SET CONTROL UNPREFIX ALL SET CONTROL PREFIX 1 129 ; C-Kermit always prefixes character 0 When the mininum set doesn't work, consult this list of control characters that are apt to cause trouble and therefore likely candidates for prefixing. In particular, note that unprefixing of the packet-start character (normally 1 and 129), can cause problems when sending to C-Kermit if the communication link (including device input buffers) is noisy or apt to lose characters. set con p 0 ; Ctrl-@ = NUL, internal string terminator in C-Kermit. ; Also, often discarded as padding. set con p 1 ; Ctrl-A = Packet-start character. set con p 3 ; Ctrl-C = Packet breakout for remote-mode C-Kermit, ; packet breakout for server-mode MS-DOS Kermit, ; likely to cause interruptions on other systems. set con p 13 ; Ctrl-M = Carriage return, packet-end character. ; Always prefix on TELNET connections. set con p 14 ; Ctrl-N = Shift Out set con p 15 ; Ctrl-O = Shift In set con p 16 ; Ctrl-P = Commonly-used X.25/X.3 PAD escape character set con p 17 ; Ctrl-Q = XON, must be prefixed with Xon/Xoff flow control set con p 19 ; Ctrl-S = XOFF, must be prefixed with Xon/Xoff flow control set con p 27 ; Ctrl-[ = ESC, prefix if going through some kind of ANSI device set con p 28 ; Ctrl-\ = CONNECT-mode escape for C-Kermit set con p 29 ; Ctrl-] = CONNECT-mode escape for TELNET set con p 30 ; Ctrl-^ = Cisco terminal server escape. set con p 127 ; Ctrl-? = DEL, often discarded as padding. ; Also becomes TELNET IAC if parity bit is added. set con p 128 ; = NUL + 128 (i.e. NUL + parity bit) set con p 129 ; = Ctrl-A + 128 set con p 131 ; = Ctrl-C + 128 set con p 141 ; = CR + 128 set con p 145 ; = XON + 128 set con p 147 ; = XOFF + 128 set con p 255 ; 255 = TELNET IAC, must be prefixed on TCP/IP TELNET connections PREFIXING NOTES: If C-Kermit or MS-DOS Kermit has initiated a TELNET connection, prefixing of 255 (TELNET IAC) is forced automatically. Kermit will not let you unprefix XON (17), XOFF (19), XON+128 (145), or XOFF+128 (147) if its FLOW-CONTROL setting is XON/XOFF. If you want to unprefix these, make sure *both* Kermits have been told to SET FLOW NONE (or RTS/CTS), and that XON/XOFF flow control is not in effect anywhere along the communication path between the two Kermits. When sending files to C-Kermit, you should normally SET CONTROL PREFIX 3 and SET CONTROL PREFIX 131, because C-Kermit (by default) takes two Ctrl-C's (3 or 131) in a row as cancellation of packet-mode. However, you can UNPREFIX these characters if you know your file does not contain two Ctrl-C's in a row, or if you tell C-Kermit to SET TRANSFER CANCELLATION OFF, or SET TRANSFER CANCELLATION ON when you know that copies of do not occur in a row in the data. 4. OS/2 C-KERMIT IMPROVEMENTS TCP/IP support added, exactly as in the UNIX, VMS, and AOS/VS versions of C-Kermit. IBM TCP/IP must also be installed. Commands: SET NETWORK { TCP/IP, DECNET } SHOW NETWORK SET HOST TELNET [ ] I in CONNECT mode A in CONNECT mode B in CONNECT mode etc, the same as for UNIX, (Open)VMS, and AOS/VS. IMPORTANT NOTE: There is a new, automated installation procedure for OS/2 C-Kermit, an INSTALL script written in Rexx. In addition to making C-Kermit installation easier, it also performs a new installation step that is required for the 32-bit (TCP/IP-capable) version of OS/2 C-Kermit on OS/2 systems that do NOT have TCP/IP installed. Read CKOKER.BWR about this. Instantaneous screen scrollback and increased scrollback capacity; maximum screen length increased to 100 lines. SET TERMINAL SCROLLBACK Size of terminal scrollback buffer. is how many screen lines to save. The default is 240 (10 screens if your screen length is 24). The maximum is 240 for the 16-bit version and 4096 for the 32-bit version. SET TERMINAL ANSWERBACK { OFF, ON } Controls whether or not OS/2 C-Kermit's terminal emulator treats incoming Ctrl-E characters as ENQ requests or simply ignores them. ON means ENQ causes C-Kermit to send an Answerback message, which is "OS/2 C-Kermit". OFF, the default, means C-Kermit ignores Ctrl-E's. 5. NEW \F FUNCTION \Freplace(s1,s2,s3). This function replaces all occurrences of the string s2 in the string s1 by the string s3. s1 and s2 must be at least one character long. s3 can be omitted, in which case all occurrences of s2 are removed from s1. If s2 is omitted, s1 is returned unchanged. Examples: \freplace(oofa,o,O) = OOfa \freplace(oofa,o,oo) = oooofa \freplace(oofa,o) = fa \freplace(oofa) = oofa or (more practically for OS/2): \freplace(\v(cmdfile),\\,/) ; replace backslashes by forward slashes 6. POSIX IMPROVEMENTS Version 5A(189) added the ability of POSIX-based C-Kermit versions to obtain and send, as well as read and set, file creation dates during file transfer. Also added was the ability of POSIX-based C-Kermit to obtain its hostname, for use in the \v(host) variable and elsewhere. 7. OUTPUT COMMAND IMPROVEMENTS The OUTPUT command was changed to be buffered for increased efficiency, and a new command was added: SET OUTPUT PACING This causes C-Kermit to pause for (at least) the indicated number of milliseconds (thousandths of a second) after sending each character in the OUTPUT string. Use this option when OUTPUT'ing characters to a device that can't receive characters at the full communication speed without losing or garbling them. The default OUTPUT PACING is 0, i.e. no pauses. Display with SHOW SCRIPTS. 8. NEW APC COMMAND The APC command is used for echoing text enclosed within a VT220/320/420 Application Program Command. Syntax: APC [ { ] text [ } ] where text can be any text string. As with the ECHO command, leading and trailing spaces are removed unless the text is enclosed in braces. The intended use is for sending commands to MS-DOS Kermit 3.13 or later while MS-DOS Kermit is in CONNECT mode, i.e. while its VT220-or-higher terminal emulator is active. See the MS-DOS Kermit 3.13 documentation for details. Here's an example that sets MS-DOS Kermit parameters from the C-Kermit command line: C-Kermit>apc set block 3, set parity even Here's another example in which you define a macro to send a file from C-Kermit, causing MS-DOS Kermit to receive it automatically without your having to escape back and type "receive": C-Kermit>define autosend apc receive, send \%1 \%2 C-Kermit>autosend oofa.txt The macro definition is necessary in this case. If you type APC RECEIVE at the C-Kermit prompt, MS-DOS Kermit goes immediately into RECEIVE mode and you have no way to give the SEND command to C-Kermit. Conversely, if you type the SEND command first, C-Kermit goes into SEND mode, and you have no opportunity to give it an APC command. When the macro is the source of commands, the "Catch-22" is avoided because the keyboard is out of the picture. ------------------------------ END OF CKCKER.UPD