-- fortytwo.mesa -- Please do not edit this file. -- It was generated using CedarRPCGen. DIRECTORY Rope, Arpa, fortyone, fourtwo, SunRPCAuth, SunRPC; fortytwo: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; QuestionType: TYPE = MACHINE DEPENDENT { boring(123), cosmic(456), universal(457), stupid(789), silly(790) }; Question1Type: TYPE = MACHINE DEPENDENT { boooring(0), cooosmic(1), univeeersal(2), stuuupid(3), sillly(4) }; Question1TypeNames: READONLY ARRAY Question1Type OF ROPE; answerRecType: TYPE = fourtwo.answerRec; TheANSWER: TYPE = REF TheANSWERObject; TheANSWERObject: TYPE = RECORD [ union: SELECT truthType: QuestionType FROM boring => [b: PACKED ARRAY [0..13) OF BYTE], cosmic => [c: INT32], stupid => [], silly, universal => [d: REF fourtwo.answerRec], ENDCASE]; YetAnotherAnswer: TYPE = REF YetAnotherAnswerObject; YetAnotherAnswerObject: TYPE = RECORD [ responseType: INT32, union: SELECT uTag: * FROM v0 => [answer: QuestionType], v1 => [a: INT32], default => [], ENDCASE]; trueAnswerRec: TYPE = RECORD [ tellingTheTruth: BOOLEAN, theTruth: PACKED ARRAY [0..fortyone.TRUTHSIZE) OF INT32, theTRUTH: TheANSWER ]; trueQuestionRec: TYPE = RECORD [ questionType: QuestionType, randomNumbers: SeqType0 ]; SeqType0: TYPE = REF SeqType0Object; SeqType0Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF INT32]; QuestionRec: TYPE = trueQuestionRec; AnswerRec: TYPE = trueAnswerRec; QuestionRecPtr: TYPE = REF QuestionRec; QuestionRecArray: TYPE = SeqType1; SeqType1: TYPE = REF SeqType1Object; SeqType1Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF QuestionRec]; QuestionRecArray1: TYPE = PACKED ARRAY [0..13) OF QuestionRec; tuple: TYPE = RECORD [ x: INT32, y: INT32 ]; randomTypes: TYPE = RECORD [ a: REAL, b: DREAL, c: BYTE, d: INT16, e: INT32, f: INT32, g: BYTE, h: CARD16, i: CARD32, j: CARD32, k: SeqType2, l: PACKED ARRAY [0..3) OF BYTE, m: SeqType3 ]; SeqType3: TYPE = REF SeqType3Object; SeqType3Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF BYTE]; SeqType2: TYPE = REF SeqType2Object; SeqType2Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF tuple]; FooBar: TYPE = INT32; foo: TYPE = REF fooObject; fooObject: TYPE = RECORD [ desc: CARD32, union: SELECT uTag: * FROM v1 => [a: CARD32], v2 => [b: SeqType4], v3 => [c: PACKED ARRAY [0..42) OF BYTE], v4 => [d: SeqType5], default => [e: BYTE], ENDCASE]; SeqType5: TYPE = REF SeqType5Object; SeqType5Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF CARD32]; SeqType4: TYPE = REF SeqType4Object; SeqType4Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF CARD32]; barr: TYPE = RECORD [ a: CARD16, b: SeqType6, c: PACKED ARRAY [0..13) OF BYTE, d: REF CARD32 ]; SeqType6: TYPE = REF SeqType6Object; SeqType6Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF CARD32]; ULONG: TYPE = CARD32; foobar: TYPE = SeqType7; SeqType7: TYPE = REF SeqType7Object; SeqType7Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF CARD32]; foobaz: TYPE = PACKED ARRAY [0..137) OF BYTE; foobarrr: TYPE = REF CARD32; bar: TYPE = REF barObject; barObject: TYPE = RECORD [ union: SELECT desc: BOOLEAN FROM TRUE => [a: INT32], FALSE => [b: BYTE], ENDCASE]; TestNamesArray: TYPE = MACHINE DEPENDENT { a(1), b(2) }; FORTYTWOPROG: CARDINAL = 20000000H; FORTYTWOVERS1: CARDINAL = 1; getanswerProc: TYPE = PROC[o: FORTYTWOPROG1, theQuestion: ROPE, aRandomNumber: CARD16, anotherQuestion: REF TEXT] RETURNS [res: fourtwo.answerRec]; gettrueanswerProc: TYPE = PROC[o: FORTYTWOPROG1, questionType: QuestionType, randomNumbers: SeqType0] RETURNS [res: trueAnswerRec]; getbogusanswerProc: TYPE = PROC[o: FORTYTWOPROG1] RETURNS [res: INT32]; dontanswerProc: TYPE = PROC[o: FORTYTWOPROG1, in: INT32]; FORTYTWOPROG1: TYPE = REF FORTYTWOPROG1Object; FORTYTWOPROG1Object: TYPE = RECORD [ getanswer: getanswerProc, gettrueanswer: gettrueanswerProc, getbogusanswer: getbogusanswerProc, dontanswer: dontanswerProc, rpcHandle: SunRPC.Handle ← NIL, rpcConversation: SunRPCAuth.Conversation ← NIL, data: REF ANY ← NIL ]; MakeFORTYTWOPROG1Client: PROC[h: SunRPC.Handle, c: SunRPCAuth.Conversation] RETURNS [FORTYTWOPROG1]; MakeFORTYTWOPROG1Server: PROC[ data: REF, getanswer: getanswerProc, gettrueanswer: gettrueanswerProc, getbogusanswer: getbogusanswerProc, dontanswer: dontanswerProc ] RETURNS [SunRPC.Server]; FORTYTWOVERS2: CARDINAL = 2; gettheanswerProc: TYPE = PROC[o: FORTYTWOPROG2, questionType: QuestionType, randomNumbers: SeqType0] RETURNS [res: AnswerRec]; FORTYTWOPROG2: TYPE = REF FORTYTWOPROG2Object; FORTYTWOPROG2Object: TYPE = RECORD [ gettheanswer: gettheanswerProc, rpcHandle: SunRPC.Handle ← NIL, rpcConversation: SunRPCAuth.Conversation ← NIL, data: REF ANY ← NIL ]; MakeFORTYTWOPROG2Client: PROC[h: SunRPC.Handle, c: SunRPCAuth.Conversation] RETURNS [FORTYTWOPROG2]; MakeFORTYTWOPROG2Server: PROC[ data: REF, gettheanswer: gettheanswerProc ] RETURNS [SunRPC.Server]; TESTTYPESPROG: CARDINAL = 40400001; TESTTYPES3: CARDINAL = 3; dotestProc: TYPE = PROC[o: TESTTYPESPROG3, a: REAL, b: DREAL, c: BYTE, d: INT16, e: INT32, f: INT32, g: BYTE, h: CARD16, i: CARD32, j: CARD32, k: SeqType2, l: PACKED ARRAY [0..3) OF BYTE, m: SeqType3] RETURNS [res: randomTypes]; TESTTYPESPROG3: TYPE = REF TESTTYPESPROG3Object; TESTTYPESPROG3Object: TYPE = RECORD [ dotest: dotestProc, rpcHandle: SunRPC.Handle ← NIL, rpcConversation: SunRPCAuth.Conversation ← NIL, data: REF ANY ← NIL ]; MakeTESTTYPESPROG3Client: PROC[h: SunRPC.Handle, c: SunRPCAuth.Conversation] RETURNS [TESTTYPESPROG3]; MakeTESTTYPESPROG3Server: PROC[ data: REF, dotest: dotestProc ] RETURNS [SunRPC.Server]; END.