Expand description
Kermit file transfers, as C-Kermit, G-Kermit and Kermit-95 speak them, in both directions.
Packets are SOH LEN SEQ TYPE DATA CHECK CR, every field but the mark
made printable (tochar(x) = x + 32). The two sides trade their
parameters in the Send-Init (S) packet and its acknowledgement; this
side offers long packets (up to MAX_LONG bytes), CRC-16 block checks
(type 3), ~ run-length compression and file attributes (for the size),
and takes whatever the other side can do. No sliding windows: each
packet waits for its ACK, which is fine on a telnet or SSH link.
A download starts by itself when the BBS’s Kermit sends its S packet
(see find_send_init); an upload is started by the user once the
BBS’s Kermit is receiving.
Structs§
- Kermit
- A Kermit transfer, either way.
Constants§
- MAX_
LONG - The longest packet offered (its data and check).
Functions§
- crc16_
kermit - CRC-16/KERMIT: CCITT, reflected (0x8408), starting at 0.
- find_
send_ init - Where a Send-Init packet starts in
data, if there is one: what a BBS’s Kermit sends when told to send a file.