RapunzelP2200V1.Mesa
Copyright (C) 1986 by Xerox Corporation. All rights reserved.
Generated by Willie-Sue.pa at October 10, 1986 1:53:06 pm PDT
using Sirocco [1.0] of September 25, 1986 3:44:23 am PDT
DIRECTORY
CrRPC,
Rope;
RapunzelP2200V1: CEDAR DEFINITIONS ~ {
ROPE: TYPE ~ Rope.ROPE;
FaultCode: TYPE ~ MACHINE DEPENDENT {
nonexistent(1),
protection(2),
alignmentShort(3),
alignmentLong(4)
};
PokeLong: PROC [h: CrRPC.Handle, address: CARD, value: CARD];
SeqCmd: TYPE ~ REF SeqCmdObject;
SeqCmdObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF Cmd
];
DoCmds: PROC [h: CrRPC.Handle, cmdSeq: SeqCmd] RETURNS [resultSeq: SeqResult];
Long: TYPE ~ CARD;
Fault: ERROR [code: FaultCode, address: CARD];
Result: TYPE ~ RECORD [
SELECT type: OpCode FROM
peekShort => [peekShort: PeekShortResult],
pokeShort => [pokeShort: PokeShortResult]
ENDCASE
];
PokeShort: PROC [h: CrRPC.Handle, address: CARD, value: CARDINAL];
PeekShortResult: TYPE ~ RECORD [
value: CARDINAL
];
PeekLong: PROC [h: CrRPC.Handle, address: CARD] RETURNS [result: CARD];
PokeSeqShort: PROC [h: CrRPC.Handle, address: CARD, valueSeq: SeqShort];
PokeShortCmd: TYPE ~ RECORD [
address: CARD,
value: CARDINAL
];
PokeShortResult: TYPE ~ RECORD [];
SeqResult: TYPE ~ REF SeqResultObject;
SeqResultObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF Result
];
Cmd: TYPE ~ RECORD [
SELECT type: OpCode FROM
peekShort => [peekShort: PeekShortCmd],
pokeShort => [pokeShort: PokeShortCmd]
ENDCASE
];
OpCode: TYPE ~ MACHINE DEPENDENT {
peekShort(0),
pokeShort(1)
};
PeekShort: PROC [h: CrRPC.Handle, address: CARD] RETURNS [result: CARDINAL];
PeekSeqShort: PROC [h: CrRPC.Handle, address: CARD, count: CARDINAL] RETURNS [resultSeq: SeqShort];
Address: TYPE ~ CARD;
Short: TYPE ~ CARDINAL;
PeekShortCmd: TYPE ~ RECORD [
address: CARD
];
SeqShort: TYPE ~ REF SeqShortObject;
SeqShortObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF CARDINAL
];
}...