13.0 CP-6 Kermit Program: with Lee Hallin (Honeywell Bull, Los Angeles Development Center) testing and suggestions from J. T. Anderson (Honeywell Bull, Los Angeles Developement Center), and Mike Iglesias and others (University California at Irvine). Many thanks to John Stewart of Carleton University, Tom Erskine of CRC, Mike Iglesias of UC Irvine and Mike Schmidt of Honeywell Bull, Canada, for their help and supplied code for version 1.00. Language: PL-6 Version: 1.00 Date: January, 1988 Please send any questions, bugs and/or suggestions to any of the following: U.S. Mail: Honeywell Bull 5250 West Century Blvd Los Angeles, CA 90045 Attn: Lee Hallin CP-6 Mail on the LADC support machine (aka L66A): Lee Hallin ARPANET Address: Lee-Hallin%LADC@BCO-MULTICS.ARPA 13.1 Introduction This version of Kermit is written in PL-6; a PL/1-like implementation language available on the Honeywell CP-6 operating system. This Kermit contains all of the "basic" Kermit features and several optional/advanced features. Some of the optional features are suggested in the Kermit User's Guide and/or Kermit Protocol Manual, while others where implemented to provide added flexibility on CP-6. The following table briefly summarizes the capabilities of this version of Kermit. Features this Kermit has or can do: Transfers text files Transfers binary files Sends file groups (wildcarding) File overwrite protection Timeouts 8th-bit prefixing Repeat count prefixing Transaction logging Debugging facility Acts as a server Talks to a server (limited) Automatically reads default commands from a file Reads commands from a file Help for each of the commands Graceful handling of interrupted group transfers Features not included in this version: Advanced server commands Extended block checks (2 and 3 byte checks) Handling file attributes 13.2 Invocation syntax The invocation syntax for CP-6 KERMIT is as follows: !KERMIT [cmd-file] [,default-file] [{ON|TO|OVER|INTO} ,dest] [( options [)]] The invocation parameters have the following meaning: cmd-file is a CP-6 file containing KERMIT commands. See Section 13.4 below for a list of legal KERMIT commands. default-file is a file containing KERMIT commands that will be read automatically before most other commands are executed. This file is read through the F$DEFAULTS DCB and if the file name is not specified, it defaults to :KERMIT_INI. dest is where KERMIT will output messages that would go to the screen by default. These messages are written through the M$LO DCB. options one or more of the options/commands, separated by semicolons, listed in this help file. Note that if any commands (other than DONT GREET, DONT PROMPT, NO DEFAULTS and SILENT MODE) are specified on the invocation line, when the last such command is completed, KERMIT will exit rather than prompt for more commands. 13.3 Commands only legal on invocation line The following commands are intended for use on the CP-6 KERMIT invocation line. Although most of them may be issued after you are already in CP-6 KERMIT, there is little reason to do so because by then it's too late for them to be effective (e.g., specifying NO GREETING after you are already in KERMIT makes little sense and will have no effect). { D[ONT] | N[O] } G[REETING] Causes the greeting (KERMIT 1.00 Here (01/25/87)) to be suppressed. { D[ONT] | N[O] } P[ROMPT] Causes the prompt string to be suppressed. N[O] D[EFAULTS] By default, when KERMIT is invoked it looks for a file called :KERMIT_INI in the current directory. If it is NOT found, then the logon account is searched (if it is not the current account). If the file is found in either account, it is read and any KERMIT commands in it are executed. This NO DEFAULTS option suppresses this behavior if it is specified on the command line. Furthermore, if it is the only option on the command line, KERMIT will prompt the user for additional commands. Otherwise, all the commands/options on the command line are executed and then KERMIT exits. SILE[NT] [M[ODE]] Causes KERMIT to NOT write anything through the M$LO DCB (DCB4). This may not be completely successful in some situations. 13.4 Normal CP-6 KERMIT Commands !command Any command which may be entered from IBEX may be entered while in KERMIT by preceding the IBEX command with a ! (the IBEX prompt character). For all of these commands, with the exception of !XEQ, the user is returned to KERMIT after the command is executed. Note: This feature will NOT work on pre-C00 versions of CP-6. ? Requests that the next level of HELP be displayed. This should only be issued after a HELP or ? command. for more information. ?? See the HELP command below Requests all remaining HELP on the most recently specified topic. This should only be issued after a HELP or ? command. See the HELP command below for more information. BYE Tells "the other" KERMIT (which should be running in SERVER mode) to exit and terminate the session. CG = comgroup_name Specifies the name of the ComGroup to be used for file transfers. This option is only meaningful when specified in conjunction with the STATION option. If either the CG or STATION options are specified without the other option then the option that was specified will be IGNORED. C[OPY] sourcelist [{ON|TO|OVER|INTO} destination] [FROM fid] Causes CP-6 KERMIT to M$LINK to PCL, passing the entire COPY command to PCL. Since PCL, not KERMIT, is really doing the COPY, the command specified may have any of the options that the PCL COPY command accepts. DATE Displays the current date and time in the format: mmm dd 'yy hh:mm (month) (day) (year) (hour) (minute) DEB[UG] [[{ON|TO|OVER|INTO}] debug-file] [( option, [,option...] )] Specifies what information will be written to the debug file. The debug parameters have the following meaning: debug-file is a CP-6 file where the requested (via options) debug information will be written. If 'debug-file' is not specified on a command, any previously specified 'debug-file' name will be used. If this is the first DEBUG command issued, the file name '*DEBUG' will be used by default. option is one of the following: A[LL] writes ALL available debug information C[OMMAND] writes a copy of the command issued by the user. handy This is when you are DEBUGging INTO the same file (as might be done when the DEBUG command is in the :KERMIT_INI file) and you want/need to know at what point in the DEBUG file each CP-6 KERMIT session began. E[RROR] writes unexpected monitor errors I[NFORMATION] writes "miscellaneous" information. Currently, this just means include a copy of the CP-6 KERMIT invocation line (B$JIT.CCBUF) in the debug file. M[ICRO] writes a debug record for each packet sent and received, timeout value change and unexpected monitor errors. This is a shorthand method of specifying the ERROR, RECEIVE, SEND and TIMEOUT options. OF[F] Causes CP-6 KERMIT to CLOSE the debug file and cease writing debug information to it. A subsequent DEBUG command without a 'debug-file' specified will cause the previous debug file to be extended. ON Causes CP-6 KERMIT to start/continue writing debug information to the debug file. REA[D] writes a debug record for each record READ from a CP-6 file being transferred to "the other" computer. REC[EIVE] writes a debug record for each packet received from "the other" computer. S[END] writes a debug record containing packets that CP-6 KERMIT sends to "the other" computer. T[IMEOUT] writes a debug record indicating that either a read timeout value was changed or that a timeout occurred; the text of the record indicates which occurred. W[RITE] writes records as they were written to a CP-6 file; as a result of a RECEIVE command on CP-6 or a SEND command on "the other" computer when CP-6 KERMIT was running as a SERVER. The default is to NOT DEBUG. However, if a DEBUG command is specified with no parameters, the default is DEBUG INTO *DEBUG(MICRO). Each record written to the debug file is preceded by a 15 byte header. The first four bytes indicate what type of record it is and have the following meanings: 'Cmnd' - the record contains a KERMIT command as issued by the user. 'Info' - the record contains miscellaneous information. With this version of CP-6 KERMIT, the record will contain a copy of the KERMIT invocation line. 'Read' - the record was one READ from a CP-6 file and was eventually SENT (hopefully) to the "other" computer. 'Rcvd' - the record was RECEIVEd from the "other" computer. 'Sent' - the record was SENT to the "other" computer. 'Timo' - either a read timed out or a timeout value was changed. The remaining portion of the record (past the header) contains a message indicating what happened. 'Writ' - the record was written as a logical record to the file that was RECEIVEd from the "other" computer. The remaining 11 bytes of header is a time stamp which is provided to aid the user in finding "timing holes" which may exist between the personal computer and CP-6 versions of KERMIT. [LOCAL] DEL[ETE] sourcelist [FROM fid] Causes CP-6 KERMIT to M$LINK to PCL, passing the entire DELETE command (minus the LOCAL if it was specified) to PCL. Since PCL, not CP6 KERMIT, is really doing the DELETE, the command specified may have any of the options that the PCL DELETE command accepts. { DIRECTORY | DIR } [[DP#packset].account | R[ESET]] Changes the default account and optionally, the default packset. The default account and packset are the account and associated packset that are selected if an account is not supplied as part of a disk fid. Initially, the default account is the logon or running account and the packset name is nil. When used without parameters, the DIRECTORY command displays the current directory. DO command-to-be-passed-to-IBEX Any command which may be entered from IBEX may be entered while in CP-6 KERMIT by preceding the IBEX command with 'DO '. For all of these commands, with the exception of DO XEQ, the user is returned to CP-6 KERMIT after the command is executed. Note: This feature will NOT work on pre-C00 versions of CP-6. { E[ND] | EX[IT] | X[IT] | Q[UIT] } Exits CP-6 KERMIT after closing and saving any currently OPEN files. ERASE [ALL | ldevlist] ERASE deletes the accumulated output for ALL or for the specified logical devices defined for the session or job. If no parameters are specified, ALL is assumed. FIN[ISH] Tells the "other" KERMIT (which is assumed to be running in SERVER mode) to exit. Unlike the BYE command, the "other" session remains active. H/ELP [(processor)][ TOPICS ][ keyword1 ][ - ][ keyword2] HELP prints information. HELP messages have levels. Once the initial level has been printed, typing a question mark prints the next level, usually containing greater detail. Typing two question marks prints the entire message. Any processor with a standard HELP file can be read from KERMIT. The HELP can be issued at the double-bang (!!) without losing the suspended activity. Thus, one may exit a processor (such as FORTRAN) with a <CNTL><Y>, query for HELP information, and then issue GO to return to FORTRAN. Parameters have the following meanings: processor specifies a program or processor that has an associated HELP file. The default is the processor currently under control (in this case, KERMIT). TOPICS specifies that only a list of available topics (message names) is required. The range of topics is determined by keyword1 or keyword2. keyword1 specifies the name of the message to be printed. keyword2 if a range is specified (by including a dash " - " or greater than ">"), keyword2 is the upper limit of the range. If a range is not specified, keyword2 is a submessage, or category within a message. L[IST] [(listopt)] [sourcelist [{ON|TO|OVER|INTO} destination]] [FROM fid] Causes KERMIT to M$LINK to PCL, passing your entire LIST command to PCL. Since PCL is really doing the LIST, the command specified may have any of the options that the PCL LIST command accepts. LOC[AL] { CWD [[.] account] | DIR[ECTORY] [listopt] } The LOCAL commands are miscellaneous commands to be performed on the local machine; in this case CP-6. The LOCAL CWD (Change Working Directory) performs the same function as the CP-6 DIRECTORY command. The LOCAL DIRECTORY command performs the same function as the CP6 PCL LIST command. LOG [T[RANSACTIONS]] [{ON|TO|OVER|INTO}] fid LOGs information about the files transferred into the specified file. This is especially useful when CP-6 KERMIT is running as a SERVER. In SERVER mode it is difficult (at best) to get "informational" messages displayed to the user because the "other" computer is in transfer mode all the time. LOG information is written to the indicated EDIT KEYED file with the fractional portion of the EDIT key being the same for like types. The following is a summary of the various types currently generated: xxxxx.000 - Date, time and users logon account and name xxxxx.100 - A message indicating the direction (SEND or RECEIVE) of the transfer, file name, number of records and the mode (TEXT or BINARY). This record is actually written twice; once when the transfer starts (the text indicates this) and again when the transfer completes. This is the reason why this file is KEYED and makes it possible to tell if a started transfer actually finished normally. xxxxx.200 - Packet sizes used (by each side) for the transfer xxxxx.300 - Number of Data packets used and how many bytes were transferred xxxxx.600 - Elapsed time of the transfer xxxxx.700 - Error message from any error that may have prematurely stopped the transfer OUT[PUT] [{ON|TO|OVER|INTO}] destination Directs KERMIT's primary output to the specified destination. The default is OUTPUT ON ME. PRINT [ALL | ldevlist] Causes accumulated output for the specified logical device to be released to the symbiont. If no parameters are specified, ALL is assumed. PROM[PT] 'prompt-string' Specifies the prompt string that KERMIT will subsequently prompt with. The default is PROMPT 'CP-6 Kermit> '. { READ | TAKE } fid Causes subsequent KERMIT commands to be read from 'fid'. When the end of 'fid' is reached, input reverts back to the source in use prior to the READ command. READ commands may NOT be nested; that is, a file being READ cannot contain a READ command. REC[EIVE] [{ destfid | otherfid {ON|TO|OVER|INTO} destfid }] Instructs KERMIT to RECEIVE file(s). If no parameters are specified, the file name is taken from the file packet sent to CP-6 from "the other" computer. If destfid is specified, it overrides the name sent in the file packet. If otherfid is specified, it is ignored! SEN[D] sourcefid [[AS] destfid] Causes KERMIT to SEND sourcefid to "the other" computer. If destfid is specified and sourcefid is NOT wildcarded, destfid will be sent as the file name in the file packet to "the other" computer. 'sourcefid' may be wildcarded using the question mark (?) as the wildcard character. SER[VER] Puts CP-6 KERMIT into file SERVER mode. In this mode, CP-6 KERMIT accepts its commands through packets from "the other" computer. Once this command is issued on CP-6, it can be stopped in any one of three ways: 1) If "the other" computer goes back to emulator mode on CP-6 and a carriage return(s) are entered, CP-6 KERMIT will again prompt the user for commands. 2) Issue the FINISH command on "the other" computer. This will cause CP-6 KERMIT to exit to IBEX. 3) Issue the BYE command on "the other" computer which causes CP-6 KERMIT to be exited and an !OFF command to be issued thus terminating the CP-6 session. SET B[LOCK] [-] [C[HECK]] [=] { 1 | 2 | 3 } [CHARACTER] [CHECKSUM] Note: Only 1 is supported at the present time. KERMIT checks the validity of data in each packet via a block check. The sender of the packet computes the block check based on the other characters in the packet and the receiver recomputes it the same way. If these quantities agree, the packet is accepted and the transmission proceeds. If they disagree, the packet is rejected and transmitted again. There are three different block checks (sometimes know as checksums) that are supported in the KERMIT protocol. The first one ("1" in the option list above) is the simplest block check and is required to be supported in all versions of KERMIT. At the present time, this is the ONLY one supported by CP-6 KERMIT. This block check is only a 6bit quantity (the low order 8 bits of the arithmetic sum folded upon itself). With only six bits of accuracy, the chances are one in 64 that an error can occur which will not be detected in the checksum, assuming that all errors are equally likely. The second block check ("2" in the option list above) is much like the first except that it is a 12-bit checksum instead of 6-bit. This reduces the chance of an undetected error to be one in 4096 but also takes another byte in the packet that otherwise could have been used for data. The third and last block check ("3" in the option list above) is a 3-character, 16-bit Cyclic Redundancy Check, CCITT format. In addition to errors in any odd number of bits, this method detects double bit errors, all error bursts of length 16 or less and more than 99.99% of all possible longer bursts. This method also uses two more bytes in the packet that could have otherwise been used for data. SET D[ELAY] [=] value "value" specifies the number of seconds to wait before sending the first packet to "the other" computer after a SEND command is issued to CP-6 KERMIT. The reason for this is to give you enough time to "escape" back to "the other" computer and issue a RECEIVE command. This "delay" does NOT occur when CP-6 KERMIT is in SERVER mode. The default is SET DELAY = 10. SET F[ILE] parameter B[INARY] EX[TENSIONS] [=] 'suffix' [,'suffix'...] This option, when used in conjunction with SET FILE MODE=AUTOMATIC and SET FILE PC EXTENSION=YES, allows the user to specify a list of (possibly wildcarded) binary file extensions (i.e., suffixes). If the name of a file being transferred matches any of the extensions specified in this option, the file will be transferred in BINARY mode. Otherwise, the transfer will be done in TEXT mode. Each of the extensions you specify is implicitly preceded with a '?'. The default is SET FILE BINARY EXTENSIONS = '-ARC', '_ARC', '-COM', '_COM', '-EXE', '_EXE', '-LIB', '_LIB'. C[P] [-] [6] [F[IDS]] [P[ERMITTED]] [=] { Y[ES] | N[O] } If YES is specified, CP-6 KERMIT will expect the file names passed, in type 'F' packets, to be legal CP-6 fids. This being the case, any periods in names will be treated as CP-6 file name, account and/or password delimiters as opposed to PC name and extension separators. If NO is specified, then CP-6 KERMIT looks for illegal fid characters in the passed file names. If any are found, they are replaced with the SET FILE REPLACEMENT character, which is an underscore (_) by default. The default is SET FILE CP6 FIDS PERMITTED = NO. E[DIT] [K[EY]] [=] { Y[ES] | N[O] } If YES is specified, then RECEIVEd file will be EDIT KEYED. Otherwise, the file will be created as a CONSECutive file. The default is SET FILE EDIT KEYED = NO. E[ND] O[F] R[ECORD] [=] dec3 [,dec3] This option allows the user to specify the "end of record" sequence that will be sent in packets to delimit logical records. The values are specified in decimal and separated with commas. The default is SET FILE END OF RECORD = 13, 10 which is CR, LF. I[NCOMPLETE] [=] { D[ISCARD] | K[EEP] } If KEEP is specified, any portion of a file transfer (to CP-6) prior to an interruption will be kept. If DISCARD is specified, only successfully transferred files will be retained. The default is SET FILE INCOMPLETE = DISCARD. M[ODE] [=] { A[UTOMATIC] | B[INARY] | T[EXT] } This option controls the file transfer mode. If BINARY is specified, all records being read or written from/to a CP-6 file should be 128 bytes. All bytes are transmitted such that they will end up on "the other" machine as they were on the source machine (e.g., TAB characters will end up as TAB characters rather than an appropriate number of blanks). If TEXT is specified, each record being sent from a CP-6 file will have the END OF RECORD (see SET FILE END OF RECORD) character(s) appended to it in the packet. Similarly, packets being received will have the END OF RECORD character(s) removed from each record before the record is written to the CP-6 file. If AUTOMATIC is specified, a RECEIVE transfer will be done in BINARY mode if: 1) the SET FILE PC EXTENSIONS = YES and 2) if the name of the file being transferred matches one of those extensions in the extension list (see SET FILE BINARY EXTENSIONS). If AUTOMATIC is specified and a SEND is being done, the transfer will be done in BINARY if: 1) the CP-6 files 'TY' field equals 'BI' (as in BInary) or 2) if SET FILE PC EXTENSIONS = YES and the name of the file being transferred matches at least one of the extensions in the binary extension list (see SET FILE BINARY EXTENSIONS option). The default is SET FILE MODE AUTOMATIC. N[AMES] [=] { A[S] [IS] | L[OWER] [C[ASE]] | U[PPER] [C[ASE]] } This option controls if and how file names will be changed prior to being used on CP-6. If AS IS is specified, then the file names will be used "as is" on CP-6. If LOWERCASE is specified, then the file name will be changed to all lowercase prior to being used on CP-6. If UPPERCASE is specified, then the file name will be changed to all uppercase prior to being used on CP-6. The default is SET FILE NAMES = AS IS. [PC] EX[TENSIONS] [=] { YES | NO } This option controls whether the BINARY EXTENSION list will be used to determine the MODE of file transfers. See SET FILE MODE and SET FILE BINARY EXTENSIONS options for more information. The default is SET FILE PC EXTENSIONS YES. PR[EFIX] [=] '19characters' This option allows a CP-6 file prefix (up to 19 characters) to be specified.When a file is RECEIVEd on CP-6, this prefix will precede the file name passed from "the other" computer. When a file is SENDed from CP-6, this prefix (if present) will be removed from the file name sent to "the other" computer. This feature was added to aid, for example, those users who are using CP-6 to "backup" the files on their "other" machine (usually a micro). For instance, suppose you have a hard disk on your "other" computer that has multiple subdirectories. In several of those subdirectories is a file called 'READ.ME'. If you were to "backup" all those subdirectories into a single account on CP-6, you would end up with one READ.ME file. would The file be either from the first (if SET FILE WARNING ON) or the last (if SET FILE WARNING OFF) subdirectory you "backed-up". With this option, you could specify a different PREFIX (I.e., the subdirectory name) for each subdirectory you "backup". This would result in all of the READ.ME files ending up with unique names on CP-6. For another way to get files "restored" back to "the other" computer, see the SET FILE SUBDIRECTORY CHAR command. The default is SET FILE PREFIX = '' which effectively disables this feature. R[EPLACEMENT] [C[HARACTER]] [=] '1character' If SET FILE CP-6 FIDS PERMITTED = NO is in effect, CP-6 KERMIT will check all specified CP-6 file names for illegal characters (including periods). If any are found, they are replaced with the '1character' specified on this option. The default is SET FILE REPLACEMENT CHARACTER = '_'. SUB [DIRECTORY] C[HARACTER] [=] '1character' This command permits the user to simulate subdirectories (to a limited extent) on CP-6. This is done by choosing a character to represent the subdirectory separator character. This character and all characters preceding it will be removed from file names sent to the local Kermit. For example, if you type: SET FILE SUBDIRECTORY CHARACTER = ':' SEND TEST:FILE_EXT the file would be sent under the name 'FILE.EXT'. If you want to turn this feature off, simply type: SET FILE SUBDIRECTORY OFF This will disable the feature until a subsequent SET FILE SUBDIRECTORY ON command is issued. Event when this feature is disabled, the SET FILE SUBDIRECTORY CHARACTER is still retained so once specified it doesn't need to be SET again. Initially, this feature is OFF, but the character is set to ':'. This character was chosen because it can't occur in a PC filename, but it can in a CP-6 filename. This feature is mainly intended to help organize CP-6 directories which are being used as central repositories for micro software. The default is SET FILE SUBDIRECTORY CHARACTER = ':' and SET FILE SUBDIRECTORY OFF. SUB [DIRECTORY] [=] { OFF | ON } When ON is specified, the feature described under the SET FILE SUBDIRECTORY CHAR command will be used. When OFF is specified said feature is disabled but the character specified in SET SUB DIRECTORY CHAR will be retained. W[ARNING] [=] { OFF | OVER | ON | TO | INTO } This option controls what happens if the file being sent to CP-6 already exists. If OFF or OVER is specified, any existing file of the same name is overwritten. If no file currently exists, a new one is created. If ON or TO is specified and a file of the same name already exists, an error is returned and the existing file remains unchanged. If INTO is specified and the file already exists, the file will be extended. If no file currently exists then one is created. The default is SET FILE WARNING ON. SET R[ETRY] [C[OUNT]] [F[OR]] { I[NITIAL] [P[ACKETS]] | P[ACKETS] } This option sets the error retry threshold for either the Initial packet or Data packets. The defaults are SET RETRY COUNT FOR INITIAL PACKET = 10 and SET RETRY COUNT FOR PACKETS = 10. SET SEN[D] parameter EI[GHT] [B[IT]] [Q[UOTING]] [C[HARACTER]] [=] '1character' This option will only be used when the parity of the communications line is something other than NONE or ZERO (i.e., when the eighth bit is not available for data). When specified, this character must be "Y" or "N" or a character in the range ASCII 33-62 ("!" through ">") or 96-126 ("'" through "~"), but MUST be different from the SEND QUOTE and SEND REPT values. The value is interpreted as follows: Y CP-6 KERMIT will do 8-bit quoting if "the other" N & requests it. 8-bit quoting will NOT be done. (or any other character in the range 33-62 or 96-126) KERMIT means CP-6 KERMIT will use this character for 8-bit quoting (if "the other" KERMIT responds with a "Y" or the same character). The "&" is the recommended 8-bit quote character. The default is SET SEND EIGHT BIT QUOTING CHARACTER = 'Y'. E[ND] O[F] L[INE] [=] dec3 The ASCII character that will be used as the line terminator for all outgoing packets. The default value is 13 (Carriage Return). PACK[ET] [L[ENGTH]] [=] dec The maximum length packet that CP-6 KERMIT wants to receive, a number in the range 7 to 94, inclusive. It is recommended that this value be 94 (the maximum) unless numerous retries are occurring in which case the value should be gradually decreased until retries only occur occasionally, if at all. The default is SET SEND PACKET LENGTH = 94. PAU[SE] [=] dec Specifies how many seconds to pause before ACKnowledging a packet. the Setting this to a nonzero value will slow down rate at which data packets arrive, which may be necessary for systems that have "sensitive" front ends and cannot accept input at a high rate. The default is SET SEND PAUSE = 0. PADC[HAR] [=] dec3 This is a padding character that the "other computer" will send before each packet. The number of padding characters required is determined by the value of the SEND PADDING parameter. It is doubtful that you will ever need to set this or the SEND PADDING values. The default is SET SEND PADCHAR = 0. PADD[ING] [=] dec This indicates the number of padding characters (see SET SEND PADCHAR) that the "other computer" should send before each packet. It is doubtful that you will ever need to set this value. A value of 0 (zero) means that no padding characters are needed. The default is SET SEND PADDING = 0. Q[UOTE] [CTL] [=] '1character' This is the printable ASCII character CP-6 KERMIT will use to quote control characters. This must be a printable character and the MUST be different from both the EIGHT BIT QUOTING CHARACTER and the REPEAT CHARACTER. The default is SET SEND QUOTE CTL = '#'. R[EP] [E[A]] [T] [C[HARACTER]] [=] '1character' This is the character that will indicate a repeated character. This can be any printable character in the range ASCII 33-62 ("!" through ">") or 96-126 ("'" through "~") but MUST be different than both the SEND QUOTE and SEND EIGHT BIT QUOTING CHARACTER. Any character outside this range indicates repeating will NOT be done. The tilde (ASCII 126, "~") is the recommended and normal repeat prefix. If "the other" KERMIT does not respond with the same character, no repeating will be done. If repeating is possible by both KERMITs, it will be used to represent 4 or more consecutive occurrences of the same character. The default is SET SEND REPEAT CHARACTER = '~'. S[TART] [O[F]] [P[ACKET]] [=] dec The synchronization character that marks the beginning of the packet. This is a SOH (CTRL-A) by default but may be changed if needed. The default is SET SEND START OF PACKET = 1. T[IMEOUT] [=] dec The number of seconds after which CP-6 KERMIT wants "the other" KERMIT to time out while waiting for a packet from CP-6. The default is SET SEND TIMEOUT = 8. SET TAB EX[PANSION] [=] { OFF Indicates if received appropriate number of ON is specified, it is only in a BINARY transfer, TABs | ON } TAB characters are to be replaced with an spaces to move to the next "tab stop". If honored during TEXT mode transfers (i.e., will be sent as TAB characters). The default is SET TAB EXPANSION ON. SET TABS [ dec [,dec...] ] Accepts the desired "tab stop" settings. Up to 40 values may be specified but they must be in ascending order. A value of 0 (zero) means revert back to the default. These values are only used on TEXT mode transfers and only if SET TAB EXPANSION = ON, which IS the default. The default is SET TABS 9,17,25,33,41,49,57, ... ,305,313,321. SHOW Shows the current settings for SETable items. STATION = station_name Specifies the name of the ComGroup station to be used for file transfers. This option is only meaningful when specified in conjunction with the CG option. If either the CG or STATION options are specified without the other option then the option that was specified will be IGNORED. TR[ANSMIT] fid Sends 'fid' to the "other computer" raw; that is, with no protocol involved. CP-6 KERMIT will DELAY the sending of 'fid' by the number of seconds currently set for the SET DELAY option. 13.5 Installation 13.5.1 To start the installation of this version of KERMIT, put the following files into the same account. They may coexist with other files in the account. HC6KERMIT_BLD HC6KERMIT_C61 Section 13.5 (Installation) of HC6KERMIT_DOC INCLUDEd file used in HC6KERMIT_PAR & _PL6 HC6KERMIT_DOC HC6KERMIT_FCC Documentation for this version of CP-6 KERMIT HC6KERMIT_DOC file with Fortran Carriage files Control HC6KERMIT_HER HELP:KERMIT: HC6KERMIT_INS HC6KERMIT_JCL HC6KERMIT_JCL HELP:KERMIT: HC6KERMIT_PAR HC6KERMIT_PL6 HC6KERMIT_UPD HC6KERMIT_UPD_PAR HC6KERMIT_PAR HC6KERMIT_UPD_PL6 HC6KERMIT_PL6 13.5.2 the HERMAN.X source file; used to create CP-6 XEQ file that customizes the File to !XEQ that creates KERMIT & Source file for the PARTRGE processor Source file for the PL-6 compiler List of changes/fixes made to CP-6 Kermit If present, CP-6 style updates to If present, CP-6 style updates to Change, via the !DIR command, your file management directory to account where the above files reside. 13.5.3 Make a listing of HC6KERMIT_FCC by issuing the following command: !LDEV LP30 LP,FORM='LONG' !COPY HC6KERMIT_FCC TO LP30(VFC,FVFC) !PRINT LP30 13.5.4 Next, !XEQ HC6KERMIT_INS. This file MUST be XEQ'd (not BATCH'd) because it will ask various questions and then will change other files based upon your answers to the questions. The logon account that HC6KERMIT_INS is XEQ'd from will need WRITE access to the account where the HC6? files reside. 13.5.5 Be certain that the account you will be running HC6KERMIT_JCL from is authorized to run with the resources specified on the !RES/ORES commands in the HC6KERMIT_JCL file. Furthermore, that account must have access to execute PL6.:SYS, PARTRGE.:SYS and HERMAN.X. 13.5.6 Next, XEQ or BATCH HC6KERMIT_JCL. This will create the KERMIT run unit and the HELP:KERMIT: file, used by the CP-6 HELP facility. Note: By default, the listings produced by the PL-6 compile and PARTRGE will be EDGEMARK'd. If you do NOT want them EDGEMARK'd, include DEST=LP as a substitution on your XEQ/BATCH of HC6KERMIT_JCL.