DIRECTORY SRPCCalls USING [ ExportSunRPCInterface ], SunRPC, ThrushSunRPC, LarkFeepSunRPC, LarkFeepSunExport, LarkFeepSunRPCServer; LarkFeepSunRPCServerStub: CEDAR PROGRAM IMPORTS SRPCCalls, SunRPC, LarkFeepSunRPCServer EXPORTS LarkFeepSunExport ~ { OPEN LarkFeepSunRPC, LarkFeepSunRPCServer; Handle: TYPE ~ SunRPC.Handle; FlashCaller: PROC [h: SunRPC.Handle, beginReturn: SunRPCBeginReturnProc] ~ { shhh: CARD32; serviceID: CARD32; convID: CARD32; requestingParty: CARD32; actionID: CARD32; extraTime: CARD16; nb: ROPE; { shhh _ SunRPC.GetCard32[h]; }; { serviceID _ SunRPC.GetCard32[h]; }; { convID _ SunRPC.GetCard32[h]; }; { requestingParty _ SunRPC.GetCard32[h]; }; { actionID _ SunRPC.GetCard32[h]; }; { extraTime _ SunRPC.GetCard32[h]; }; [nb] _ Flash[h, shhh, serviceID, convID, requestingParty, actionID, extraTime]; beginReturn[h]; { SunRPC.PutRope[h, nb]; }; }; FeepCaller: PROC [h: SunRPC.Handle, beginReturn: SunRPCBeginReturnProc] ~ { shhh: CARD32; serviceID: CARD32; convID: CARD32; requestingParty: CARD32; number: ROPE; noisy: BOOLEAN; on: CARD16; off: CARD16; nb: ROPE; { shhh _ SunRPC.GetCard32[h]; }; { serviceID _ SunRPC.GetCard32[h]; }; { convID _ SunRPC.GetCard32[h]; }; { requestingParty _ SunRPC.GetCard32[h]; }; { number _ SunRPC.GetRope[h]; }; { noisy _ SunRPCGetBool[h]; }; { on _ SunRPC.GetCard32[h]; }; { off _ SunRPC.GetCard32[h]; }; [nb] _ Feep[h, shhh, serviceID, convID, requestingParty, number, noisy, on, off]; beginReturn[h]; { SunRPC.PutRope[h, nb]; }; }; SunRPCBeginReturnProc: TYPE ~ PROC [h: Handle]; Server: SunRPC.ServerProc ~ { ENABLE { }; beginReturn: SunRPCBeginReturnProc ~ { SunRPC.StartReply[h]; }; doReply _ TRUE; replyTimeToLive _ 2; SELECT proc FROM 2 => FlashCaller[h, beginReturn]; 1 => FeepCaller[h, beginReturn]; ENDCASE => { ERROR SunRPC.Error[$wrongProc]; }; }; SunRPCGetBool: PROC [h: Handle] RETURNS [BOOL] ~ INLINE { RETURN [SunRPC.GetCard32[h] # 0] }; SunRPCPutBool: PROC [h: Handle, bool: BOOL] ~ INLINE { SunRPC.PutCard32[h, IF bool THEN 1 ELSE 0] }; sunPgm: CARD _ 390914; -- decimal program number sunPgmVersion: CARD _ 1; ExportInterface: PUBLIC PROC [port: CARD_0] RETURNS [uniquePort: CARD] ~ { uniquePort _ SRPCCalls.ExportSunRPCInterface[port, Server, sunPgm, sunPgmVersion]; }; }... 8LarkFeepSunRPCServerStub.Mesa Copyright Σ 1990 by Xerox Corporation. All rights reserved. Derived from LarkFeepP914V1ServerImpl.mesa Generated by Pier.pa at May 18, 1990 3:25:01 pm PDT using Sirocco [2.0] of February 10, 1989 6:26:26 pm PST Swinehart, September 18, 1990 8:03:41 am PDT Initialize server Κ…˜šœ™Jšœ<™