8/16/84 kermit Function: Kermit allows files to be transferred between computers. The files may be ascii or binary. A kermit program must be available on the target (micro) computer. Version: Multics Kermit 2.0g of 8/16/84 Syntax: kermit [<control_args>] When invoked without control arguments, kermit will enter a request loop. Control arguments: -logout Logout after successfully transfering the file. Must be used in conjunction with -send or -receive. Will not logout if errors arise during the transfer. -send <star_name> Send one (or a group) of files to the target system. -receive [<pathname>] Receive a file from the micro. Send, receive and server are mutually exclusive arguments. -set <options> See below. -status Will display the status of the last transmission. The name of the file, the total number of packets required and the total number of retries will be displayed. This arg is ignored whem -send, -receive or -server is used. -server Directs the Multics kermit to become a kermit server (slave). Subsequent commands for file transfer come directly from the remote computer. -show Show the state of all settable options. This arg is ignored when -send, -receive or -server is used. -debug Debugging option. Do not use. The set control arg: -set <options> Set the options to the indicated state. This must be the last control_arg on the line. Options to be set are typed in following without commas or additional "-set"s The syntax for <options> can be in one of two forms: <option_group) {<parm> <val>} where <option_group> is either send, receive or rec or <option_name> <val>. Both types may be intermixed freely on a line. All options for send or receive can be typed in following one instance of the send or receive keyword. For example, to set the text mode off (binary transfer), default dir to your home directory, the number of pad characters to 3 on send and the send pad character to 002 (octal), use the following command: kermit -send -set text off dir [hd] send padding 3 padchar 2 Note that -send, -receive or -server must be used to execute the program. When executed without one of these arguments, the only effect is to set option values. All set arguments retain values between invocations during the same process except trace and dir. See the section on the set command later in this info file for a complete description of the set parameters and their allowed values. Usage: The standard usage of Kermit to transfer files takes the following form: 1) Start Kermit on the micro. 2) Set any desired parameters (eg baud rate for the IBM PC). 3) Connect to the mainframe. The micro now appears to be an ordinary terminal. 4) Login to Multics as usual. 5) Execute the Multics command kermit. You will get the Multics prompt of Kermit-Multics> . 6) Set any desired parameters. 7) Execute either a SEND or a RECEIVE command. 8) Use the escape sequence ctrl-] c to get back to command level at the micro. You will see the micro Kermit prompt. 9) Execute the corresponding command (ie if the mainframe is expecting to RECEIVE a file, execute a SEND command and vice versa). 10) The micro will display the status of the transmission. After the file is transfered, a COMPLETED message will be displayed. If, for some reason, the file could not be transferred a FAILED message will be displayed. 11) To transfer more files, issue a CONNECT command to the micro. You will be back in Multics-Kermit. Type a carriage return to get the prompt. Go back to step 7. 12) If you are finished transferring files, EXIT (or QUIT also q) from Kermit and logout. 13) Use the ctrl-] c escape sequence to get back to micro-command level and exit the local Kermit. Alternative usage: Kermit may also be invoked as a command without entering the request loop. In this case, the action specified by a control argument is performed and Kermit will return to Multics command level. If the -logout arg is specified, Kermit will log you out on the Multics end if the transfer was completed successfully. This usage looks like: 1) Start Kermit on the micro. 2) Set any desired parameters (eg baud rate for the IBM PC). 3) Connect to the mainframe. The micro now appears to be an ordinary terminal. 4) Login to Multics as usual. 5) Issue the command kermit -receive or kermit -send file_name to receive or send a file. The file_name is optional on the -receive command, but necessary on the -send command. You can also put the -logout argument on the line to automatically log you out after the transfer completes successfully. 6) Use the escape sequence ctrl-] c to get the prompt on the micro. 7) Issue the corresponding SEND or RECEIVE command to the micro. 8) The micro will display the status of the transmission. When completed, you will get the micro Kermit prompt. 9) If the -logout argument was given, you do not have to reCONNECT to Multics, you will have been automatically logged out. 10) If the -logout argument was not given, CONNECT to Multics. You will be at command level, even though you may not see a ready message. Logout. You should also CONNECT if the transfer was unsuccessful. In that case, you can try again. The -logout argument will be ignored if the transfer was not successful. Usage as server: Multics Kermit may be placed into a special "slave" mode called server mode. In this case, commands will be issued by the remote computer to initiate file transfer. Once the server is started up, you do not have to tell it anything else directly. Your micro will do it for you. Not all micros support kermit server commands, and some will use a special form of the RECEIVE command instead of the GET command. Check the documentation on your version. 1) Start Kermit on the micro. 2) Set any desired parameters (eg baud rate for the IBM PC). 3) Connect to the mainframe. The micro now appears to be an ordinary terminal. 4) Login to Multics as usual. 5) Issue the command kermit -server. This puts Multics into a slave mode that you can take advantage of if your micro supports server commands. 6) Use the escape sequence ctrl-] c to get the prompt on the micro. 7) Issue the corresponding SEND or GET command to the micro. 8) The micro will display the status of the transmission. When transmission is complete, the micro kermit prompt will reappear. You can send or receive more files just by typing in a send or receive command to the micro. 9) When you are finished either type in a BYE command to logout the Multics kermit server or a FINISH command to terminate server mode and return to command level. In the latter case, you should reCONNECT. Available commands: The Multics implementation of Kermit allows the following commands. Optional arguments are enclosed in []. Items to be replaced by actual names or parameters (eg segment names) are enclosed in <>. SEND <pathname> or SEND <starname> Sends either a single file to the micro or a group of files matching <starname>. At least one filename must match <starname> or the command is in error. If all is well, an OK prompt will appear and you can go back to the micro. RECEIVE [<pathname>] Receive either a single file or multiple files from the micro. When sending files from the micro, the name of the file is also sent and will be used on the Multics side to name the segment. In the case of sending a single file, the file may be renamed by using an absolute or relative pathname for <pathname>. By default, the files will be placed in your working directory. This may be changed by the SET DIR command (see below). You will get an OK prompt when Multics is ready to receive your file(s). More commands: HELP [<command_name>] When issued without a command name, help will list the available kermit commands. When a command name is used, kermit will display a short description of the command, its parameters and actions. EXIT, QUIT, Q Leave Kermit and return to the Multics command level. EXEC <line> or E <line> or ..<line> Send <line> to the Multics command processor. Allows Multics commands to be executed without leaving Kermit. The line does not have to be enclosed in quotes. . Displays the current kermit version number and date. The set command: SET <mode> <option> <value> or SET <option> <value> Sets the specified option to <value>. The parameter <mode> may be either SEND, RECEIVE or REC. Many of these options are provided for compliance with the Kermit standard and are not very useful on Multics; TIMEOUT, DELAY, DIR, and FILE-WARNING are probably the most useful. All options default to standard values. Setting RECEIVE options will change the default values for info coming to Multics from the micro. The micro may override any of these values. The list of available options for SEND or RECEIVE are PADDING <n> Set the number of padding characters to n. The default is zero. PADCHAR <o> Set the padding character to that specified by the octal number o. Note that this is OCTAL. The default is the null character (octal 000). TIMEOUT <n> Set the number of seconds to wait before giving up on a transmission and retrying. Defaults to 20. PACKET-LENGTH <n> Set the length of the packet to n. The default (and maximum allowable) legth is 94. END-OF-LINE <o> Set the end of line character to that specified by the octal number o. The default is a carriage return (octal 15). Note that this parameter may interact with the block transfer modes used during a file transfer. QUOTE <o> Set the quote character to that specified by the octal number o. The default is the # character (octal 43). This options can only be set for the SEND mode. Other Set Options: These options take the command form SET <option> <value>. DELAY <n> Set the delay time to n seconds. This is the time to wait before sending a file after the SEND command has been entered. The default is to wait 8 seconds. DIR <pathname> Set the default directory for segments to be placed in during RECEIVE or looked for during SEND. The default is the working directory at the time Kermit was invoked. <Pathname> may be an absolute or relative DIRECTORY pathname. To reset this parameter to your current working directory, the -wd argument may be substituted for <pathname>. Active functions in <pathname> are not currently supported. FILE-WARNING <on | off> or FW <on | off> Set the file warning switch to on or off. When on, incoming files will be renamed if a segment already exists with that name. The default is off. TEXT <on | off> Sets the file transfer mode. The default is ON. When on during receive, character addition to the file halts when a ctrl-Z is encountered in the input stream. In addition, lines are terminated with the standard Multics line terminator, the line feed. During transmission, plain line feeds are changed into the standard Kermit line terminator, the carraige return/line feed combination. When off, these transformations are not enabled and binary files may be sent. See additional info in notes. REPEAT <on | off> When on, Kermit will request character compression to be performed. The default is ON. If the other end does not support this feature, it will not be used. If the other end requests this option in a transfer, it will be performed regardless of the setting of this switch. PARITY <on | off> When on, Kermit will precede eight bit characters with a parity quote character when agreed upon by the micro. When off, parity quoting will never be done. The default is OFF. Parity quoting reduces transmission efficiency, is not needed for text files and is normally not necessary at all in Multics, although it may be useful over networks. Turning this switch on may require modifying the MODES parameter string. TRACE <on | off> Turns a trace facility on to log all packets in a file call Kermit.trace. This is a debugging feature only. The default is off. CHECKTYPE <1 | 2 | 3> Determines which checksum type Multics kermit will attempt to use when initiating a transfer. 1 is the standard single byte kermit checksum, good for most purposes. 2 is a double byte checksum. 3 is a CRC triple byte checksum formed by dividing the data bit string by the polynomial x**16 + x**12 + x**5 + 1 and using the remainder. Not all micro kermits will support type 2 or type 3 checksums, in which case type 1 will be used. MODES <modes_string> Kermit modifies the terminal modes when sending or receiving files or when in server mode. The default modes are suitable for most situations. In the event that the terminal modes must be modified, the <modes_string> is one that is acceptable to stty. The modes string is checked upon entry. Block transfer is a requirement for high speed transfer over most communications lines. More Kermit commands: SHOW [<option>] Displays the status of the user settable option specified. If entered without an option, all options are displayed. Option may be chosen from SEND, RECEIVE, REC, DELAY, DIR, FILE-WARNING, FW, TEXT, REPEAT, PARITY, CHECKTYPE or TRACE. STATUS Displays the status of the last transmission. If an error occurred, a message stating the error will be shown. Supported Multics Server Commands: When in server mode, the Multics implementation of kermit will support the following server commands: GET <filename> (some implementations may use RECEIVE) SEND <filename> - Note files cannot be renamed this way BYE FINISH LOGOUT REMOTE CWD <dirname> - also changes default dir on Multics REMOTE DIRECTORY - prints current working directory REMOTE HELP REMOTE HOST <command_line> - Any legal Multics command line REMOTE TYPE <path> - Prints the indicated segment These are commands issued to the kermit running on the local micro that are, in turn, relayed to the Multics kermit for execution. These commands are only valid when Mulitcs kermit is in server mode and the commands are issued by the micro. Refer to the relevant micro kermit users guide for details. Notes: All commands may be in any mixture of upper and lower case. File names are translated into all lower case on the Multics side. (except when using the pathname option on the RECEIVE command) When TEXT mode is ON, carraige return - line feeds on files transfered TO Multics are converted to single line feeds. When sending files to micros, the single line feed is turned into a CR-LF combination for the micro kermit to handle as it will. When TEXT mode is OFF, this transformation is not enabled. See below. When text mode is on, binary files may not be transferred properly. If text is on, file transfer halts when either a) the end of the file is reached by the micro or b) an end of file character (ctrl-Z) is encountered in the input stream on the Multics end (this is the default mode). This should not affect the transfer of straight text files. Binaray files or files containing control Z characters require that text mode be turned off for proper uploading or downloading. Note that this process is symetric. If you upload a file in binary mode it should be downloaded in the same mode to be sure that the file is not transformed by the transfer. If a file has been transfered one direction in text mode, it should be transfered the other in the same manner. Text mode transmission of binary files may result in a noninvertable transformation being performed on the contents of the file. Source files for all of the kermit implementations as of 5/84 are currently contained in the directory >udd>ACS>Kermit.