README.md
*** DECUS - C callable Ethernet Programming Facilities ***

Author: Juergen Pinkow, Institut fuer Kernphysik
TH Darmstadt (Germany)
Date: August '89

Here are some useful subroutines written in DECUS - C which give
application programs an interface to the Ethernet by using the
Direct Line Access Controller (DLX).
The symbols for the appropriate function codes and offsets were
extracted from the macro library DEUNA.MLB and converted to
C - syntax. They reside in the files DLXDF.H, EPMDF.H and CHRDF.H.

For Ethernet frame reception and transmission an application program
has to do the following steps:

- Open a port for access to the Ethernet [Function: opneth()]
- Set up a pending receive request and specify a completion-ast
routine to handle the incoming data [Function: rcveth()]
- Now you can transmit data [Function: sndeth()]
- Before your task exits, close the port [Function: cloeth()]

The source code and a description of the functions mentioned above
can be found in the file ETHIO.H.
There is also a simple example program ETH.C which demonstrates the
usage of the supported functions. When you are prompted for command
input, type 'w' to transmit a message or 'q' to quit.

Compiling command: XCC ETH -A
Taskbuilding command: LINK ETH/CHECK/PRIV:0/CODE:DATA,LB:[1,1]C/LIB,CX/LIB

Note that all tasks using the DLX must be privileged.

IEEE frames aren't yet supported, but this can simply be done by
modifying the corresponding characteristics blocks.

For a more detailed description on Ethernet programming have a look
at chapter 4 of the DECnet-RSX Programmer's Reference Manual.