// LIBHDR for the ARM BCPL System
//
// Last edited 18 Jan 88 13:12:45

GLOBAL
$( globsize		: 0;
   G0			: 0;
   Start		: 1;
   HostProcessor	: 2;

//3-12
   result2		: 13;
   PutByte		: 14;
   BytePut		: 14;
   GetByte		: 15;
   ByteGet		: 15;
   MulDiv		: 16;
   lineBuff		: 17;
   WriteS		: 18;
   WriteF		: 19;
   CapitalCh		: 20;
   CompCh		: 21;
   CompString		: 22;
   NewLine		: 23;
   RdCh 		: 24;
   UnRdCh		: 25;
   WrCh 		: 26;
   Input		: 27;
   Output		: 28;
   SelectInput		: 29;
   SelectOutput 	: 30;
   cis			: 31;
   cos			: 32;

//33-34
   Stop 		: 35;
   NewPage		: 36;
   GBytes		: 37;
   PBytes		: 38;
   returnCode		: 39;
   stackBase		: 40;
   Level		: 41;
   LongJump		: 42;
   Aptovec		: 43;
   RdBin		: 44;
   BinRdCh		: 44; // = rdbin
   WrBin		: 45;
   BinWrCh		: 45; // = wrbin
   FindInput		: 46;
   FindOutput		: 47;

   CreateCo		: 48;
   DeleteCo		: 49;
   CallCo		: 50;
   ResumeCo		: 51;
   CoWait		: 52;

//53
   GetVec		: 54;
   FreeVec		: 55;
   MaxVec		: 56;
   blockList		: 57;
   freeStore		: 57;
//58
   Read.Offset		: 59;
   Set.Offset		: 60;
   Extent		: 61;
//62
   Abort		: 63;
   BackTrace		: 64;
   MapStore		: 65;
   ReadBytes		: 66;
   WriteBytes		: 67;
//66-68
   PackString		: 69;
   UnpackString 	: 70;
//71-75
   EndRead		: 76;
   EndWrite		: 77;
   ReadN		: 78;
   WriteD		: 79;
   WriteN		: 80;
   WriteHex		: 81;
   WriteOct		: 82;
   RdArgs		: 83;
   RdItem		: 84;
   FindArg		: 85;
//86-88
   random.state 	: 89;
   Random		: 90;
//91-92
   OSByte2		: 93;
   SWI			: 94;
   Fault		: 95;
   OSArgs		: 96;
   OSBGet		: 97;
   OSBPut		: 98;
   OSFind		: 99;
   OSFile		: 100;
   OSCLI		: 101;
   OSWrch		: 102;
   OSRdCh		: 103;
   OSByte		: 104;
   OSWord		: 105;
   TKRerr		: 106;
   OSGBPB		: 107;
   Time 		: 108;
   TimeOfDay		: 109;
   Date 		: 110;
   Lib.InitIO		: 111;
//112  SetEventHandler
   BinaryTime		: 113;
   ExplodeBinaryTime	: 114;
//112-119
   SSin 		: 120;
   SCos 		: 121;
   STan 		: 122;
   SASin		: 123;
   SACos		: 124;
   SATan		: 125;
   SLogE		: 126;
   SLog10		: 127;
   SEXP 		: 128;
   SPower		: 129;
   SSqrt		: 130;
   SATan2		: 131;
   SRound		: 132;
   ConvertSToP		: 133;

   FindStringInput	: 134;
   // 135 & 136 belong to IOLib
   FindFileInput	: 137;
   FindFileOutput	: 138;
   StringF		: 139;
   MoveWords		: 140;
   FillWords		: 141;
   loadPoint		: 142;
   Lib.TerminateIo	: 143;
   vdustream		: 144;
   errorstream		: 145;
   streamchain		: 146;
   describestream	: 147;
   topOfStore		: 148;
   SWriteF		: 149
$)

MANIFEST {
   round.nearest = 0;
   round.plusinfinity = 1;
   round.minusinfinity = 2;
   round.zero = 3 };

MANIFEST
$( VersionMark		= #x4e524556;

   EndStreamCh		= #x1FE;
   BytesPerWord 	= 4;
   BitsPerWord		= 32;
   BitsPerByte		= 8;
   MaxInt		= #x7FFFFFFF;
   MinInt		= #x80000000;
   mcaddrinc		= 4;

   StackFrameDirection	= 1;   // later variables are at higher addresses

   ug			= 150;
   fg			= ug;
   firstfreeglobal	= ug;

   fp.len		= 1;
   fpd.len		= 2
$)
