@Part(CMSMIT,root="USER") @Chapter @Begin @i(Author:)@\Daphne Tzoar, Columbia University @i(Version:)@\( @i ) @i(Date: )@\February 1983 @end @Index[IBM]@Index[VM/CMS]@Index[Timeout] Written in IBM 370 assembly language to run under VM/CMS on IBM 370-@|series mainframes (System/370, 303x, 43xx, 308x, ...). These are half duplex systems; the communication line must "turn around" before any data can be sent to it. The fact that a packet has been received from the IBM system is no guarantee that it is ready for a reply. Thus any Kermit talking to this system must wait for the line turnaround character (XON) before transmitting the next character. IBM systems talk to their terminals through a communications front end (IBM 3705, 3725, COMTEN 3670, etc). These front ends generally insist on using the 8th bit of each character for parity. This means that binary files (files containing other than ordinary letters, digits, punctuation, carriage returns, tabs, and so forth) can @i be correctly sent or received by these systems with Kermit (protocol version 1). The IBM system under VM/CMS is unable to interrupt a read on its "console". This means that the IBM version of Kermit cannot timeout. The only way to "timeout" CMS Kermit is from the other side -- typing a carriage return to the micro's Kermit causing it to retransmit its last packet, or an automatic timeout as provided by Kermit-20. For this reason, CMS Kermit waits ten seconds before sending its first packet when sending files from VM/CMS. This gives the user sufficient time to return to the local Kermit and issue the Receive command. Otherwise, a protocol deadlock would arise requiring manual intervention by the user. Also, VM/CMS stores files as records rather byte streams. VM/CMS Kermit has to worry about assembling incoming data packets into records and stripping CRLFs from incoming lines, and also appending CRLFs to -- and stripping trailing blanks from -- outgoing records. The VM/CMS file specification is in the form @example (abbreviated FN FT FM). FM is equivalent to a device specification on DEC or microcomputer systems (@w<@q[FN FT FM]> would translate to @q). FILENAME and FILETYPE are at most 8 characters in length, each, and FILEMODE at most 2. When FILEMODE is omitted from a filespec, the user's own disk is assumed. Kermit-CMS sends only FILENAME and FILETYPE, and converts the intervening blank to a period for compatibility with most other operating systems. Kermit-CMS Commands: @begin @Index[SEND] SEND @i [@i]@\Send the specified file(s), using @q<*> or @q<%> as the wildcard characters (@q<*> will match any number of characters while @q<%> matches only one). Kermit-CMS assumes the file is located on the A disk, and sets the filemode to A1. If, however, the file is located on a different disk, the filemode must be cited. Also, note that if you use @q<*> for the filemode, Kermit-CMS will send only the first file that matches. Examples: @begin The command @q will send CEN SPSS A1. To send the same file located on your B disk, you must specify: @q. @q will send all fortran files on your A disk. @q will send all exec files with a four letter filename beginning with ABC. If you have the file PLOT SAS on your A disk and your B disk, @q<@w(SEND PLOT SAS *)> will send PLOT SAS A1. @end @Index[RECEIVE] RECEIVE [@i [@i]]@\ Receive the file(s) sent from the other Kermit. If a file specification is not included, Kermit-CMS will use the name(s) provided by the other Kermit. Use the file specification to indicate a different filename or a disk other than the A disk (in this case, the file name and type must also be supplied or @w(@q<= = FM>) can be used.) Examples: @begin To receive files using the filename(s) sent by the micro, use: @q. To save a file under a different name, specify: @q. To save the file under the same name but on the B disk, specify: @q, or @q. @End @Index[SET] SET @i @i@\Set the parameter to the specified value. Legal Set commands are: @begin @index[RECFM] RECFM @i