Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


EKERMIT(1)                  General Commands Manual                 EKERMIT(1)

NAME
     ekermit - Send or receive files using Kermit file transfer protocol

SYNOPSIS
     ekermit [-BdhkLRrT] [-b 1235] [-E number] [-p neoms] [-s file]

DESCRIPTION
     ekermit is a simple command line interface to EK (Embedded Kermit, E-
     Kermit), which is an implementation of the Kermit file transfer protocol
     written in ANSI C and designed for embedding in devices or firmware, use
     in realtime applications, or for construction of DLLs and libraries.

     ekermit performs just two functions: sending files and receiving files.

     ekermit does not include client/server functions; a command or script
     programming language; character-set conversion; transport encryption; or
     any form of communications or file input/output.  It does not dial
     modems, it does not make connections, it does not have a built-in TCP/IP
     stack or interface to an external one.  If you need these features, then
     you should use a full Kermit program, such as C-Kermit or Kermit 95.

     The following options are available:

           -B           Force binary mode.

           -b 1235      Block check type: 1, 2, 3, or 5.

           -d           Create debug.log.

           -E number    Simulated error rate (0-100).

           -h           Display a help message.

           -k           Keep incompletely received files.

           -L           Local mode (vs remote).

           -p neoms     Parity: none, even, odd, mark, space.

           -R           Remote mode (vs local).

           -r           Receive files.

           -s file ...  Send files.

           -T           Force text mode.

IMPLEMENTATION NOTES
     ekermit includes the following Kermit Protocol features:
              Long packets.
              Sliding windows with Go-Back-to-N error recovery.
              Repeat-count compression.
              Control-character prefixing and unprefixing.
              8th-bit prefixing (for transferring 8-bit data on 7-bit links)
               (= parity).
              Attribute packets (type, size, and date).
              Sending and receiving single or multiple files.
              Automatic per-file text/binary mode switching.
              All three block check types (6- and 12-bit checksum, 16-bit
               CRC).
              Status reports (protocol state, file name, size, timestamp,
               bytes so far).
              Transfer cancellation by either party.

     The following Kermit Protocol features are not implemented:
              Sliding windows with selective retransmission.
              Character sets.
              Locking shifts.
              Client/server.

     Because ekermit is designed primarily for embedding, it does not use
     streaming or (except in EKSW) true sliding windows (although much of the
     sliding windows code is there).

     The lack of true sliding windows in ekermit is compensated by having
     ekermit pretend to support them without really doing so.  This allows its
     sending partner to "stream" packets rather than waiting for ACKs after
     each one, as long as there isn't an error.  If there is an error, the
     recovery strategy is "go back to n" (or perhaps in some cases "error
     out") rather than "selective repeat".  EKSW, a separate program that has
     not been integrated with ekermit (but should be), supports true sliding
     windows with selective repeat; that is, only those packets are
     retransmitted that actually need to be.

     In any event, since ekermit is intended primarily for embedding, it is
     anticipated that round-trip delays won't be a big factor; connections
     will generally be local, short, relatively fast, and if the connection is
     effectively flow controlled, error-free.  When effective flow control is
     lacking, the speed and/or packet length and/or window size can be set to
     a combination of values that maximizes throughput and minimizes data
     loss.

SEE ALSO
     http://www.kermitproject.org/ek.html

HISTORY
     Version 1.1 of ekermit was released in 2002.  A BSD-licenced version 1.6
     was released in 2011.

NetBSD 10.99                    August 8, 2014                    NetBSD 10.99