-- DPsb.mesa  last edit, Bruce  Sep 8, 1980 4:35 PM

DIRECTORY
  MachineDefs USING [FHandle, PHandle, Priority, StateVector];
  
DPsb: DEFINITIONS =
  BEGIN OPEN MachineDefs;
  
  Handle: TYPE = MachineDefs.PHandle;
  LongSVPointer: TYPE = LONG POINTER TO MachineDefs.StateVector;
  
  ResetCache: PROC;
  
  First: PROCEDURE RETURNS [Handle];
  Next: PROCEDURE [Handle] RETURNS [Handle];
  Last: PROCEDURE RETURNS [Handle];
  Current: PROCEDURE RETURNS [Handle];
  Read: PROCEDURE [p: Handle] RETURNS [local: Handle];  -- for now
  
  Running: PROCEDURE [Handle] RETURNS [BOOLEAN];
  WaitingCV: PROCEDURE [Handle] RETURNS [BOOLEAN];
  WaitingML: PROCEDURE [Handle] RETURNS [BOOLEAN];
  Priority: PROCEDURE [Handle] RETURNS [MachineDefs.Priority];
  State: PROCEDURE RETURNS [LongSVPointer];
  Frame: PROC [Handle] RETURNS [MachineDefs.FHandle];
  Validate: PROCEDURE [Handle] RETURNS [BOOLEAN];
  
  -- Display stuff
  DisplayReadyList: PROCEDURE;
  ListProcesses: PROCEDURE;
  DisplayQueue: PROCEDURE [STRING];
  DisplayProcess: PROCEDURE [STRING];
  
  Invalid: SIGNAL [psb: Handle];
  
  END.