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,
z: 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,
radius: DREAL
];
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,
l: Location
];
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,
loc: Location
];
AtLocreturn: TYPE = REF AtLocreturnObject;
AtLocreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
RemoveObjectargs: TYPE = RECORD [
o: UT.Objct
];
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,
rock: UT.OPAQUE
];
NotifyOfObjectsreturn: TYPE = REF NotifyOfObjectsreturnObject;
NotifyOfObjectsreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
RemoveObjectCallbackargs: TYPE = RECORD [
who: ROPE,
rock: UT.OPAQUE
];
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 ANYNIL
];
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 ANYNIL
];
Makecallbacks1Client: PROC[h: SunRPC.Handle,
c: SunRPCAuth.Conversation] RETURNS [callbacks1];
Makecallbacks1Server: PROC[
data: REF,
clientnoop: clientnoopProc,
notifyobjectscallback: notifyobjectscallbackProc
] RETURNS [SunRPC.Server];
END.