<> <> <> CommanderOps: DEFINITIONS = { CommandBlock: TYPE = RECORD [ name: STRING, proc: PROC, nparams: CARDINAL, params: ARRAY [0..0) OF CommandParam]; ParamType: TYPE = {string, numeric, character, boolean}; CommandParam: TYPE = RECORD [type: ParamType, prompt: STRING]; CommandBlockHandle: TYPE = POINTER TO CommandBlock; AddCommand: PROC [name: STRING, proc: PROC, numargs: CARDINAL] RETURNS [CommandBlockHandle]; InitCommander: PROC [herald: STRING]; WaitCommands: PROC; }.