February 1985 - i - Kermit-CR __________________________________________________ Copyright, 1984, The Regents of the University of California. This document was produced under a U.S. Government contract (W-7405-ENG- 36) by the Los Alamos National Laboratory, which is operated by the University of California for the U.S. Department of Energy. The U.S. Government is licensed to use, reproduce, and distribute this document. Permission is granted to the public to copy and use this document without charge, provided that this notice and any statement of authorship are reproduced on all copies. Neither the Government nor the University makes any warranty, express or implied, or assumes any liability or responsibility for the use of this document. __________________________________________________ Kermit for the Cray February 1985 - 1 - Kermit-CR KERMIT-CR KERMIT FOR THE CRAY _________________________________________________________________ 1. INTRODUCTION Kermit-CR is an implementation of the Kermit protocol on the Cray-1 and Cray X-MP computers. It is written in CFT, the Cray version of Fortran-77, and runs under the Cray Time-Sharing Sys- tem (CTSS) operating system. Kermit-CR is an advanced Kermit, including all required features plus server mode, timeout capa- bility, data compression, and 8th bit quoting. Specific features of Kermit-CR are described in section 2. The Kermit-CR commands are described in section 3. Section 4 pro- vides help for installing Kermit-CR. 2. SPECIFIC FEATURES OF KERMIT-CR 2.1 Host Versus Local Kermits Kermit-CR is a host Kermit intended for shipping files between a Cray and a local workstation. The local Kermit controls the screen during file transmission. 2.2 Non-Server Mode Non-server mode is the default Kermit mode. You CONNECT from local to host Kermit, enter host Kermit command (e.g., send a file), and escape back to the local Kermit to give it the corresponding command (e.g., receive). Some local Kermits lack the commands for talking to a server and can only communicate with Kermit-CR in this mode. 2.3 Server Mode Server mode makes file transfer more automatic. After entering the Kermit-CR command "server," you escape back to local Kermit and control subsequent file transfers exclusively from the local side. Note that Kermit-CR lacks the ability to log itself out. The local Kermit's server commands FINISH, BYE, or LOGOUT cause Kermit for the Cray Kermit-CR - 2 - February 1985 termination of Kermit-CR and return to CTSS level on the host machine. 2.4 File Name Considerations If an incoming file arrives correctly, it replaces any file of the same name in your Cray filespace. If errors are detected during transmission, the incoming file is discarded; your origi- nal file remains intact. Uppercase letters in incoming filenames are converted to lowercase. 2.5 Interrupting Transfers Kermit-CR understands transfer-interrupt messages from any local Kermit which also has this capability (e.g., Kermit-MS on the IBM PC). Type CTRL-X during transmission to cancel shipment of the current file, or CTRL-Z to cancel a group of files. 2.6 Wildcard Characters Kermit-CR cannot do wildcard sends. In non-server mode, Kermit- CR can send multiple files with a single command via the command "send .. ". Such files are considered a group with respect to the interrupt capability described previously. 2.7 CTSS Text Files In default mode, Kermit-CR converts all CTSS end-of-line charac- ters (Ascii US) to CR, LF sequences on outgoing files and vice versa for incoming files. The CTSS end-of-file character (Ascii FS) is treated as file terminator and is stripped from outgoing files and appended to incoming files. This is intended to ensure compatibility of the received file with other standard utilities. 2.8 Binary Files In a Cray network under CTSS, the line concentrator typically uses the 8th bit of each byte/character to represent parity. Kermit for the Cray February 1985 - 3 - Kermit-CR Kermit-CR can exchange binary files with any local Kermit having the optional 8th bit quoting feature of the protocol (e.g., Kermit-MS). To ship a binary file, or to ship any file without the conversions described above, you must first give the Kermit-CR command "set native off". If your local Kermit lacks 8th bit quoting, binary file transmission will fail after a few packets, because the packet checksum will not match the checksum that is calculated upon arrival. Note that a binary file shipped to Kermit-CR and later down-loaded to a workstation may appear to have gained a few bytes. This is because Kermit-CR has padded out its last word with nulls. 2.9 Variant CTSS Text Files Before being written onto mass storage, CTSS text files are fre- quently converted to a packed form via the STEXT utility. In this form, escape sequences represent blank strings. The NTEXT utility is used to reverse this transformation. However, if standard defaults are used, NTEXT does not expand the compressed blanks. These escape sequences are understood by most CTSS util- ities, and may be inserted directly into the text by some editors (see below). If you want to export such files to a workstation, you should expand blank compression sequences first. 2.9.1 STEXT Files Text files in STEXT format can be sent unconverted to a worksta- tion with the Kermit-CR native option set off. If you want to list or edit the file on the workstation, you should convert the file to CTSS format before shipping, by using the command: ntext filename1 [filename2] -noc The -noc parameter is required. The file should be sent with the Kermit-CR native option on. 2.9.2 TRIXGL Files Use the Ascii standard option CFA(file), instead of the compres- sion option CFS(file), to close text files created with the TRIXGL editor, if you want to edit or list the files on a works- tation. Files closed with the compression option can be con- verted to standard Ascii by opening them and then closing them using CFA. The file can then be shipped with the Kermit-CR Kermit for the Cray Kermit-CR - 4 - February 1985 native option on. The TRIXGL trailer, which follows the CTSS end-of-file character and extends to the physical end of file, will be stripped from outgoing files. 2.10 Screen Editor and Document Preparation Output Some screen editors allow the user to insert escape sequences into a text file, and many document preparation packages insert formatting characters or sequences. The Kermit protocol guaran- tees the integrity of files during transmission. If you intend to apply a software utility to such a file on the receiving side, you should make sure that such characters or sequences are under- stood by the utility. 2.11 Data Compression Kermit-CR automatically performs data compression when talking to a local Kermit that also has this optional capability (e.g., Kermit-MS, but not Kermit-86). Otherwise, Kermit-CR omits data compression. 2.12 Automatic Logging For each Kermit-CR session, a logfile named "kmtlog" is created. All user commands, status information for each transfer, and error conditions are logged. 2.13 Error Reporting All detected errors are reported in two ways: 1. An error packet with a descriptive message is sent to the local Kermit for screen display, and 2. The same message is written onto the Kermit-CR logfile. If the error is minor (e.g., you tried to send a file not in your filespace), Kermit-CR will reissue its prompt. If the error is unrecoverable under CTSS, it will be necessary to restart the resulting CTSS dropfile to allow Kermit-CR to log the message, close the logfile, and abort. Kermit for the Cray February 1985 - 5 - Kermit-CR 2.14 Establishing Transmission Parameters Under CTSS, Cray machines normally accept input from line- concentrator hardware that echoes back local messages. Usually, echoback can be disabled by prefixing packets with the appropri- ate pad character. However, transmission parameters must be set by the local Kermit at the start of a session with Kermit-CR, in order to ensure that the first packet gets through. Kermit-MS as supported at LANL, includes a short initialization file, MSKERMIT.INI, containing a macro definition for Cray com- munication. To invoke it, type: Kermit-MS>do cray For other local Kermits, the following parameter settings must be used: npad 1 pad 26 (CTRL-Z = Ascii SUB) end 23 (CTRL-W = Ascii ETB) These settings are used to disable echoback from network line concentrators. Long-distance dialup users should type the local Kermit CONNECT command, log on to a Cray, start Kermit-CR, and escape back to their local Kermits to set these parameters or invoke the macro. 3. KERMIT-CR COMMANDS Kermit-CR follows standard CUCCA Kermit syntax with this single exception: in non-server mode, more than one file may be sent by a single SEND command. This facility substitutes for the use of wildcard character file designators on sends. Although Kermit-CR Release 2 does not provide full interactive help facilities, it does display "helpful" error messages before returning to command level. For example, the user can type a question mark in place of the value for a SET option to force a display of the valid range for that value. Kermit-CR recognizes abbreviated command words where there is no ambiguity. The square-bracketed portions of the commands may be omitted. Kermit for the Cray Kermit-CR - 6 - February 1985 s[end] send the listed files to a local Kermit. r[eceive] get a file from a local Kermit (both Kermits in non-server mode). server enter server mode. All transfer information will come from the local Kermit, in packets. Command FINISH to the local Kermit terminates this mode and causes exit from Kermit-CR to CTSS. e[xit] Exit from Kermit-CR (non-server mode) to CTSS. set