*** 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.