--EthernetOneHeadDLion.mesa
--last edited by D. Swinehart on September 23, 1982 1:43 pm; dummy multicast functions
--last edited by BLyon on March 13, 1981  9:48 AM
--last edited by Gobbel on January 23, 1981  3:49 PM
--last edited by Johnsson/Forrest on January 12, 1981  2:13 PM
--last edited by Forrest on December 7, 1980  11:42 AM
--last edited by Johnsson/Murray on November 14, 1980  4:51 PM

DIRECTORY
  Environment USING [Base, Byte],
  EthernetOneFace,
  EthernetOneFaceExtras,
  HeadStartChain USING [Start];

EthernetOneHeadDLion: PROGRAM
  IMPORTS
    RemainingStartChain: HeadStartChain
  EXPORTS EthernetOneFace, EthernetOneFaceExtras, HeadStartChain =
BEGIN OPEN EthernetOneFace;

-- EXPORTed variables
nullDeviceHandle: PUBLIC DeviceHandle ← LOOPHOLE[123456B];
globalStateSize, controlBlockSize: PUBLIC CARDINAL ← 0;
hearSelf: PUBLIC BOOLEAN ← FALSE;

QueueOutput, QueueInput: PUBLIC PROCEDURE [
  DeviceHandle, LONG POINTER, CARDINAL, ControlBlock] = {ERROR};

GetStatus, GetRetries, GetPacketLength, GetPacketsMissed: PUBLIC PROCEDURE
  [UNSPECIFIED] RETURNS [UNSPECIFIED] = {ERROR};

TurnOff, StartIO, AddCleanup, RemoveCleanup: PUBLIC PROC [
  UNSPECIFIED] = LOOPHOLE[GetStatus];  -- don't worry about return mismatch
  
InputHosts, InputHost: PUBLIC PROCEDURE [UNSPECIFIED, UNSPECIFIED] =
	LOOPHOLE[GetStatus];  -- don't worry about return mismatch

MulticastCapabilities: PUBLIC PROC[device: DeviceHandle]
	RETURNS [ canDo: BOOLEAN, multicastsEnabled: BOOLEAN] = {
	RETURN [ canDo: FALSE, multicastsEnabled: FALSE]; };

GetNextDevice: PUBLIC PROCEDURE [DeviceHandle] RETURNS [DeviceHandle] =
  {RETURN[nullDeviceHandle]};

TurnOn: PUBLIC PROCEDURE
  [DeviceHandle, Environment.Byte, WORD, WORD, GlobalStatePtr] = {ERROR};

Start: PUBLIC PROCEDURE = {RemainingStartChain.Start[]};

GetEthernet1Address: PUBLIC PROCEDURE [
  EthernetOneFace.DeviceHandle] RETURNS [net, host: [0 .. 377B]] = {ERROR};

END....