<> <> <> <> <> <> <<>> <> <<>> EthernetOneFace: DEFINITIONS = BEGIN GetNextDevice: PROC [DeviceHandle] RETURNS [DeviceHandle]; <> HostAddress: TYPE = [0..256); GetEthernet1Address: PROC [DeviceHandle] RETURNS [net: [0..256), host: HostAddress]; <> AddCleanup: PROC [DeviceHandle]; RemoveCleanup: PROC [DeviceHandle]; <> TurnOn: PROC [device: DeviceHandle, host: HostAddress, inInterrupt, outInterrupt: WORD, globalState: GlobalStatePtr]; TurnOff: PROC [device: DeviceHandle]; <> HostArray: TYPE = PACKED ARRAY HostAddress OF BOOL; InputHosts: PROC [device: DeviceHandle, inputHosts: LONG POINTER TO HostArray]; <> InputHost: PROC[device: DeviceHandle, host: HostAddress]; <> MulticastCapabilities: PROC[device: DeviceHandle] RETURNS[canDo: BOOL, multicastsEnabled: BOOL]; <> QueueOutput: PROC [device: DeviceHandle, buffer: LONG POINTER, length: CARDINAL, cb: ControlBlock]; QueueInput: PROC [device: DeviceHandle, buffer: LONG POINTER, length: CARDINAL, cb: ControlBlock]; <> GetStatus: PROC [cb: ControlBlock] RETURNS [status: Status]; <> GetRetries: PROC [cb: ControlBlock] RETURNS [CARDINAL]; <> GetPacketLength: PROC [cb: ControlBlock] RETURNS [CARDINAL]; <> GetPacketsMissed: PROC [DeviceHandle] RETURNS [CARDINAL]; <> DeviceHandle: TYPE[1]; GlobalStatePtr: TYPE = LONG POINTER; Status: TYPE = { pending, ok, overrun, -- Input data arrived when FIFO was full underrun, -- Output FIFO went empty before end of packet was set packetTooLong, -- Input packet didn't fit into buffer tooManyCollisions, -- More than 16 attempts to transmit the same packet crc, crcAndBadAlignment, badAlignmentButOkCrc, otherError }; <> ControlBlock: TYPE = LONG POINTER TO ControlBlockRecord; ControlBlockRecord: TYPE; globalStateSize: READONLY CARDINAL; controlBlockSize: READONLY CARDINAL; nullDeviceHandle: READONLY DeviceHandle; hearSelf: READONLY BOOL; <<>> END. LOG Time: February 4, 1980 5:48 PM By: McJones Action: Create file Time: February 6, 1980 12:54 PM By: Dawson Action: Add interface items Time: April 18, 1980 5:51 PM By: Murray Action: Giant Cleanup Time: August 20, 1980 2:05 PM By: BLyon Action: renames EthernetFace to EthernetOneFace and added hearSelf Time: September 5, 1980 12:11 AM By: HGM Action: fix typos, add ControlBlockRecord Time: May 6, 1983 12:56 pm By: ADB Action: Minor edits for Cedar Nucleus conversion