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.