SunPMap.mesa
Demers, September 6, 1987 4:46:58 pm PDT
DIRECTORY
ArpaUDP USING [Address],
SunRPC USING [Handle],
SunRPCAuth USING [Conversation]
;
SunPMap: CEDAR DEFINITIONS
~ {
Constants
program: CARD ~ 100000;
programVersion: CARD ~ 2;
udpPort: CARD ~ 111;
Types
Address: TYPE ~ ArpaUDP.Address;
Handle: TYPE ~ SunRPC.Handle;
Conversation: TYPE ~ SunRPCAuth.Conversation;
A couple of useful Internet protocol numbers. These are the Arpa assigned numbers for these protocols. This ought to be institutionalized somewhere.
ipProtocolTCP: CARD ~ 6;
ipProtocolUDP: CARD ~ 17;
MapEntry: TYPE ~ RECORD [
program: CARD32,
version: CARD32,
protocol: CARD32,
port: CARD32
];
Procedure Constants and Types
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];
}...