PFSBackdoor.mesa
Copyright Ó 1985, 1986, 1987 by Xerox Corporation. All rights reserved.
Created by M. D. Schroeder
Schroeder, September 15, 1983 1:56 pm
Bob Hagmann January 14, 1987 2:40:09 pm PST
Tim Diebert: January 14, 1987 10:00:46 am PST
Doug Wyatt, January 19, 1987 11:14:04 am PST
Carl Hauser, April 18, 1989 10:52:22 am PDT
Backdoors to the Cedar File System
DIRECTORY
PFSNames USING [PATH],
Rope USING [ROPE];
PFSBackdoor: CEDAR DEFINITIONS
= BEGIN
ROPE: TYPE = Rope.ROPE;
ErrorCode: TYPE = {ok -- used internally-- , inconsistent, resourceLimitExceeded, ioError, volumeFull, noMoreVersions, accessDenied, quotaExceeded, invalidPropertyStorage, outOfPropertySpace, positionNotInFile, invalidOpenFile, notImplemented, fileTypeMismatch, unknownClass, unknownFile, unknownUniqueID, patternNotAllowed, versionSpecified, cantUpdateTiogaFile, invalidNameSyntax };
ProduceError: PROC [code: ErrorCode, explanation: Rope.ROPE, info: REFNIL];
Raises PFS.Error for the code ATOM that corresponds lexically to the "code". The PFS.ErrorGroup in the error is properly set. The error will contain "explanation". Clients should use this procedure to generate PFS.Error's for existing codes to avoid spelling the ATOM's wrong and getting the wrong PFS.ErrorGroup.
Op: TYPE = {startRetrieving, endRetrieving, startStoring, endStoring, startDeleting, endDeleting, startRenaming, endRenaming, startCopying, endCopying, writeClose};
Event: TYPE = RECORD [
op: Op, -- remote operation that has occurred
fName: PFSNames.PATH, -- full name of the file operated upon; the toName in the case of renaming and copying
chain: REF Event -- used internally to chain events together
];
NextEvent: PROC [REF READONLY Event ← NIL]
RETURNS
[REF READONLY Event];
An event is the start or conclusion of retrieving, storing, deleting, renaming or storing a file, or the close of a file open for writing. NextEvent returns the next event that occurs after the argument Event. When the argument Event is NIL then NextEvent returns the first event to occur after the time of the call. NextEvent will WAIT if another event has not occurred yet. Storing, retrieving, flushing, renaming and copying of several files can be in progress simultaneously.
Client errors: none
User errors: none
OpenFileFromProcs: PROC ~ {
Not implemented in this version of PFS
};
END.
Carl Hauser, January 12, 1989 3:14:26 pm PST
Created from Cedar7.0 FS.Backdoor