LB.mesa
Please do not edit this file.
It was generated using CedarRPCGen.
DIRECTORY
Rope,
Arpa,
UT,
SunRPCAuth,
SunRPC;
LB: CEDAR DEFINITIONS =
BEGIN
ROPE: TYPE = Rope.ROPE;
ReturnCodes:
TYPE =
MACHINE
DEPENDENT {
iluSuccess(0),
iluECantExportService(1),
EError(2)
};
ReturnCodesNames: READONLY ARRAY ReturnCodes OF ROPE;
LocRoom: TYPE = ROPE;
LocXYZ:
TYPE =
RECORD [
x: DREAL,
y: DREAL,
LocationDescriminationValues:
TYPE =
MACHINE
DEPENDENT {
LocationVLocRoom(0),
LocationVLocXYZ(1)
};
LocationDescriminationValuesNames: READONLY ARRAY LocationDescriminationValues OF ROPE;
Location: TYPE = REF LocationObject;
LocationObject:
TYPE =
RECORD [
union:
SELECT descriminator: LocationDescriminationValues
FROM
LocationVLocRoom => [vLocRoom: ROPE],
LocationVLocXYZ => [vLocXYZ: LocXYZ],
ENDCASE];
Sphere:
TYPE =
RECORD [
center: LocXYZ,
BasicVolumeDescriminationValues:
TYPE =
MACHINE
DEPENDENT {
BasicVolumeVLocRoom(0),
BasicVolumeVSphere(1)
};
BasicVolumeDescriminationValuesNames: READONLY ARRAY BasicVolumeDescriminationValues OF ROPE;
BasicVolume: TYPE = REF BasicVolumeObject;
BasicVolumeObject:
TYPE =
RECORD [
union:
SELECT descriminator: BasicVolumeDescriminationValues
FROM
BasicVolumeVLocRoom => [vLocRoom: ROPE],
BasicVolumeVSphere => [vSphere: Sphere],
ENDCASE];
Volume: TYPE = SeqType0;
SeqType0: TYPE = REF SeqType0Object;
SeqType0Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF BasicVolume];
LocatedObject:
TYPE =
RECORD [
o: UT.Objct,
LocatedObjectSet: TYPE = SeqType1;
SeqType1: TYPE = REF SeqType1Object;
SeqType1Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF LocatedObject];
ChangeOperation:
TYPE =
MACHINE
DEPENDENT {
Add(0),
Delete(1)
};
ChangeOperationNames: READONLY ARRAY ChangeOperation OF ROPE;
ErrorType:
TYPE =
MACHINE
DEPENDENT {
BadLoc(0),
BadObject(1),
BadCallback(2),
BadRoom(3),
BadRock(4)
};
ErrorTypeNames: READONLY ARRAY ErrorType OF ROPE;
AtLocargs:
TYPE =
RECORD [
o: UT.Objct,
AtLocreturn: TYPE = REF AtLocreturnObject;
AtLocreturnObject:
TYPE =
RECORD [
union:
SELECT returnCode: ReturnCodes
FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
RemoveObjectargs:
TYPE =
RECORD [
RemoveObjectreturn: TYPE = REF RemoveObjectreturnObject;
RemoveObjectreturnObject:
TYPE =
RECORD [
union:
SELECT returnCode: ReturnCodes
FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [returnValue: CARD32],
iluECantExportService => [],
ENDCASE];
FindObjectsargs:
TYPE =
RECORD [
locs: Volume,
types:
UT.ObjectTypeSet
];
FindObjectsreturn: TYPE = REF FindObjectsreturnObject;
FindObjectsreturnObject:
TYPE =
RECORD [
union:
SELECT returnCode: ReturnCodes
FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [returnValue: LocatedObjectSet],
iluECantExportService => [],
ENDCASE];
NotifyOfObjectsargs:
TYPE =
RECORD [
locs: Volume,
types: UT.ObjectTypeSet,
who: ROPE,
NotifyOfObjectsreturn: TYPE = REF NotifyOfObjectsreturnObject;
NotifyOfObjectsreturnObject:
TYPE =
RECORD [
union:
SELECT returnCode: ReturnCodes
FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
RemoveObjectCallbackargs:
TYPE =
RECORD [
who: ROPE,
RemoveObjectCallbackreturn: TYPE = REF RemoveObjectCallbackreturnObject;
RemoveObjectCallbackreturnObject:
TYPE =
RECORD [
union:
SELECT returnCode: ReturnCodes
FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
LBPrognum: CARDINAL = 822083614;
version1: CARDINAL = 1;
servernoopProc: TYPE = PROC[o: LB1];
atlocProc:
TYPE =
PROC[o0:
LB1,
o: UT.Objct,
loc: Location]
RETURNS [res: AtLocreturn];
removeobjectProc:
TYPE =
PROC[o0:
LB1,
o: UT.Objct]
RETURNS [res: RemoveObjectreturn];
findobjectsProc:
TYPE =
PROC[o:
LB1,
locs: Volume,
types: UT.ObjectTypeSet]
RETURNS [res: FindObjectsreturn];
notifyofobjectsProc:
TYPE =
PROC[o:
LB1,
locs: Volume,
types: UT.ObjectTypeSet,
who: ROPE,
rock: UT.OPAQUE]
RETURNS [res: NotifyOfObjectsreturn];
removeobjectcallbackProc:
TYPE =
PROC[o:
LB1,
who: ROPE,
rock: UT.OPAQUE]
RETURNS [res: RemoveObjectCallbackreturn];
LB1: TYPE = REF LB1Object;
LB1Object:
TYPE =
RECORD [
servernoop: servernoopProc,
atloc: atlocProc,
removeobject: removeobjectProc,
findobjects: findobjectsProc,
notifyofobjects: notifyofobjectsProc,
removeobjectcallback: removeobjectcallbackProc,
rpcHandle: SunRPC.Handle ← NIL,
rpcConversation: SunRPCAuth.Conversation ← NIL,
data: REF ANY ← NIL
];
MakeLB1Client:
PROC[h: SunRPC.Handle,
c: SunRPCAuth.Conversation] RETURNS [LB1];
MakeLB1Server:
PROC[
data: REF,
servernoop: servernoopProc,
atloc: atlocProc,
removeobject: removeobjectProc,
findobjects: findobjectsProc,
notifyofobjects: notifyofobjectsProc,
removeobjectcallback: removeobjectcallbackProc
] RETURNS [SunRPC.Server];
NotifyObjectsCallbackargs:
TYPE =
RECORD [
rock: UT.OPAQUE,
os: LocatedObjectSet,
change: ChangeOperation
];
NotifyObjectsCallbackreturn: TYPE = REF NotifyObjectsCallbackreturnObject;
NotifyObjectsCallbackreturnObject:
TYPE =
RECORD [
union:
SELECT returnCode: ReturnCodes
FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
callbacks: CARDINAL = 822083615;
callbacksversion1: CARDINAL = 1;
clientnoopProc: TYPE = PROC[o: callbacks1];
notifyobjectscallbackProc:
TYPE =
PROC[o: callbacks1,
rock: UT.OPAQUE,
os: LocatedObjectSet,
change: ChangeOperation]
RETURNS [res: NotifyObjectsCallbackreturn];
callbacks1: TYPE = REF callbacks1Object;
callbacks1Object:
TYPE =
RECORD [
clientnoop: clientnoopProc,
notifyobjectscallback: notifyobjectscallbackProc,
rpcHandle: SunRPC.Handle ← NIL,
rpcConversation: SunRPCAuth.Conversation ← NIL,
data: REF ANY ← NIL
];
Makecallbacks1Client:
PROC[h: SunRPC.Handle,
c: SunRPCAuth.Conversation] RETURNS [callbacks1];
Makecallbacks1Server:
PROC[
data: REF,
clientnoop: clientnoopProc,
notifyobjectscallback: notifyobjectscallbackProc
] RETURNS [SunRPC.Server];
END.