
William F Hullsiek (WFH);	28-April-1995

This version of Kermit is derived from Kermit: A File Transfer Protocol by
Frank da Cruz (c) 1987.  Buy the book!

This software is intended to be a minimalist version of Kermit. File transfer only.
It is implemented in order move files between QNX-2 and other systems.


Features supported:

	<> client
		<> get
		<> finish
		<> send
		<> remote type
		<> remote rename (if the host supports it)
		<> remote command

	<> server
		<> send
		<> receive
		<> finish
		<> remote type

			(It does not handle other commands very well)

	<> packets to 2048
	<> block-check 1,2,3
	<> run-length compression
	<> image and text

Non-standard Features:

	The following features were added in order to implement a store
	and forward message passing application.

	-m filename		

		This is the move command. It is the same as send with the exception
		that it deletes the file upon successful transfer.

	chaining a command

	-C host-command

		Can be placed on the same command line as -m. The host-command will
		be issued to the server upon successful transfer of the file.

	Example:
		
		/cmds/kermit -l $cti1 -i -m #1 -C "mv #2 /home/qnx2_input/#2"

		#1 is the QNX-2 filename
		#2 is the QNX-4 filename

Testing

	This has been tested with MS-DOS Kermit at 9600, 19200, and 38400.

	This has been tested with C-Kermit-5A for QNX-4 at 9600, 19200 and 38400. 

Programming Notes by WFH; 21-July-1994

	I added the "Move" command -m. This deletes the file from the
	originating system when it has been successfully copied.

	I also modified the state machine to allow a host-command to be issued 
	with a move command. For my application, I wanted to start a script
	on a host system after the file has been transferred. It is a bit of
	a hack -- but it works reliable.

	Originally, I thought about porting C-Kermit-5A to the QNX-2 environment. 
	It could be done -- but I do not have the time.

	All of the code is in Kermit.c with the exception of the ccitt.crc file.
	My thought was to keep things as small as possible. I can edit the entire
	program from within QED.

	The primitives, tt__ and z___ are derived from stuff found in
	implementations of kermit stored on the QNX Bulletin board QUICS.

	I re-designed the routine rpack to extract the length of the packet
	and then do a read against the input device. This is non-portable but 
	helps in accessing the disk.

Notes by WFH;  28-April-1995

	This software has been running reliable between a QNX-2 and QNX-4 system
	for several months.
	







