SunRPCPrivate.mesa
Demers, October 12, 1987 12:02:18 pm PDT
DIRECTORY
Arpa USING [Address, nullAddress],
ArpaUDP USING [Buffer, Buffers, Handle, nullPort, Port],
SunRPC USING [ServerProc],
SunRPCAuth USING [Flavor]
;
SunRPCPrivate: CEDAR DEFINITIONS
~ {
ObjectClass: TYPE ~ { network, local };
Handle: TYPE ~ REF Object;
Object: TYPE ~ RECORD [
xid: CARD32 ← 0,
udpHandle: ArpaUDP.Handle,
address: Arpa.Address ← Arpa.nullAddress,
port: ArpaUDP.Port ← ArpaUDP.nullPort,
ttl: CARDINAL ← 0,
addressIsMe: BOOLFALSE,
busy: BOOLFALSE,
class: ObjectClass ← network,
authFlavor: SunRPCAuth.Flavor,
authData: REF,
bHead: ArpaUDP.Buffers,
bTail: ArpaUDP.Buffer,
bIndex: CARDINAL ← 0,
bLimit: CARDINAL ← 0,
sendBuffersInUse: CARDINAL ← 0,
bytesInSendBuffers: CARDINAL ← 0,
index: CARDINAL ← 0,
limit: CARDINAL ← 0,
dataBuf: REF TEXT
];
Server: TYPE ~ REF ServerObject;
ServerObject: TYPE ~ MONITORED RECORD [
pgm: CARD32,
version: CARD32,
udpHandle: ArpaUDP.Handle,
clientData: REF,
serverProc: SunRPC.ServerProc,
dead: BOOLFALSE,
freeHandle: CONDITION,
freeHandleIndex: CARDINAL ← 0,
handles: SEQUENCE concurrencyPlusOne: CARDINAL OF Handle
];
}...