SunMount.mesa
Demers, September 20, 1987 12:38:17 pm PDT
DIRECTORY
SunRPC USING [Handle],
SunRPCAuth USING [Conversation]
;
SunMount: CEDAR DEFINITIONS
~ {
Constants
program: CARD ~ 100005;
programVersion: CARD ~ 1;
Parameters
maxPathLen: CARDINAL ~ 1024;
maxNameLen: CARDINAL ~ 255;
fhSize: CARDINAL ~ 32;
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: BOOLTRUE];
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: BOOLTRUE];
EachGroupProc: TYPE ~ PROC [group: -- ephemeral -- Name]
RETURNS [continue: BOOLTRUE];
}...