,* Last update 13 July 1985
,ju
,lm 5
,ll 72
,pl 66
,hd
,ll 60
,tf

KERMIT-09 User
s guide


,,
,pg
,ft
,ll 60

,ce 1
- ## -

,,
,ce 2
FLEX-09 KERMIT
--------------




,nj

Author:	Jur van der Burg
	
Nettelhorst 56
	
2402 LS	Alphen aan den Rijn
	
The Netherlands
Language:	C (Compiled with Introl (c) compiler)
Version:	3.0
Date:
	July 1986




,ju
KERMIT for FLEX has it's roots in the UNIX version. It is enhanced in
 several ways, such as data logging, server mode etc.

It should run on about any version
 of the FLEX-09 (tm) or SK*DOS (tm) operating system. It requires 48K of memory. Hardware d
ependent things are kept in the files FLK.H and FLIO.C .

FLEX-09 KERMIT has most of the 
features specified in the KERMIT Protocol Manual.
,pg
1. Remote and Local Operation

,i
n 5
KERMIT programs can be run in two ways, remote and local. A remote Kermit is usually r
unning on a mainframe, which you have CONNECTed to through a PC or other computer. When KER
MIT runs remotely, all file transfer is done over the job's controlling terminal line -- th
e same line over which you logged in, and to which you would type interactive commands. Wha
t the system thinks is your terminal is really another computer, usually a microcomputer, r
unning its own copy of Kermit.

When KERMIT is in "local mode", file transfer is done ove
r an external device, such as a microcomputer's serial communication port, or an assigned t
erminal line on a mainframe. The local Kermit is connected in some way (like a dialout mech
anism) to another computer, again running its own copy of Kermit. A local Kermit is in cont
rol of the screen, a remote Kermit has no direct access to it.

Microcomputer KERMITs usu
ally run in local "mode", whereas mainframe Kermits usually need to be given some special c
ommand to run in local mode. Some commands make sense only for remote Kermits, others only 
for local, still others can be used with either. Local and remote operation of KERMIT is sh
own schematically here:

,in 0
 Micro is Local, Mainframe is Remote:


	
Communicatio
n Line	(Packets)
	+-------------------/	/-----------------+	Other terminals
	!	(!	!	!	!
	!
	(!	!	!	!
	Micro	!	LOCAL	Mainframe	!	!	!	!	REMOTE
 +
----------+----------+	+------------+--+--+--+--------+
 !	Serial Port	!	!	!	!
 !	!	!	!	
!
 !	!	!	!	!
 !	+---------------+	!	!	Your job's	!
 !	! Packets: 724
	!	!	!	terminal line	!
 !	!	!	!	!	!
 !	! File: FOO.BAR !
	!	!	!
 !	+---------------+	!	!	!
 !	Screen	!	!	!
 !	!	!	!

 +---------------+-----+	+------------------------------+
	!
	! (Commands)
	!
	+------------+---------+
	\	Keyboard	
\
	+----------------------+
	You
,pg
,in 5
The KERMIT program on the micro is a local Kermit. It ca
n control the screen, the keyboard, and the port separately, thus it can update the screen 
with status information, watch for interrupt signals from the keyboard, and transfer packet
s on the communications port, all at the same time.

The KERMIT program running on the ma
inframe is a remote Kermit. The user logs in to the mainframe through a terminal port. The 
host computer cannot tell that the user is really coming in through a microcomputer. The ke
yboard, screen, and port functions are all combined in user's mainframe terminal line. Ther
efore a remote Kermit is cut off from your screen and keyboard during file transfer.

A K
ERMIT server is always remote, and must get its commands from a local KERMIT. The following
 descriptions will indicate when a command must be remote or local.

,in 0
2. Command In
terface

,in 5
The FLEX-09 implementation has an interactive keyword-style command inter
face, modeled after that of the DEC VAX/VMS operating system, which is roughly as follows:


In response to the "Kermit-xx>" prompt you may type a keyword, such as SEND, RECEIVE, o
r EXIT, possibly followed by additional keywords or operands, each of which is called a fie
ld. You can abbreviate keywords (but not file names) to any length that makes them distingu
ishable from any other keyword valid for that field. The command is terminated by a carriag
e return. Before the carriage return is typed, the command can be edited using RUBOUT or ot
her command editing keys. Finally, the same command is entered again with a minimum of keys
trokes, with each field abbreviated to its shortest unique length.

,in 0
3. Notation


,in 5
In the command descriptions, the following notation is used:

anything
,in 15

A parameter - the symbol is replaced by an argument of the specified type (number, filena
me, etc).

,in 5
[anything]
,in 15
An optional field. If omitted, it defaults to an a
ppropriate value.

,in 5
number
,in 15
A whole number, entered in hexadecimal or decim
al notation.

,in 5
character
,in 15
A single character, entered literally, or as a nu
mber (perhaps decimal or hexadecimal) representing the ASCII value of the character.

,in
 5
file-spec
,in 15
A file specification, i.e. the name of a file, possibly including a 
drive number or other qualifying information, and possibly containing "wildcard" or pattern
-matching characters to denote a group of files.

,in 5
^X
,in 15
A control character 
may be written using "uparrow" or "caret" notation, since many systems display control char
acters this way. Control characters are produced by holding down the key marked CTRL or Con
trol and typing the appropriate character, e.g. X.

,in 5
Commands are shown in upper ca
se, but can be entered in any combination of upper and lower case.

,in 0
4. Summary of 
KERMIT Commands

,in 5
Here is a brief list of KERMIT commands as they are found in the 
FLEX-09 KERMIT program. The following sections will describe these commands in detail.

,
in 5
For exchanging files:
	SEND, RECEIVE, GET

For connecting to a remote host:
	
CONNECT, SET LINE, SET CONFIGURATION, SET BAUD, SET DUPLEX,
	SET HANDSHAKE, SET ESCAP
E, SET PROMPT, SET LOG

For acting as a server:
	SERVER

For talking to a server:
	BYE, FINISH, GET, SEND

Setting nonstandard transmission and file parameters:
	SE
T BLOCK_CHECK_TYPE, SET DEBUG, SET DELAY, SET FILETYPE,
	SET INCOMPLETE, SET WARNING, S
ET CONFIGURATION, SET RETRY,
	SET END_OF_LINE, SET START_OF_PACKET, SET PACKET_LENGTH,

	SET TIMEOUT, SET PADDING, SET PADCHAR, SET QUOTE,
	SET REPEAT_QUOTE, SET EIGHT_BI
T_QUOTE, TAKE

For interrupting transmission:
	Control-X, Control-Z

Getting inform
ation:
	HELP, STATISTICS, SHOW, Control-D

For recording the history of a file transf
er operation:
	SET DEBUG LOG

For non-protocol file capture or transmission:
	SET
 LOG, TRANSMIT

Leaving the program:
	EXIT, QUIT

If you have a file called KERMIT.
INI in your default or home disk, KERMIT will execute an automatic TAKE command on it upon 
initial startup. KERMIT.INI may contain any KERMIT commands, for instance SET commands to c
onfigure KERMIT to various systems or communications media.

,in 0
5. The SEND Command


,si 3
Syntax: SEND filespec [filespec2] [filspec3...]

,in 5
The SEND command cause
s a file or file group to be sent to the other system. The filespec may contain the commonl
y used wild-card characters '*' and/or '?', where '*' stands for a string match (including 
null) and '?' stands for a single character match. Use of wildcard characters is the most c
ommon method of indicating a group of files in a single file specification. For instance if
 FOO.BAS is a single file, a BASIC program named FOO, then *.BAS might be a group of BASIC 
programs. If filespec1 contains wildcard characters then all matching files will be sent, i
n directory-listing order by name. If a file can't be opened for read access, it will be sk
ipped. There may be a total of twenty files or file groups specified.

,si -2
SEND Comma
nd General Operation


Files will be sent with their filename and filetype (for instance F
OO.BAR, no device or directory field, no generation number or attributes). If communication
 line parity is being used (see SET CONFIGURATION), the sending KERMIT will request that th
e other KERMIT accept a special kind of prefix notation for binary files. This is an advanc
ed feature, and not all KERMITs have it; if the other KERMIT does not agree to use this fea
ture, binary files cannot be sent correctly.

,si -2
SEND Remote Operation


If you are
 running KERMIT remotely (for instance, from a microcomputer), you should "escape back" to 
your local Kermit within a reasonable amount of time and give the RECEIVE command. Don't ta
ke more than about one minute to complete the switch, or KERMIT may "time out" and give up 
(in that case, you'll have to CONNECT back to the remote system and reissue the SEND comman
d).

,si -2
SEND Local Operation


If you're running KERMIT locally, for instance on a 
microcomputer, you should have already run KERMIT on the remote system and issued either a 
RECEIVE or a SERVER command.

Once you give KERMIT the SEND command, the name of each fil
e will be printed on your screen as the transfer begins, and information will be displayed 
to indicate the packet traffic. When the specified operation is complete, the program will 
sound a beep, and the status of the operation will be indicated by the message Complete, In
terrupted, or Failed.

If you see many packet retry indications, you are probably sufferi
ng from a noisy connection. You may be able to cut down on the retransmissions by using SET
 PACKET_LENGTH to decrease the packet length; this will reduce the probability that a given
 packet will be corrupted by noise, and reduce the time required to retransmit a corrupted 
packet. If you notice a file being sent which you do not really want to send, you may cance
l the operation immediately by typing either Control-X or Control-Z. If your are sending a 
file group, Control-X will cause the current file to be skipped, and KERMIT will go on to t
he next file, whereas Control-Z will cancel sending the entire group and return you to KERM
IT-09 command level.

,in 0
6. The RECEIVE Command

,si 3
Syntax:	RECEIVE [filespe
c]

,in 5
The RECEIVE command tells KERMIT to wait for the arrival a file or file group 
sent by a SEND command from the other system. If only one file is being received, you may i
nclude the optional filespec as the name to store the incoming file under; otherwise, the n
ame is taken from the incoming file header. If the name in the header is not a legal file n
ame on the local system, KERMIT will attempt to transform it to a legal name. If an incomin
g file has the same name as an existing file, KERMIT will either overwrite the old file or 
else try to create a new unique name, depending on the setting of FILE WARNING.

If you h
ave SET CONFIGURATION with parity, then 8th-bit prefixing will be requested. If the other s
ide cannot do this, binary files cannot be transferred correctly. The sending KERMIT may al
so request that repeated characters be compressed.

If an incoming file does not arrive i
n its entirety, KERMIT will normally discard it; it will not appear in your directory. You 
may change this behavior by using the command SET INCOMPLETE KEEP, which will cause as much
 of the file as arrived to be saved in your directory.

,si -2
RECEIVE Remote Operation



If your are running KERMIT remotely, you should escape back to your local Kermit and gi
ve the SEND command. You should do this within about one minute, or KERMIT may time out and
 give up; if this happens, you can CONNECT back to the remote system and reissue the RECEIV
E command.

,si -2
RECEIVE Local Operation


If you are running KERMIT locally, you sho
uld already have issued a SEND command to the remote KERMIT, and then escaped back to KERMI
T-09 (not SERVER -- use the GET command to receive files from a KERMIT server).

As files
 arrive, their names will be shown on your screen, along with a continuous display the pack
et traffic.

If a file begins to arrives that you don't really want, you can attempt to c
ancel it by typing Control-X; this sends a cancellation request to the remote Kermit. If th
e remote Kermit understands this request (not all implementations of Kermit support this fe
ature), it will comply; otherwise it will continue to send. KERMIT-09 will detect this situ
ation and send an error packet. If a file group is being sent, you can request the entire g
roup be cancelled by typing Control-Z.


,in 0
7. GET

,si 3
LOCAL ONLY -- Syntax: GET
 remote-filespec [filespec2...]

,in 5
The GET command requests a remote KERMIT server t
o send the file or file group specified by remote-filespec. Note the distinction between th
e RECEIVE and GET commands: RECEIVE puts KERMIT into a passive wait state, whereas GET acti
vely sends a command to a server.

The GET command can be used only when KERMIT is local,
 with a KERMIT server on the other end of the line. This means that you must have CONNECTed
 to the other system, logged in, run KERMIT there, issued the SERVER command, and escaped b
ack to the local KERMIT.

The remote filespec is any string that can be a legal file spec
ification for the remote system; it is not parsed or validated locally. As files arrive, th
eir names will be displayed on your screen, along with a continuous indication of the packe
t traffic. As in the RECEIVE command, you may type Control-X to request that the current in
coming file be cancelled, Control-Z to request that the entire incoming batch be cancelled.


If the remote KERMIT is not capable of server functions, then you will probably get an 
error message back from it like "Illegal packet type". In this case, you must connect to th
e other Kermit, give a SEND command, escape back, and give a RECEIVE command.

,in 0
8. 
SERVER

,si 3
Syntax: SERVER

,in 5
The SERVER command instructs KERMIT to cease taki
ng commands from the keyboard and to receive all further instructions in the form of KERMIT
 packets from another system. A KERMIT server must be remote; that is, you must be logged i
n to the system through another computer, such as a microcomputer. In addition, your local 
KERMIT should have commands for communicating with remote servers; these include GET, FINIS
H, and BYE.

After issuing this command, escape back to your local system and issue SEND,
 GET, BYE, FINISH, or other server-oriented commands from there. If your local KERMIT does 
not have a BYE command, then it does not have the full ability to communicate with a KERMIT
 server and you should not put the remote KERMIT into SERVER mode. If your local KERMIT doe
s have a BYE command, use it to shut down and log out the KERMIT server when you are done w
ith it. The KERMIT-09 server can also be shutdown by typing Control-X or Control-Z. Then th
e server will stop after the timeout.

Any nonstandard parameters should be selected with
 SET commands before putting KERMIT in server mode, in particular the block check type and 
special file modes.

,in 0
9. BYE

,si 3
LOCAL ONLY -- Syntax: BYE

,in 5
When ru
nning as a local Kermit talking to a KERMIT server, use the BYE command to shut down and lo
g out the server. This will also close any debugging log files and exit from the local KERM
IT.

,in 0
10. FINISH

,si 3
LOCAL ONLY -- Syntax: FINISH

,in 5
When running as a
 local Kermit talking to a remote KERMIT server use the FINISH command to shut down the ser
ver without logging out the remote job, so that you can CONNECT back to it.

,in 0
11. F
LEX

,si 3
Syntax: FLEX command

,in 5
Execute the specified command on the local sys
tem -- on the system where KERMIT to which your are typing this command is running. These c
ommands provide some local file management capability without having to leave the KERMIT pr
ogram, which is particularly useful on microcomputers. Be sure that the programs you run re
side in the utility command space ($C100 - $C6FF).

FLEX DELETE filespec	Delete the sp
ecified file or files.

FLEX CAT [filespec]	Provide a directory listing of the specifi
ed
	files.

,in 0
12. CONNECT

,si 3
LOCAL ONLY -- Syntax: CONNECT [terminal-desi
gnator]

,in 5
Establish a terminal connection to the system at the other end of the co
mmunication line. On a microcomputer, this is normally the serial port. On a mainframe, you
 will have to specify a terminal line number or other identifier, either in the CONNECT co
mmand itself, or in a SET LINE command. If a log file was opened (see SET LOG) then the dat
a will be buffered in memory, which will be written to disk if it becomes full. Handshaking
 is provided (see SET HANDSHAKE). Get back to the local KERMIT by typing the escape charact
er followed by a single character "command".
,pg
Several single-character commands are po
ssible:

	C	Close the connection and return to the local KERMIT.
	H	Show ava
ilability.
	S	Show status of the connection.
	B	Send a BREAK signal.
	0	
(zero) Send a NUL (0) character.
	Q	Quit logging session transcript.
	R	Res
ume logging session transcript.
	?	List all the possible single-character arguments.

	^	(or whatever you have set the escape character to be)
		Typing the escape cha
racter twice sends one copy of it
		to the connected host.
	other	Rings the bell.


You can use the SET ESCAPE command to define a different escape character, and SET CONF
IGURATION, SET BAUD, SET DUPLEX, SET HANDSHAKE to establish or change those parameters.

,in 0
13. HELP

,si 3
Syntax: HELP [subject] [sub-subject]

,in 5
Typing HELP alone 
prints a brief summary of KERMIT and its commands. Help about a particular topic can be obt
ained by giving it as a parameter. The HELP data file will be searched on the drive KERMIT-
09 was loaded from.

,in 0
14. EXIT, QUIT

,si 3
Syntax: EXIT
	or:	QUIT

,in
 5
Exit from KERMIT. QUIT is a synonym for EXIT. If a log file was used with CONNECT, and 
the buffer still contains data, then the buffer will we written to disk before terminating 
KERMIT-09.

,in 0
15. The SET Command

,si 3
Syntax: SET parameter [option] [value]


,in 5
Establish or modify various parameters for file transfer or terminal connection.


When a file transfer operation begins, the two KERMITs automatically exchange special i
nitialization messages, in which each program provides the other with certain information a
bout itself. This information includes the maximum packetsize it wants to receive, the time
out interval it wants the other KERMIT to use, the number and type of padding characters it
 needs, the end-of-line character it needs to terminate each packet (if any), the block che
ck type, the desired prefixes for control characters, characters with the "high bit" set, a
nd repeated characters. Each KERMIT program has its own preset "default" values for these p
arameters, and you normally need not concern yourself with them. You can examine their valu
es with the SHOW command; the SET command is provided to allow you to change them in order 
to adapt to unusual conditions.

The following parameters may be SET:

,in 7
BAUD	
S
et the speed of the current communications port
BLOCK_CHECK_TYPE Packet transmission error
 detection method
CONFIGURATION	Character parity to use
DEBUG	Mode or log file
DEL
AY	How long to wait before starting to send
DUPLEX	For terminal connection, full (re
mote echo) or
	half (local echo)
EIGHT_BIT_QUOTE	Character to use for binary file t
ransfer if
	parity used
END_OF_LINE	End of line character
ESCAPE	Character for 
terminal connection
FILETYPE		For setting ascii or binary file type.
HANDSHAKE	Selec
ting flow control characters, like XON/XOFF
INCOMPLETE	What to do with an incomplete fi
le
LINE	
Terminal line to use for terminal connection or
	file transfer
LOG	CONN
ECTion logging file
PACKET_LENGTH	Length of a packet
PADDING	
Number of padding char
acters
PADCHAR	
Padding character
PROMPT	Prompt of the local KERMIT
QUOTE	Charac
ter used to transfer control characters
REPEAT_QUOTE	Character to use for data compress
ion
RETRY	How many times to retry a packet before give up
START_OF_PACKET	Start of 
packet character
TIMEOUT	
Time to wait for a packet
WARNING	
File conflict warning fl
ag


,in 2
SET BAUD

,si 1
Syntax: SET BAUD number

,in 5
Set or change the baud ra
te (approximate translation: transmission speed in bits per second) on the currently select
ed communications device. In simple FLEX systems the only allowable baud-rates are 300 and 
1200. Other interfaces may provide a complete range.

,in 2
SET BLOCK_CHECK_TYPE

,si 
1
Syntax: SET BLOCK_CHECK_TYPE number

,in 5
KERMIT normally uses a 1-character block c
heck, or "checksum", on each packet. The sender of the packet computes the block check base
d on the other characters in the packet, and the receiver recomputes it the same way. If th
ese quantities agree, the packet is accepted and the transmission proceeds. If they disagr
ee, the packet is rejected and transmitted again.

However, the block check is not a fool
proof method of error detection. The normal single-character KERMIT block check is only a 6
-bit quantity (the low order 8 bits of the arithmetic sum folded upon itself). With only si
x bits of accuracy, the chances are one	6
in 2	-- that is, 1/64 -- that an error can
 occur which will not be detected in the checksum, assuming that all errors are equally lik
ely.

You can decrease the probability that an error can slip through, at the expense of 
transmission efficiency, by using the SET BLOCK_CHECK_TYPE command to select more rigorous 
block check methods. Note that all three methods will detect any single-bit error, or any e
rror in an odd number of bits.

The options are:

,in 7
1-CHARACTER-CHECKSUM:

,in 1
5
The normal single-character 6-bit checksum.

,in 7
2-CHARACTER-CHECKSUM:

,in 15
A
 2-character, 12-bit checksum. Reduces the probability of an error going undetected to 1/40
96, but adds an extra character to each packet.

,in 7
3-CHARACTER-CRC:

,in 15
A 3-c
haracter, 16-bit Cyclic Redundancy Check, CCITT format. In addition to errors in any odd nu
mber 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. Adds two extra characters to each pack
et.

,in 5
The single character checksum has proven to be quite adequate in practice, mu
ch more effective than straightforward analysis would indicate, since all errors are not eq
ually likely, and a simple checksum is well suited to catching the kinds of errors that are
 typical of telecommunication lines. The other methods should be requested only when the co
nnection is very noisy.

Note that the 2- and 3-character block checks are not available 
in all versions of KERMIT; if the other KERMIT is not capable of performing the higher-prec
ision block checks, the transfer will automatically use the standard single-character metho
d.

,in 2
SET DEBUG

,si 1
Syntax: SET DEBUG options [file]

,in 5
Record the pack
et traffic, either on your terminal or in a file. Options are:

ON	Display each incomi
ng and outgoing packet
	(lengthy).

OFF	
Don't display debugging information (this 
is the
	default). If debugging was in effect, turn it off
	and close any open debug
 log file.

LOG	
Log the information to the specified file.

During data transfer, de
bugging can be toggled on and off by pressing Control-D. If a log file was opened, it will 
be closed.

,in 2
SET DELAY

,si 1
Syntax: SET DELAY number

,in 5
Specify how man
y seconds to wait before sending the first packet after a SEND command. Use when remote and
 SENDing files back to your local Kermit. This gives you time to "escape" back and issue a 
RECEIVE command. The normal delay is 5 seconds. In local mode or server mode, KERMIT does n
ot delay before sending the first packet.

,in 2
SET DUPLEX

,si 1
Syntax: SET DUPLEX
 keyword

,in 5
For use when CONNECTed to a remote system. The keyword choices are FULL 
and HALF. FULL means the remote system echoes the characters you type, HALF means the local
 system echoes them. FULL is the default, and is used by most hosts. HALF is necessary when
 connecting to IBM mainframes. Half duplex is also called "local echo".

,in 2
SET ESCAP
E

,si 1
Syntax: SET ESCAPE character

,in 5
Specify or change the character you want
 to use to "escape" from remote connections back to KERMIT. This would normally be a charac
ter you don't expect to be using on the remote system, perhaps a control character like ^[,
 ^], ^^, or ^_. KERMIT-09 uses the up-arrow ('^') by default. After you type the escape cha
racter, you must follow it by a single-character "argument", such as "C" for Close Connecti
on. The arguments are listed above, under the description of the CONNECT command.

,in 2

SET FILETYPE

,si 1
Syntax: SET FILETYPE parameter

,in 5
Establish file-related pa
rameter. This may be either ASCII for text files or BINARY for non-text files. This is a ve
ry important command if you intend to transfer binary files, but is normally unnecessary fo
r transmitting textual files.

,in 2
SET HANDSHAKE

,si 1
Syntax: SET HANDSHAKE start
 stop

,in 5
For communicating with full duplex systems. System-level flow control is no
t necessary to the KERMIT protocol, but it can help to use it if the same method is availab
le on both systems. The most common type of flow control on full duplex systems is XON/XOFF
. If the KERMIT input buffer is filled up to 250 characters, the stop character is sent. If
 the buffer becomes empty and contains only 10 characters, the start character will be send
. The defaults for start is XON (17), and for stop XOFF (19).

,nl 5
,in 2
SET INCOMPLE
TE

,si 1
Syntax: SET INCOMPLETE option

,in 5
Specify what to do when a file transfe
r fails before it is completed. The options are DISCARD (the default) and KEEP. If you choo
se KEEP, then if a transfer fails to complete successfully, you will be able to keep the in
complete part that was received.

,in 2
SET LINE

,si 1
Syntax: SET LINE terminal-des
ignator

,in 5
Specify the terminal line to use for file transfer or CONNECT. This comma
nd is found on mainframe KERMITs, which normally run in "remote mode" using their own contr
olling terminal for file transfer. Specifying a separate line puts the program in "local mo
de". If the line is specified as 'REMOTE', the communication will revert to the job's contr
olling terminal.

,in 2
SET CONFIGURATION

,si 1
Syntax: SET CONFIGURATION number

,in 5
Parity is a technique used by communications equipment for detecting errors on a per
-character basis; the "8th bit" of each character acts as a check bit for the other seven b
its. KERMIT uses block checks to detect errors on a per-packet basis, and it does not use c
haracter parity. However, some systems that KERMIT runs on, or equipment through which thes
e systems communicate, may be using character parity. If KERMIT does not know about this, a
rriving data will have been modified and the block check will appear to be wrong, and packe
ts will be rejected.

If parity is being used on the communication line, you must inform 
both KERMITs, so the desired parity can be added to outgoing characters, and stripped from 
incoming ones. SET CONFIGURATION should be used for communicating with hosts that require c
haracter parity (IBM mainframes are typical examples) or through devices or networks that a
dd parity to characters that pass through them. Both KERMITs should be set to the same pari
ty. The specified configuration parity is used both for terminal connection (CONNECT) and f
ile transfer (SEND, RECEIVE, GET).

The choices for SET CONFIGURATION are:

,in 7
0.	
Seven data bits, even parity and two stop bits.
1.	Seven data bits, odd parity and tw
o stop bits.
2.	Seven data bits, even parity and one stop bit.
3.	Seven data bits, 
odd parity and one stop bit.
4.	Eight data bits, no parity and two stop bits.
5.	Ei
ght data bits, no parity and one stop bit (default).
6.	Eight data bits, even parity an
d one stop bit.
7.	Eight data bits, odd parity and one stop bit.

,in 5
Eight bits m
eans no parity is affecting the data, and the 8th bit of each character can be used for dat
a when transmitting binary files.

If you have set to use parity then advanced versions o
f KERMIT (including KERMIT-09) will request that binary files will be transferred using 8th
-bit-prefixing. If the KERMIT on the other side knows how to do 8th-bit-prefixing (this is 
an optional feature of the KERMIT protocol, and not all implementations of KERMIT have it),
 then binary files can be transmitted successfully. If eight-bits communication is specifie
d, 8th-bit-prefixing will not be requested.

,in 2
SET EIGHT_BIT_QUOTE

,si 1
Syntax:
 SET EIGHT_BIT_QUOTE character

,in 5
What character to use to process eight_bit bytes o
ver a line using only seven data bits. The sending KERMIT will ask the other KERMIT whether
 it can handle a special prefix encoding for characters with
the eighth bit on, using the 
eight_bit_quote character. This character should be distinct from the REPEAT_QUOTE characte
r and the QUOTE character. The default is "&" (38). There should be no reason to change thi
s.

,in 2
SET END_OF_LINE

,si 1
Syntax: SET END_OF_LINE character

,in 5
The ASC
II character to be used as a line terminator for packets, if one is required by the other s
ystem, carriage return by default. You will only have to use this command for systems that 
require a line terminator other than carriage return. The character must be specified as a 
hexadecimal number.

,in 2
SET LOG

,si 1
Syntax: SET LOG filespec

,in 5
Create a
 transcript of a CONNECT session, when running a local KERMIT connected to a remote system,
 in the specified file. Logging can be "toggled" by typing the connect escape character fo
llowed by Q (Quit logging) or R (Resume logging). Session-logging is useful for recording d
ialog with an interactive system, and for "capturing" from systems that don't have KERMIT. 
No guarantee can be made that the file will arrive correctly or completely, since no error 
checking takes place. The log file will be closed if the filespec is a dash ("-").

,in 2

SET PACKET_LENGTH

,si 1
Syntax: SET PACKET_LENGTH number

,in 5
Maximum packet len
gth to send between 10 and 94 (decimal). Shortening the packets might allow more of them to
 get through through without error on noisy communication lines. Lengthening the packets in
creases the throughput on clean lines.

,in 2
SET TIMEOUT

,si 1
Syntax: SET TIMEOUT 
number

,in 5
How many seconds to wait for a packet before trying again.

,in 2
SET P
ADDING

,si 1
Syntax: SET PADDING number

,in 5
How much padding to send before a pac
ket, if the other side needs
padding. Default is no padding.

,in 2
SET PADCHAR

,si 
1
Syntax: SET PADCHAR character

,in 5
What kind of padding character to send. Default 
is NUL (0). The character must be specified as a hexadecimal number.

,in 2
SET QUOTE


,si 1
Syntax: SET QUOTE character

,in 5
What printable character to use for quotin
g of control characters. This character should be distinct from the EIGHT_BIT_QUOTE charact
er and the REPEAT_QUOTE character. The default is "#" (35). There should be no reason to c
hange this.

,in 2
SET REPEAT_QUOTE

,si 1
Syntax: SET REPEAT_QUOTE character

,in 
5
What character to use to process repeat count characters. The sending KERMIT will ask th
e other KERMIT whether it can handle a special prefix encoding for repeated characters, usi
ng the repeat_quote character. This character should be distinct from the EIGHT_BIT_QUOTE c
haracter and the QUOTE character. The default is "~" (126). There should be no reason to c
hange this.

,in 2
SET RETRY

,si 1
Syntax: SET RETRY number

,in 5
Set the maximu
m number of retries for how many times to try sending a particular packet before giving up,
 normally 10. If a line is very noisy, you might want to increase this number.

,in 2
SE
T START_OF_PACKET

,si 1
Syntax: SET START_OF_PACKET character

,in 5
The start-of-pa
cket character is the only control character used "bare" by the KERMIT protocol. It is Cont
rol-A by default. If a bare Control-A causes problems for your communication hardware or so
ftware, you can use this command to select a different control character to mark the start 
of a packet. You must also set the start_of_packet character at the KERMIT on the other sys
tem (providing it has such a command). The character must be specified as a hexadecimal num
ber.
,nl 5
,in 2
SET WARNING

,si 1
Syntax: SET WARNING keyword

,in 5
Enable or d
isable the warning if an incoming file already exists, where the keyword must be either ON 
or OFF. When set to ON (the default) and an incoming file already exists, an attempt will b
e made to store the file under a new and unique name. When set to OFF, an existing file wi
ll be overwritten.

,in 0
16. SHOW

,si 3
Syntax: SHOW option

,in 5
The SHOW comm
and displays the values of the parameters settable by the SET command. If the option is ALL
, then a complete display will be provided.

,in 0
17. STATISTICS

,si 3
Syntax: STAT
ISTICS

,in 5
Give statistics about the most recent file transfer, such as the total num
ber of characters transmitted, the effective baud rate (only if a hardware clock is availab
le), and so forth.

,in 0
18. TAKE

,si 3
Syntax: TAKE filespec

,in 5
Execute KER
MIT commands from the specified file. The file may contain any valid KERMIT commands, inclu
ding other TAKE commands.

,in 0
19. TRANSMIT

,si 3
Syntax: TRANSMIT filespec

,in
 5
Send the contents of the specified file to the other system "bare", without protocol, p
ackets, error checking, or retransmission. This command is useful for sending standard logo
n or connection sequences, or to send commands to a smart modem, or for sending files to sy
stems that don't have KERMIT. No guarantee can be made that the target system will receive 
the file correctly and completely. When receiving a file, the target system would normally 
be running a text editor in text collection mode. The tranferred data will be displayed on 
the screen if DEBUG is on.

.
