TIPFS.mesa
Copyright Ó 1988, 1991 by Xerox Corporation. All rights reserved.
Bier, December 13, 1988 11:25:30 pm PST
Contents: A thin veneer on top of FS or UFS, to allow code sharing between PCedar and Cedar.
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.