-- File: NS3MBit.mesa - last edit:
-- AOF                  4-Feb-88 18:50:33
-- HGM                  2-Oct-85  1:21:42
-- Copyright (C) 1985, 1988 by Xerox Corporation. All rights reserved. 

DIRECTORY
  Buffer USING [Buffer, DeviceType],
  Driver USING [Device],
  EthernetOneFace USING [Status],
  PupTypes USING [PupHostID],
  System USING [HostNumber];

NS3MBit: DEFINITIONS =
  BEGIN

  CreateDefaultEthernetOneDrivers: PROCEDURE[] RETURNS[BOOLEAN];

  SetFaceStatus: PROC[
    b: Buffer.Buffer, status: EthernetOneFace.Status] = INLINE
    BEGIN
    OPEN di: LOOPHOLE[b.fo.driver, DriverInformation];
    di.faceStatus ← ethernetOne[status];
    END;  --SetFaceStatus

  DriverInformation: TYPE = MACHINE DEPENDENT RECORD [
    length(0:0..15): CARDINAL,  --in bytes, including encapsulation
    iocb(1:0..31): LONG POINTER,  --pointer to control block (drivers only)
    faceStatus(3:0..15): SELECT device(3:0..3): Buffer.DeviceType FROM
      ethernetOne => [status(3:4..15): EthernetOneFace.Status], ENDCASE];

  GetInfo: PROC [pup: PupTypes.PupHostID, network: Driver.Device]
    RETURNS [ns: System.HostNumber];

  END.