DIRECTORY CrRPC, Rope; RapunzelP2200V3: CEDAR DEFINITIONS ~ { ROPE: TYPE ~ Rope.ROPE; FaultCode: TYPE ~ MACHINE DEPENDENT { nonexistent(1), protection(2), alignmentShort(3), alignmentLong(4)}; PokeLongType: TYPE ~ PROC [h: CrRPC.Handle, address: CARD32, value: CARD32]; PokeLong: PokeLongType; SeqCmd: TYPE ~ REF SeqCmdObject; SeqCmdObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF Cmd ]; DoCmdsType: TYPE ~ PROC [h: CrRPC.Handle, cmdSeq: SeqCmd] RETURNS [resultSeq: SeqResult]; DoCmds: DoCmdsType; ReturnLengthResult: TYPE ~ RECORD [null: CARDINAL _ 0]; SetShftAddrsType: TYPE ~ PROC [h: CrRPC.Handle, shftA: CARD32, shftB: CARD32]; SetShftAddrs: SetShftAddrsType; ShftReadResult: TYPE ~ RECORD [ numRepeats: CARD16]; Long: TYPE ~ CARD32; FaultType: TYPE ~ ERROR [code: FaultCode, address: CARD32]; Fault: FaultType; PokeLongResult: TYPE ~ RECORD [null: CARDINAL _ 0]; PeekSeqLongType: TYPE ~ PROC [h: CrRPC.Handle, address: CARD32, count: CARD16] RETURNS [resultSeq: SeqLong]; PeekSeqLong: PeekSeqLongType; Result: TYPE ~ REF ResultObject; ResultObject: TYPE ~ RECORD [ SELECT type: OpCode FROM peekShort => [peekShort: PeekShortResult], pokeShort => [pokeShort: PokeShortResult], pokeLong => [pokeLong: PokeLongResult], shftRead => [shftRead: ShftReadResult], shftWrite => [shftWrite: ShftWriteResult], returnLength => [returnLength: ReturnLengthResult] ENDCASE ]; PokeShortType: TYPE ~ PROC [h: CrRPC.Handle, address: CARD32, value: CARD16]; PokeShort: PokeShortType; ShftReadCmd: TYPE ~ RECORD [ address: CARD32, numRepeats: CARD16]; SeqLong: TYPE ~ REF SeqLongObject; SeqLongObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF CARD32 ]; PeekLongType: TYPE ~ PROC [h: CrRPC.Handle, address: CARD32] RETURNS [result: CARD32]; PeekLong: PeekLongType; PeekShortResult: TYPE ~ RECORD [ value: CARD16]; PokeSeqShortType: TYPE ~ PROC [h: CrRPC.Handle, address: CARD32, valueSeq: SeqShort]; PokeSeqShort: PokeSeqShortType; PokeLongCmd: TYPE ~ RECORD [ address: CARD32, value: CARD32]; PokeShortCmd: TYPE ~ RECORD [ address: CARD32, value: CARD16]; PokeShortResult: TYPE ~ RECORD [null: CARDINAL _ 0]; ShftWriteCmd: TYPE ~ RECORD [ address: CARD32, numRepeats: CARD16]; SeqResult: TYPE ~ REF SeqResultObject; SeqResultObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF Result ]; ReturnLengthCmd: TYPE ~ RECORD [ returnLength: CARD16]; ShftWriteResult: TYPE ~ RECORD [ numRepeats: CARD16]; Cmd: TYPE ~ REF CmdObject; CmdObject: TYPE ~ RECORD [ SELECT type: OpCode FROM peekShort => [peekShort: PeekShortCmd], pokeShort => [pokeShort: PokeShortCmd], pokeLong => [pokeLong: PokeLongCmd], shftRead => [shftRead: ShftReadCmd], shftWrite => [shftWrite: ShftWriteCmd], returnLength => [returnLength: ReturnLengthCmd] ENDCASE ]; PeekShortType: TYPE ~ PROC [h: CrRPC.Handle, address: CARD32] RETURNS [result: CARD16]; PeekShort: PeekShortType; OpCode: TYPE ~ MACHINE DEPENDENT { peekShort(0), pokeShort(1), pokeLong(2), shftRead(3), shftWrite(4), returnLength(5)}; PeekSeqShortType: TYPE ~ PROC [h: CrRPC.Handle, address: CARD32, count: CARD16] RETURNS [resultSeq: SeqShort]; PeekSeqShort: PeekSeqShortType; Address: TYPE ~ CARD32; Short: TYPE ~ CARD16; PeekShortCmd: TYPE ~ RECORD [ address: CARD32]; SeqShort: TYPE ~ REF SeqShortObject; SeqShortObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF CARD16 ]; }... ÎRapunzelP2200V3.Mesa Copyright (C) 1986 by Xerox Corporation. All rights reserved. Generated by Willie-Sue.pa at March 18, 1987 11:26:16 am PST using Sirocco [2.0] of January 31, 1987 1:52:42 am PST ʆ˜šœ™Jšœ>™>Jšœ<™