Simirid.c

Program by John Dunlap, University of Washington Applied Physics Lab,
February 2010, for simulating a connection between E-Kermit and
C-Kermit via Iridium satellite modems, but can be used for any other
purpose on serial connections.

This program runs on a Linux computer that has two serial ports:

Computer A ------------ Simirid computer ------------ Computer B

Computer A is connected to one of the Simirid computer's serial ports.
Computer B is connected the Simirid computer's other port.  In each
direction, random bytes are corrupted according to a selected frequency
distribution, and delays are inserted.

Usage:

  simirid device1 device2 speed min_delay max_delay usbc err_rate

device1:   device name of a serial port, e.g. /dev/ttyS0
device2:   device name of another serial port, e.g. /dev/ttyS1
min_delay: minimum delay in seconds for a byte to arrive at the other end
max_delay: maximum delay in seconds for a byte to arrive at the other end
usbc:      microseconds between bytes
err_rate:  floating-point number between 0.0 and 1.0
