SoftcardRemoteCall.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
written by Christian Le Cocq, September 6, 1988
Christian Le Cocq November 9, 1988 6:09:14 pm PST
VERY simplistic RPC mechanism from 6085 to the SPARC softcard.
The procedures are registred from the Sparc side at initialization.
DIRECTORY
Basics USING [UnsafeBlock],
Rope USING [ROPE];
SoftcardRemoteCall: CEDAR DEFINITIONS ~ BEGIN
RCALL: CARD32 = 16;
RREGISTER: CARD32 = 17;
ProcId: TYPE ~ ATOM;
UnknownProc: ERROR;
CallRProc: PUBLIC PROC[procId: ProcId, argsByteSize: CARD32, putArgs: PROC [ub: Basics.UnsafeBlock] ← NIL] RETURNS [r: CARD32];
the caller has the responsibility to encode whatever information is needed across the interface
RopeFromUnsafeBlock: PROC[ub: Basics.UnsafeBlock] RETURNS [r: Rope.ROPE];
some clients will use this routinely, and there is nothing like that in the system
END.