<> <> <> <<>> DIRECTORY BasicTime USING [ GMT ], Commander USING [ CommandObject, CommandProcObject ], IO USING [ STREAM ], Rope USING [ ROPE ]; CasabaPlatform: CEDAR DEFINITIONS ~ { <> Handle: TYPE ~ REF CommandObject; CommandObject: TYPE ~ Commander.CommandObject; CommandProcHandle: TYPE ~ REF CommandProcObject; CommandProcObject: TYPE ~ Commander.CommandProcObject; CommandProc: TYPE ~ PROC [ cmd: Handle ] RETURNS [ result: REF _ NIL, msg: Rope.ROPE _ NIL ]; Register: PROC [ key: Rope.ROPE, proc: CommandProc _ NIL, doc: Rope.ROPE _ NIL, clientData: REF _ NIL, interpreted: BOOL _ TRUE ]; GetArgument: PROC [ cmd: Handle, index: NAT ] RETURNS [ arg: Rope.ROPE _ NIL ]; <> AccessOptions: TYPE = { read, create, append, write }; Error: ERROR [ code: ATOM, explanation: Rope.ROPE ]; StreamOpen: PROC [ fileName: Rope.ROPE, accessOptions: AccessOptions _ $read ] RETURNS [ s: IO.STREAM _ NIL ]; <> BuildTime: PROC [ p: PROC ANY RETURNS ANY ] RETURNS [ date: BasicTime.GMT ]; Version: TYPE ~ RECORD [ major: CARD16, minor: CARD16, patch: CARD16 _ 0 ]; ToolVersion: PROC [ name: Rope.ROPE, version: Version, p: PROC ANY RETURNS ANY ] RETURNS [ v: Rope.ROPE _ NIL ]; UserName: PROC RETURNS [ user: Rope.ROPE _ NIL ]; }.