@Part(VMSMIT,root="KUSER") @Chapter @Begin @i(Authors:)@\Robert C. McQueen, Nick Bush, Stevens Institute of Technology @i(Language:)@\Bliss-32, Common Bliss @i(Version:)@\3@q<.>1 @i(Date: )@\November 1983 @end KERMIT for the Digital Equipment Corporation VAX/VMS system is called "KERMIT-32" since the VAX is DEC's 32-bit line of computers. KERMIT-32 can be run from @q. It will prompt for input from @q. Kermit-32 can be run in either local or remote modes. In remote mode, transfers take place over the controlling terminal line. Ususally, Kermit-32 is used in remote mode as a "server", meaning that it will accept commands from the other Kermit. In local mode, Kermit-32 will perform transfers over a terminal line other than the controlling terminal. In local mode, Kermit-32 is capable of giving commands to a "server" Kermit. Note that in order to use Kermit-32 in local mode, the protection code for the terminal to be used must allow the user access. This is set by the system manager. Kermit-32 is put into local mode by using the SET LINE TTcnn: command. Currently, VMS Kermit does not allocate the terminal line you are using for CONNECT or transfers. Therefore, when going between CONNECT and SEND or RECEIVE, VMS hangs up the phone for you. This is easily solved by using the DCL ALLOCATE command to allocate the terminal line before entering Kermit. VMS KERMIT implements a large subset of "ideal" KERMIT, for both remote and local operation. Here is a summary of the commands of KERMIT-32: @begin CONNECT [@i]@\ The CONNECT command will allow you to connect as a virtual terminal over the line that was specified by the SET LINE command, or to the terminal line specified in the command. The terminal line must be one which is accessible to the users process. This means that the applicable protection code for the terminal must have been set to allow your process to access it (done by the system manager). The format of the CONNECT command is: @example(Kermit-32>CONNECT) or @example(Kermit-32>CONNECT TT@i[cn]:) where @q is the terminal line name to be used. HELP [@i [@i...]]@\Give VMS-@|style help on KERMIT commands. EXIT, QUIT@\Exit from Kermit-32. RECEIVE@\The RECEIVE command is used to put Kermit-32 into remote mode waiting for a single file transfer transaction, or to have a local Kermit-32 request a file from the remote Kermit. If no file specification is given, Kermit-32 will wait for a file transfer initialization sequence from the other Kermit. This is most useful if the other Kermit does not support local server commands. In order for a file specification to be given, Kermit-32 must be running as a local Kermit (i.e. a SET LINE command must have been done). Kermit-32 will then request the other Kermit (which must be running in server mode) to transfer the specified file (or set of files) to Kermit-32. The file specification must be in the format of the system on which the server Kermit is running. The format of the command is: @example[Kermit-32>RECEIVE] or @example[Kermit-32>RECEIVE @i(file-specification)] where "file-specification" is any valid file specification on the system on which the server Kermit is running. GET @i@\This command is identical to the RECEIVE @i command. It is now the preferred command to cause the other Kermit (when running in server mode) to transmit a file to Kermit-32. BYE@\This command will cause Kermit-32 (when in local mode) to tell the other Kermit (which should be in server mode) to exit from Kermit and, if applicable, terminate its job (or process, etc.). When Kermit-32 receives the acknowledgement that this is being done, it will exit to VMS. FINISH@\This command will cause Kermit-32 (when in local mode) to tell the other Kermit (which should be in server mode) to exit from Kermit. After receiving the acknowledgement that this is being done, Kermit-32 will prompt for another command. LOGOUT@\This command will cause Kermit-32 (when in local mode) to tell the other Kermit (which should be in server mode) to exit from Kermit and, if applicable, terminate its job (or process, etc.). When Kermit-32 receives the acknowledgement that this is being done, it will prompt for another command. SEND@\The SEND command will allow you to send a file(s) to the other Kermit. The SEND command will allow file wild card processing as is found in VMS. If Kermit-32 is running in remote mode, the file will be sent on the controlling terminal line after waiting the number of seconds specified by the SET DELAY command. This gives the user time to escape back to the other Kermit and issue a receive command. If Kermit-32 is running in local mode, the file will be sent immediately on the terminal line specified by the SET LINE command. The command format is: @example[Kermit-32>SEND @i(file-specification)] Where "file-specification" is any normal VAX/VMS file specification. SERVER@\This command will cause Kermit-32 to enter server mode. The other Kermit can then issue server commands to send and receive files without having to give SEND or RECEIVE commands to Kermit-32. Kermit-32 may be put into SERVER mode while running as either a remote Kermit (transmitting over the controlling terminal line), or as a local Kermit (transmitting over a terminal specified by a SET LINE command). Note that in order to correctly receive binary files while in SERVER mode, a SET FILETYPE BINARY must be done first. At this time there is no way for Kermit-32 to determine whether an incoming file is ASCII or binary. The format of the command is: @example[Kermit-32>SERVER] STATUS@\The current status of Kermit-32 will be displayed. This includes the number of characters that have been sent and received from the remote Kermit. Also included is an estimate of the effective baud rate of @end @heading The SET command is used to set various parameters in Kermit. @begin BLOCK@q<_>CHECK@q<_>TYPE@i@\ where keyword is one of: @begin(example) 1@q<_>CHARACTER@q<_>CHECKSUM @i ONE@q<_>CHARACTER@q<_>CHECKSUM 2@q<_>CHARACTER@q<_>CHECKSUM @i TWO@q<_>CHARACTER@q<_>CHECKSUM 3@q<_>CHARACTER@q<_>CRC@q<_>CCITT @i THREE@q<_>CHARACTER@q<_>CRC@q<_>CCITT @end(example) DEBUGGING@\The SET DEBUGGING command is used to set the debug type out on the user's terminal. The command will accept either the keywords ON or OFF. Kermit-32 can only do debugging type out when running as a local Kermit (SET LINE command done). This is because the debugging type out would interfere with the file transfer if it were sent to the controlling terminal line in remote mode. @example[Kermit-32>SET DEBUGGING @i] Where state is either 'ON' or 'OFF'. DELAY@\The DELAY parameter is the number of seconds to wait before sending data after a SEND command is given. This is used when Kermit-32 is running in remote mode to allow the user time to escape back to the other Kermit and give a RECEIVE command. @example[Kermit-32>SET DELAY @i] Where number of seconds is the (decimal) number of seconds to wait before sending data. ESCAPE@\This command will set the escape character for the CONNECT processing. The command will take the octal value of the character to use as the escape character. This is the character which is used to "escape" back to Kermit-32 after using the CONNECT command. It defaults to CTRL-] (octal 35). It is usually a good idea to set this character to something which is not used (or at least not used very much) on the system being to which Kermit-32 is CONNECTing. @example[Kermit-32>SET ESCAPE @i] where @i is the ASCII value of the character to use as the escape character (in octal). FILE@q<_>TYPE@\This command will set the file type that Kermit is receiving. A file type of ASCII should be used to receive text files which are to be used as text files on the VMS system. The file type BINARY should be used for binary files, such as CP/M @q<.COM> files, which need to be kept in a format that allows the file to be returned without any changes. @example[Kermit-32>SET FILE@q<_>TYPE @i] where @i is one of: @begin ASCII@\File type ASCII is for text files. BINARY@\File type BINARY is for non-text files. Note that binary files which are generated on a VMS system cannot be transferred to another VMS system without losing file attributes. This means that (for example), an @q<.EXE> file cannot be transmitted with Kermit-32. (This problem should be resolved in a future version of Kermit). @end IBM@q<_>MODE@\For communicating with IBM mainframes; sets parity MARK, handshake XON, and local echo during CONNECT. @example[Kermit-32>SET IBM@q<_>MODE @i] where @i is either ON or OFF. INCOMPLETE@q<_>FILE@q<_>DISPOSITION@\ The SET INCOMPLETE@q<_>FILE@q<_>DISPOSITION allows the user to determine what is done with a file that is not completely received. @example[Kermit-32>SET INCOMPLETE@q<_>FILE@q<_>DISPOSITION @i] where @i is either DISCARD or KEEP. LINE@\This will set the terminal line that you are using. The terminal line must be one which is accessible to the user's process. This means that the applicable protection code for the terminal must have been set to allow your process to access it (done by the system manager). You should also ALLOCATE the line from DCL before giving this command. @example[Kermit-32>SET LINE @i:] The device must be a terminal line (e.g. @q). LOCAL@q<_>ECHO@\The SET LOCAL@q<_>ECHO command specifies whether characters should be echoed locally when CONNECTing to another system. @example[Kermit-32>SET LOCAL@q<_>ECHO @i] where keyword is either ON (local echo) or OFF (full duplex, normal case). MESSAGE@\This command sets the type of typeout Kermit-32 will do during transfers in local mode. Kermit-32 can type out the file specification being transferred, the packet numbers being sent an received, both or neither. The default is to type file specifications but not packet numbers. @example[Kermit-32>SET MESSAGE @i] Where type is either FILE or PACKET, and keyword is either ON or OFF. PARITY@\This command determines the type of parity to use on the transmission line. Kermit-32 normally uses characters which consist of eight data bits with no parity bit. @example[Kermit-32>SET PARITY @i] where keyword is NONE (default), MARK, SPACE, EVEN, or ODD. If any parity other than NONE is specified, 8th-bit-@|prefixing will be requested for transmission of binary files. RETRY@\This command sets the maximum number of times Kermit-32 should try to send a specific packet. @example[Kermit-32>SET RETRY @i] where @i is either INITIAL@q<_>CONNECTION (for initial connection packet) or PACKET (for all other packets), and @i is the decimal number of retries to attempt. RECEIVE@\It is possible to set various parameters associated with the receiving of the data from the remote Kermit. SET RECEIVE will enable you to set the various receive parameters. @begin PACKET@q<_>LENGTH@\This will set the receive packet length, between 10 and 96. The default value is 80. @example[Kermit-32>SET REC PACKET@q<_>LEN 60] PADDING@\This command will set the number of padding characters that will be sent to the other Kermit. The default value is 0. @example[Kermit-32>SET RECEIVE PADDING @i] Where @i is the decimal number of padding characters to use. PADCHAR@\This parameter is the padding character that is sent to the remote Kermit. The parameter must be an octal number in the range of 0 to 37 or 177. All other values are illegal. The default value is 0 (an ASCII NUL). @example[Kermit-32>SET RECEIVE PADCHAR @i] where @i is the ASCII value of the character to be used as a pad character (in octal). START@q<_>OF@q<_>PACKET@\This command will set the start of packet character for Kermit. The start of packet character must be in the range of 0 to 36 octal. The default value is 1 (ASCII SOH, CTRL-A). This value should only be changed if absolutely necessary. It must be set the same in both Kermits. @example[Kermit-32>SET REC START@q<_>OF@q<_>PACK 3] TIMEOUT@\This will set the number of seconds before Kermit-32 will time out the attempt to receive a message. This time out is used to handle transmission errors which totally lose a message. The default value is 15 seconds. @example[Kermit-32>SET RECEIVE TIMEOUT @i] where @i is the number of seconds to wait for a message (in decimal). END@q<_>OF@q<_>LINE@\This will set the end of line character the Kermit-32 expects to receive from the remote Kermit. This is the character which terminates a packet. The default value is 15 (ASCII CR, CTRL-M). @example[Kermit-32>SET REC END@q<_>OF@q<_>LINE @i] where @i is the ASCII value of the character to use for the end of line character (in octal). QUOTE@\This will set the quoting character that Kermit-32 will expect on incoming messages. This is the character used to quote control characters. The default value is 43 (ASCII "#"). @example[Kermit-32>SET RECEIVE QUOTE @i] where @i is the ASCII value of the quoting character (in octal). @end SEND@\It is possible to set various parameters associated with the receiving of the data from the remote Kermit. SET SEND will enable you to set the various SEND parameters. These parameters should not normally be set, since as part of the transfer initialization process the two Kermit's exchange their RECEIVE parameters. The capability of setting these parameters is provided so that the transfer initialization can be completed even if the default parameters are not correct. @begin PACKET@q<_>LENGTH@\This will set the SEND packet length. The value for this parameter must be between 10 and 96. Packet lengths outside of this range are illegal. The default value is 80. PADDING@\This command will set the number of padding characters that will be sent to the other Kermit. The default value is 0. PADCHAR@\This parameter is the padding character that is sent to the remote Kermit. The parameter must be an octal number in the range of 0 to 37 or 177. All other values are illegal. The default value is 0 (an ASCII NUL). START@q<_>OF@q<_>PACKET@\This command will set the start of packet character for Kermit. The start of packet character must be in the range of 0 to 36 octal. The default value is 1 (ASCII SOH, CTRL-A). This value should only be changed if absolutely necessary. It must be set the same in both Kermit's. TIMEOUT@\This will set the number of seconds before Kermit-32 will time out a message it has sent to the other Kermit. message. This time out is used to handle transmission errors which totally lose a message. The default value is 15 seconds. END@q<_>OF@q<_>LINE@\This will set the end of line character the Kermit-32 will send to the remote Kermit. This is the character which terminates a packet. The default value is 15 (ASCII CR, CTRL-M). QUOTE@\This will set the quoting character that Kermit-32 will expect on incoming messages. This is the character used to quote control characters. The default value is 43 (ASCII "#"). @end @end @subheading The SHOW command will allow you to show the various parameters that are set with the SET command. @begin ALL@\The SHOW ALL command will cause all of the parameters to be listed. BLOCK@q<_>CHECK@q<_>TYPE@\This command will type out what type of block check is being requested. COMMUNICATIONS@\This command will type out the communcations line related parameters. This includes the terminal line being used, the parity type, etc. DEBUGGING@\The SHOW DEBUGGING command will print the state of the debugging flag. DELAY@\This will display the number of seconds delay that Kermit will use before attempting to send or receive a file. ESCAPE@\This will display the current escape character for the CONNECT processing. FILE@q<_>PARAMETERS@\This will display the parameters related to files being used. This includes the file type and the incomplete file disposition. FILE@q<_>TYPE@\This will display the current file type that is used in sending the file to or receiving the from the micro computer. INCOMPLETE@q<_>FILE@q<_>DISPOSITION@\This will display the disposition of incompletely received files. LOCAL@q<_>ECHO@\This will display the status of the local echo flag. PACKET@\This will display the current settings of the send and receive packet parameters. PARITY@\This will display the current parity setting. SEND@\All of the send parameters will be displayed on the user's terminal. RECEIVE@\The current values of the RECEIVE parameters will be displayed on the user's terminal. Only the parmeters that can be set will be displayed. RETRY@\This command will show the maximum retry attempts that Kermit will attempt to send a message the remote. @end