<> <> <> <> <> <> DIRECTORY SunRPC, ThrushSunRPC, SRPCCalls, LarkFeepSunRPC, LarkFeepSunRPCClient; LarkFeepSunRPCClientStub: CEDAR PROGRAM IMPORTS SunRPC, SRPCCalls EXPORTS LarkFeepSunRPCClient ~ { OPEN LarkFeepSunRPC, SRPCCalls; Handle: TYPE ~ SunRPC.Handle; GetError: SunRPCGetErrorProc ~ { }; <> Flash: PUBLIC FlashType ~ { PutArgs: SunRPCPutArgsProc ~ { SunRPC.PutCard32[h, shhh]; SunRPC.PutCard32[h, serviceID]; SunRPC.PutCard32[h, convID]; SunRPC.PutCard32[h, requestingParty]; SunRPC.PutCard32[h, actionID]; SunRPC.PutCard32[h, extraTime]; }; GetResults: SunRPCGetResultsProc ~ { nb _ SunRPC.GetRope[h]; }; SunRPCCall[h~h, remoteProc~2 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; Feep: PUBLIC FeepType ~ { PutArgs: SunRPCPutArgsProc ~ { SunRPC.PutCard32[h, shhh]; SunRPC.PutCard32[h, serviceID]; SunRPC.PutCard32[h, convID]; SunRPC.PutCard32[h, requestingParty]; SunRPC.PutRope[h, number]; SunRPCPutBool[h, noisy]; SunRPC.PutCard32[h, on]; SunRPC.PutCard32[h, off]; }; GetResults: SunRPCGetResultsProc ~ { nb _ SunRPC.GetRope[h]; }; SunRPCCall[h~h, remoteProc~1 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; SunRPCCall: PROC [h: Handle, remoteProc: CARD, putArgs: SunRPCPutArgsProc, getResults: SunRPCGetResultsProc, getError: SunRPCGetErrorProc] ~ { SunRPCProgramCall[h: h, remoteProc: remoteProc, putArgs: putArgs, getResults: getResults, getError: getError]; }; }...