-- Psb.mesa  last edit, Bruce  July 2, 1980  6:16 PM

DIRECTORY
  CoreSwapDefs USING [SVPointer],
  MachineDefs USING [FHandle, PHandle, Priority];

Psb: DEFINITIONS =
  BEGIN OPEN MachineDefs;

  Handle: TYPE = MachineDefs.PHandle;

  ResetCache: PROC;

  First: PROCEDURE RETURNS [Handle];
  Next: PROCEDURE [Handle] RETURNS [Handle];
  Last: PROCEDURE RETURNS [Handle];
  Read: PROCEDURE [p: Handle] RETURNS [local: Handle];

  Running: PROCEDURE [Handle] RETURNS [BOOLEAN];
  WaitingCV: PROCEDURE [Handle] RETURNS [BOOLEAN];
  WaitingML: PROCEDURE [Handle] RETURNS [BOOLEAN];
  Priority: PROCEDURE [Handle] RETURNS [MachineDefs.Priority];
  State: PROCEDURE RETURNS [CoreSwapDefs.SVPointer];
  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.