<<>> <> <> <> <> <<>> DIRECTORY BasicTime, IO, Rope; TIPFS: CEDAR DEFINITIONS = BEGIN StreamOpen: PROC [fileName: Rope.ROPE, accessOptions: ATOM, wantedCreatedTime: BasicTime.GMT ¬ BasicTime.nullGMT, remoteCheck: BOOL ¬ TRUE] RETURNS [IO.STREAM]; SetCreatedTime: PROC [stream: IO.STREAM, created: BasicTime.GMT ¬ BasicTime.nullGMT]; GetName: PROC [fileStream: IO.STREAM] RETURNS [name: Rope.ROPE]; tipCDir: Rope.ROPE; -- SystemNames.LocalDir["PTipC"] in Cedar, /tmp in PCedar ConstructTIPCName: PROC [file: Rope.ROPE] RETURNS [cName: Rope.ROPE]; FileInfo: PROC [ name: Rope.ROPE, wantedCreatedTime: BasicTime.GMT ¬ BasicTime.nullGMT, remoteCheck: BOOL ¬ TRUE, wDir: Rope.ROPE ¬ NIL ] RETURNS [ fullFName: Rope.ROPE, created: BasicTime.GMT ]; Error: ERROR [error: ErrorDesc]; ErrorDesc: TYPE = RECORD [group: ErrorGroup, code: ATOM, explanation: Rope.ROPE] ¬ [ok, NIL, NIL]; ErrorGroup: TYPE = { ok, -- initial group for a new FS.ErrorDesc bug, -- caused by an internal bug environment, -- something's wrong in the environment; human intervention required lock, -- conflict over locks client, -- illegal operation, probably due to bug in client program user -- illegal operation, probably due to user action }; <<>> END.