DIRECTORY IO USING [STREAM], Rope USING [ROPE]; XNSPSCommander: CEDAR DEFINITIONS = BEGIN ROPE: TYPE ~ Rope.ROPE; STREAM: TYPE ~ IO.STREAM; Rubout: ERROR; GetID: PROC [in, out: STREAM, default: ROPE, init: ROPE _ NIL, echo: BOOL _ TRUE] RETURNS [id: ROPE, c: CHAR]; CommandList: TYPE = LIST OF CommandInfo; CommandProc: TYPE = PROC [in, out: STREAM]; CommandInfo: TYPE = RECORD [commandProc: CommandProc, fullName: ROPE _ NIL]; RegisterCommand: PROC [info: CommandInfo]; GetCommandList: PROC RETURNS [CommandList]; GetCommand: PROC [in, out: STREAM] RETURNS [found: CommandInfo]; GetArg: PROC [in, out: STREAM, prompt, default: ROPE, help: PROC] RETURNS [value: ROPE _ NIL]; Confirm: PROC [in, out: STREAM] RETURNS [BOOL]; GetNumber: PROC [in, out: STREAM, default: INT, max: INT _ LAST[INT], prompt, help: ROPE] RETURNS [size: INT _ 0]; TalkToUser: PROC[in, out: STREAM]; END. ΦXNSPSCommander.mesa Copyright Σ 1987 by Xerox Corporation. All rights reserved. Tim Diebert: April 10, 1987 8:27:29 am PDT Registers a new command. This registry is NOT protected against concurrent access. Κϋ˜codešœ™Kšœ<™