-- RapunzelCourier.mesa
-- BJackson	11-Jan-88 11:13:00 PST

DIRECTORY Courier, Rapunzel;

RapunzelCourier: DEFINITIONS
 = {

  programNumber: LONG CARDINAL = 2200;
  version: CARDINAL = 4;
  DescribeShort: Courier.Description;
  DescribeLong: Courier.Description;
  DescribeSeqShort: Courier.Description;
  DescribeSeqLong: Courier.Description;
  DescribeAddress: Courier.Description;
  DescribePeekShortCmd: Courier.Description;
  DescribePokeShortCmd: Courier.Description;
  DescribePokeLongCmd: Courier.Description;
  DescribeShftReadCmd: Courier.Description;
  DescribeShftWriteCmd: Courier.Description;
  DescribeReturnLengthCmd: Courier.Description;
  DescribeOpCode: Courier.Description;
  DescribeCmd: Courier.Description;
  DescribeSeqCmd: Courier.Description;
  DescribePeekShortResult: Courier.Description;
  DescribePokeShortResult: Courier.Description;
  DescribePokeLongResult: Courier.Description;
  DescribeShftReadResult: Courier.Description;
  DescribeShftWriteResult: Courier.Description;
  DescribeReturnLengthResult: Courier.Description;
  DescribeResult: Courier.Description;
  DescribeSeqResult: Courier.Description;
  Fault: CARDINAL = 0;
  DescribeFaultCode: Courier.Description;
  PeekShort: CARDINAL = 1;
  PokeShort: CARDINAL = 3;
  PeekSeqShort: CARDINAL = 4;
  PeekSeqLong: CARDINAL = 5;
  PokeSeqShort: CARDINAL = 6;
  PeekLong: CARDINAL = 7;
  PokeLong: CARDINAL = 8;
  DoCmds: CARDINAL = 9;
  SetShftAddrs: CARDINAL = 10;
  WriteSequential: CARDINAL = 11;
  FaultArgs: TYPE = RECORD[code: Rapunzel.FaultCode, address: Rapunzel.Address];
  DescribeFaultArgs: 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;

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

  PeekSeqLongRes: TYPE = RECORD[resultSeq: LONG POINTER TO Rapunzel.SeqLong];
  DescribePeekSeqLongRes: 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;

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

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

  SetShftAddrsArgs: TYPE = RECORD[shftA, shftB: Rapunzel.Address];
  DescribeSetShftAddrsArgs: Courier.Description;

  WriteSequentialArgs: TYPE = RECORD[startingAddress: Rapunzel.Address, count: CARDINAL, seq: LONG POINTER TO Rapunzel.SeqLong];
  DescribeWriteSequentialArgs: Courier.Description;



  }.