-- SA800HeadDorado.mesa (last edited by: Taft on: December 10, 1980  9:53 AM)
-- Stub version to satisfy Pilot imports

DIRECTORY
  HeadStartChain USING [Start],
  SA800Face USING [Attributes, Context, DeviceHandle, OperationPtr, Status];

SA800HeadDorado: PROGRAM
  IMPORTS
    RemainingHeads: HeadStartChain
  EXPORTS SA800Face, HeadStartChain =
  BEGIN OPEN SA800Face;

  -- EXPORTED VARIABLES
  operationBlockLength: PUBLIC CARDINAL ← 0;
  initialAllocationLength: PUBLIC CARDINAL ← 0;
  nullDeviceHandle: PUBLIC DeviceHandle ← LOOPHOLE[-1];

  CantGetHere: ERROR = CODE;

  -- PROCS

  DiskChangeClear: PUBLIC PROC [DeviceHandle] = {ERROR CantGetHere};

  GetContext: PUBLIC PROC [DeviceHandle] RETURNS [Context] = {ERROR CantGetHere};

  GetDeviceAttributes: PUBLIC PROC [DeviceHandle] RETURNS [Attributes] =
    BEGIN
    ERROR CantGetHere;
    END;

  GetNextDevice: PUBLIC PROC [device: DeviceHandle] RETURNS [DeviceHandle] =
    BEGIN RETURN[nullDeviceHandle];
    END;

-- This code will only handles a single controller/single device configuration.
-- It does check for no controller.
  Initialize: PUBLIC PROC [notify: WORD, initialAllocation: LONG POINTER] =
    BEGIN END;

--This routine will wait for the IOCB chain to empty before letting the debugger get control.  For the time being (i.e., during debugging) it will also release after a ~15 second wait.  The theory is that if the queue did not go empty in 15 seconds, it never will, and the debugger is going to aid in finding out why the hell we got here to start with.
  InitializeCleanup: PUBLIC PROC [device: DeviceHandle] =
    BEGIN END;

  Initiate: PUBLIC PROC [operationPtr: OperationPtr] RETURNS [Status, CARDINAL] =
    BEGIN
    ERROR CantGetHere;
    END;

  Poll: PUBLIC PROC [operationPtr: OperationPtr] RETURNS [status: Status] =
    BEGIN
    ERROR CantGetHere;
    END;

  Reset: PUBLIC PROC [device: DeviceHandle] =
    BEGIN END;

  SetContext: PUBLIC PROC [device: DeviceHandle, context: Context] RETURNS [ok: BOOLEAN] =
    BEGIN
    ERROR CantGetHere;
    END;

  Start: PUBLIC PROC = {RemainingHeads.Start[]}; -- exported to StartChain    

  --Mainline Code

  END.