! Interface to 2 meg ether handler.

%recordformat ether stats fm(%integer station address,
                             %integer buffer low water,
                             %integer unrecognised control,
                             %integer inbound packets,
                             %integer inbound bytes,
                             %integer outbound packets,
                             %integer outbound bytes,
                             %integer dud destinations,
                             %integer dud types,
                             %integer old inbound packets,
                             %integer old outbound packets,
                             %integer old inbound no takers,
                             %integer old retransmits,
                             %integer old ACK timeouts,
                             %integer old user timeouts,
                             %integer old defines,
                             %integer old redefines,
                             %integer old undefines,
                             %integer old reads,
                             %integer old writes,
                             %integer pended DTX)

%recordformat ether request fm(%record(message fm) system part,
                               %record(ether request fm)%name next,
                               %integer code, tag, timeout, status,
                               (%integer type      %c
                            %or %integer context   %c
                            %or %record(ether stats fm)%name stats),
                               %bytename buffer, %integer bytes,
                               %byte ra, rp, lp, la)

%conststring(23) ether mailbox name = "SLOW_ETHER_REQUESTS"

%constinteger ether old operation   = 16_10
%constinteger ether old define      = 16_11
%constinteger ether old redefine    = 16_12
%constinteger ether old undefine    = 16_13
%constinteger ether old read        = 16_14
%constinteger ether old write       = 16_15
%constinteger ether old register0   = 16_16
%constinteger ether old unregister0 = 16_17

%constinteger ether operation       = 16_20
%constinteger ether register        = 16_21
%constinteger ether unregister      = 16_22
%constinteger ether read            = 16_23
%constinteger ether write           = 16_24

%constinteger ether stats           = 16_41
%constinteger ether station address = 16_42

%constinteger ether success               =  0
%constinteger ether operation undefined   = -1
%constinteger ether dud destination       = -2
%constinteger ether no free slots         = -3
%constinteger ether dud context           = -4
%constinteger ether operation aborted     = -5
%constinteger ether timeout               = -6

%conststring(27)%array ether errors(-6 : 0) =
      "Ether timeout",
      "Ether operation aborted",
      "Dud ether type/context",
      "No free ether slots",
      "Dud ether destination",
      "Undefined ether operation",
      "Ether success"

%end %of %file
