DIRECTORY
BasicTime USING [GMT],
File USING [Reason],
FSBackdoor USING [Version],
FSExtras USING [CreateOp, RemoteOp],
Rope USING [ROPE];
FSReport:
CEDAR
DEFINITIONS =
BEGIN
ReportRemote:
PROCEDURE [op: FSExtras.RemoteOp, fName: Rope.
ROPE];
Reports a remote operation so calls to FSExtras.NextRemoteEvent and FSBackdoor.NextEvent can see what is going on in FS.
ReportCreation:
PROCEDURE [op: FSExtras.CreateOp, fName: Rope.
ROPE];
Reports a creation operation so calls to FSExtras.NextCreationEvent can see what is going on in FS.
Below are procedures for producting various FS.Error's. Only procedures needed by more than one module are included here. The remaining FS.Error's are generated by the module that discovers the problem.
FileError:
PROCEDURE [reason: File.Reason];
Produces FS.Error that corresponds to the "reason". A canned explanation is provided.
LockConflict:
PROCEDURE [prefix, nameBody: Rope.
ROPE, version: FSBackdoor.Version];
Produces FS.Error[$lockConflict] with and explanation that includes the name of the file involved.
UnknownFile:
PROCEDURE [name: Rope.
ROPE, createdTime: BasicTime.
GMT];
Produces FS.Error[$unknownFile] with and explanation that includes the "name" and "createdTime".
UnknownVolumeLName:
PROCEDURE [name: Rope.
ROPE];
Produces FS.Error[$unknownVolume] for a file on the system volume with an explanation that includes the "name" of the file.
UnknownVolume:
PUBLIC
PROC [vName: Rope.
ROPE];
Produces FS.Error[$unknownVolume] with an explanation that includes the "vName" of the volume.
NoCache:
PUBLIC
PROC [gName: Rope.
ROPE];
Produces FS.Error[$noCache] with an explanation that includes the "gName" of the global file that cannot be cached.
VersionSpecified:
PUBLIC
PROC [name: Rope.
ROPE];
Produces FS.Error[$versionSpecified] with an explanation that includes the "name".