-- Nub.mesa  last edit, Bruce  July 24, 1980  10:23 AM

DIRECTORY
  Actions USING [ReadProc, WriteProc],
  MachineDefs USING [FHandle, GFHandle];

Nub: DEFINITIONS =
  BEGIN

  ReadXD: Actions.ReadProc;
  WriteXD: Actions.WriteProc;

  LoadNew: PROCEDURE [file: STRING, framelinks: BOOLEAN ← TRUE]
    RETURNS [MachineDefs.GFHandle];
  LoadFile: PROCEDURE [file: STRING] RETURNS [MachineDefs.GFHandle];
  StartProg: PROCEDURE [gf: MachineDefs.GFHandle];

  SignalProceed, SignalQuit: PROCEDURE;
  badFrame: MachineDefs.FHandle;

  Switches: TYPE = POINTER TO Sob;
  Sob: TYPE = RECORD [
    command, internalInstall, install, framelinks, start, search, trees,
    display, spare1, spare2: BOOLEAN];

  InitSwitches: PROCEDURE RETURNS [Switches];
  ProcessSwitches: PROCEDURE [s: STRING];
  DoCommand: PROCEDURE [char: CHARACTER];

  BadFile: ERROR [badname: STRING, reason: STRING];
  BadVersion: SIGNAL [badname: STRING];

  END.