(* This is a totally unsupported module, it may well be absent in future
   releases. USE IT AT YOUR OWN PERIL. 

    Title:	  TKCalls - Definitions
    LastEdit:	  14 Aug 84 20:49:59
    Author:	  Mick Jordan + Keith Rautenbach.
    Acorn Computers Ltd

    Constants to be used with the TKCALL function
    And some interfaces to difficult SVCs because of register use.
*)

DEFINITION MODULE TKCalls ;

EXPORT QUALIFIED TKwrch , TKstring , TKascii , TKnewl ,
		 TKrdch , TKbyte , TKword , TKcli ,
		 TKfile , TKfind , TKargs , TKbget ,
		 TKbput , TKgbpb , TKexitProgram ,
		 TKcallDebug , TKreadEscape , TKimmediateOut ,
		 TKsetEventHandler , TKreadError ,
		 TKsetErrorTrap , TKsetReturnAddress ,
		 TKsetVdt , 
		 TKsplit , TKcomm , TKgetVersion ,
		 TKsetVduHandler , TKreadConfigSwitches ,
		 TKpriviledge , TKsetOscliLoad ,

		 Registers , TKCall ;	 


CONST
   TKwrch		      = 1 ;
   TKstring		      = 2 ;
   TKascii		      = 3 ;
   TKnewl		      = 4 ;
   TKrdch		      = 5 ;
   TKbyte		      = 6 ;
   TKword		      = 7 ;
   TKcli		      = 8 ;
   TKfile		      = 10 ;
   TKfind		      = 11 ;
   TKargs		      = 12 ;
   TKbget		      = 13 ;
   TKbput		      = 14 ;
   TKgbpb		      = 15 ;
   TKexitProgram	      = 17 ;
   TKcallDebug		      = 18 ;
   TKreadEscape 	      = 20 ;
   TKimmediateOut	      = 21 ;
   TKsetEventHandler	      = 30 ;
   TKreadError		      = 31 ;
   TKsetErrorTrap	      = 32 ;
   TKsetReturnAddress	      = 33 ;
   TKsetVdt		      = 40 ;
   TKsplit		      = 50 ;
   TKcomm		      = 51 ;
   TKgetVersion 	      = 52 ;
   TKsetVduHandler	      = 53 ;
   TKreadConfigSwitches       = 54 ;
   TKpriviledge 	      = 55 ;
   TKsetOscliLoad	      = 56 ;

TYPE
   Registers		      = ARRAY [ 0..7 ] OF CARDINAL ;

PROCEDURE TKCall(VAR r: Registers);
(* Performs the TK call specified by the register array. *)

END TKCalls.
