<> <> DIRECTORY ArpaUDP USING [Address], SunRPC USING [Handle], SunRPCAuth USING [Conversation] ; SunPMap: CEDAR DEFINITIONS ~ { <> program: CARD ~ 100000; programVersion: CARD ~ 2; udpPort: CARD ~ 111; <> Address: TYPE ~ ArpaUDP.Address; Handle: TYPE ~ SunRPC.Handle; Conversation: TYPE ~ SunRPCAuth.Conversation; <> ipProtocolTCP: CARD ~ 6; ipProtocolUDP: CARD ~ 17; MapEntry: TYPE ~ RECORD [ program: CARD32, version: CARD32, protocol: CARD32, port: CARD32 ]; <> null: CARD ~ 0; NullProc: TYPE ~ PROC [h: Handle, c: Conversation]; set: CARD ~ 1; SetProc: TYPE ~ PROC [h: Handle, c: Conversation, program, version, protocol, port: CARD32] RETURNS [success: BOOL]; unset: CARD ~ 2; UnsetProc: TYPE ~ PROC [h: Handle, c: Conversation, program, version: CARD32] RETURNS [success: BOOL]; getPort: CARD ~ 3; GetPortProc: TYPE ~ PROC [h: Handle, c: Conversation, program, version, protocol: CARD32] RETURNS [port: CARD32]; dump: CARD ~ 4; DumpProc: TYPE ~ PROC [h: Handle, c: Conversation, eachMapEntry: PROC[MapEntry]]; callit: CARD ~ 5; CallitProc: TYPE ~ PROC [ h: Handle, c: Conversation, program, version, proc: CARD32, args: REF TEXT] RETURNS [port: CARD32, result: REF TEXT]; }...