Types
Handle: TYPE ~ SunRPC.Handle;
Conversation: TYPE ~ SunRPCAuth.Conversation;
FHandle: TYPE ~ REF TEXT; -- opaque file handle [fhSize]
FHStatus:
TYPE ~
RECORD [
status: CARD,
directory: FHandle -- valid only if status = 0
];
Path: TYPE ~ REF TEXT; -- <= maxPathLen
Name: TYPE ~ REF TEXT; -- <= maxNameLen
Procedure constants and types
null: CARD ~ 0;
NullProc: TYPE ~ PROC [h: Handle, c: Conversation];
mnt: CARD ~ 1;
MntProc:
TYPE ~
PROC [h: Handle, c: Conversation, directory: Path]
RETURNS [reply: FHStatus];
dump: CARD ~ 2;
DumpProc: TYPE ~ PROC [h: Handle, c: Conversation, eachMount: EachMountProc];
EachMountProc: TYPE ~ PROC [hostName: -- ephemeral -- Name, directory: -- ephemeral -- Path] RETURNS [continue: BOOL ← TRUE];
umnt: CARD ~ 3;
UmntProc: TYPE ~ PROC [h: Handle, c: Conversation, directory: Path];
umntall: CARD ~ 4;
UmntallProc: TYPE ~ PROC [h: Handle, c: Conversation];
export: CARD ~ 5;
ExportProc: TYPE ~ PROC [h: Handle, c: Conversation, eachExport: EachExportProc, eachGroup: EachGroupProc];
EachExportProc: TYPE ~ PROC [fileSys: -- ephemeral -- Path]
RETURNS [continue: BOOL ← TRUE];
EachGroupProc: TYPE ~ PROC [group: -- ephemeral -- Name]
RETURNS [continue: BOOL ← TRUE];
}...