MiniEthernetDefs.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
HGM April 20, 1980 6:23 PM
Andrew Birrell October 28, 1983 3:51 pm
Russ Atkinson (RRA) February 13, 1985 4:46:49 pm PST
DIRECTORY
PupTypes USING [PupAddress, PupSocketID, PupType, Pair];
MiniEthernetDefs: DEFINITIONS = BEGIN
ActivateDriver:
PROC [dataBuffer:
LONG
POINTER, length:
CARDINAL, iocb:
LONG
POINTER, avoidCleanup:
BOOL ←
FALSE]
RETURNS [ok:
BOOL];
Notes:
dataBuffer must be quad word aligned
iocb must be 16 word block in first 64k, quad word aligned
KillDriver: PROC [avoidCleanup: BOOL ← FALSE];
GetEthernetHostNumber: PROC RETURNS [CARDINAL];
GetEthernetNetNumber:
PROC
RETURNS [
CARDINAL];
0 if unknown
DriverNotActive: ERROR;
BufferOverflow: ERROR;
SendPacket:
PROC [dest: PupTypes.PupAddress, me: PupTypes.PupSocketID, type: PupTypes.PupType, id: PupTypes.Pair, data:
LONG
POINTER, bytes:
CARDINAL];
ReturnPacket:
PROC [type: PupTypes.PupType, data:
LONG
POINTER, bytes:
CARDINAL];
RecvPacket:
PROC [source:
LONG
POINTER
TO PupTypes.PupAddress, me: PupTypes.PupSocketID, data:
LONG
POINTER, words:
CARDINAL, timeout:
PROC
RETURNS [
BOOL]]
RETURNS [bytes:
CARDINAL, id: PupTypes.Pair, type: PupTypes.PupType];
returns bytes = LAST[CARDINAL] if timeout ?
timedOut: CARDINAL = LAST[CARDINAL];
END.