-- RapunzelCourier.mesa
-- Willie-Sue	13-Oct-86 13:33:17 PDT

DIRECTORY Courier, Rapunzel;

RapunzelCourier: DEFINITIONS
 = {

  programNumber: LONG CARDINAL = 2200;
  version: CARDINAL = 1;
  DescribeShort: Courier.Description;
  DescribeLong: Courier.Description;
  DescribeSeqShort: Courier.Description;
  DescribeAddress: Courier.Description;
  DescribePeekShortCmd: Courier.Description;
  DescribePokeShortCmd: Courier.Description;
  DescribeOpCode: Courier.Description;
  DescribeCmd: Courier.Description;
  DescribeSeqCmd: Courier.Description;
  DescribePeekShortResult: Courier.Description;
  DescribePokeShortResult: Courier.Description;
  DescribeResult: Courier.Description;
  DescribeSeqResult: Courier.Description;
  Fault: CARDINAL = 0;
  DescribeFaultCode: Courier.Description;
  DoCmds: CARDINAL = 7;
  PeekShort: CARDINAL = 1;
  PokeShort: CARDINAL = 2;
  PeekSeqShort: CARDINAL = 3;
  PokeSeqShort: CARDINAL = 4;
  PeekLong: CARDINAL = 5;
  PokeLong: CARDINAL = 6;
  FaultArgs: TYPE = RECORD[code: Rapunzel.FaultCode, address: Rapunzel.Address];
  DescribeFaultArgs: Courier.Description;

  DoCmdsArgs: TYPE = RECORD[cmdSeq: LONG POINTER TO Rapunzel.SeqCmd];
  DescribeDoCmdsArgs: Courier.Description;

  DoCmdsRes: TYPE = RECORD[resultSeq: LONG POINTER TO Rapunzel.SeqResult];
  DescribeDoCmdsRes: Courier.Description;

  PeekShortArgs: TYPE = RECORD[address: Rapunzel.Address];
  DescribePeekShortArgs: Courier.Description;

  PeekShortRes: TYPE = RECORD[result: Rapunzel.Short];
  DescribePeekShortRes: Courier.Description;

  PokeShortArgs: TYPE = RECORD[address: Rapunzel.Address, value: Rapunzel.Short];
  DescribePokeShortArgs: Courier.Description;

  PeekSeqShortArgs: TYPE = RECORD[address: Rapunzel.Address, count: CARDINAL];
  DescribePeekSeqShortArgs: Courier.Description;

  PeekSeqShortRes: TYPE = RECORD[resultSeq: LONG POINTER TO Rapunzel.SeqShort];
  DescribePeekSeqShortRes: Courier.Description;

  PokeSeqShortArgs: TYPE = RECORD[address: Rapunzel.Address, valueSeq: LONG POINTER TO Rapunzel.SeqShort];
  DescribePokeSeqShortArgs: Courier.Description;

  PeekLongArgs: TYPE = RECORD[address: Rapunzel.Address];
  DescribePeekLongArgs: Courier.Description;

  PeekLongRes: TYPE = RECORD[result: Rapunzel.Long];
  DescribePeekLongRes: Courier.Description;

  PokeLongArgs: TYPE = RECORD[address: Rapunzel.Address, value: Rapunzel.Long];
  DescribePokeLongArgs: Courier.Description;



  }.