This directory contains the following source code files, plus
a Makefile that compiles all of them.

  term_async.c
    Generates a program named async.  With a single process, a
    while-loop is used with asynchronous interrupts to trigger
    calls to read() in raw mode (non-canonical) for serial port
    input.  Keyboard input is also configured for raw mode, and
    individual characters are sent to the serial port via
    write().

  term_canon.c	
    Generates a program named canon.  A child process is forked
    and uses fgets(), in canonical mode, to read from the serial
    port.  A Single character keyboard input using getch() and
    kbhit() functions outputs to the serial line using calls
    to write().

  term_fork.c
    Generates a program named fork.  A child process is forked
    to read input in raw (non-canonical) mode using calls to
    read().  Keyboard input is read in raw mode, using
    getchar(), and written to the serial port with calls to
    write().

  term_select.c
    Generates a program named select.  A single process uses a
    while-loop to read() data from either the serial port or the
    keyboard and uses calls to write() to for output.  Both
    serial port and keyboard are in raw, non-canonical, mode.

  term_thread.c
    Generates a program named thread.  This program uses
    pthreads to read the serial port with one thread and write
    with another.  Both the serial port and the keyboard are in
    raw, non-canonical, mode.

Each source file generates "terminal program" suitable for
testing serial ports, modems, or other devices connected to a
serial port.  The program is also useful for testing other
serial port programs via a null modem cable between two
computers.

But primarily, each program is complete example of different
ways to read/write to a serial port.

These programs have been compiled using gcc 2.95.3, gcc 3.0, and
gcc 3.3.1, under Linux 2.4 kernels and with a Linux 2.6.0-test7
kernel.


$Id: README,v 1.1.0.1 2003/11/28 16:08:38 floyd Exp floyd $