(********************************************************************************

Name         : TerminalBase.DEF
Version      : 1.0
Purpose      : Possibility to redirect Terminal  
Authors      : ms
Modified     : 13.3.86  10:16  ms
State        : should be ok
Requirements : 

********************************************************************************)

DEFINITION MODULE TerminalBase;

FROM SYSTEM IMPORT ADDRESS;

TYPE BusyReadProc = PROCEDURE(VAR CHAR);
     WriteProc    = PROCEDURE(ADDRESS, LONGINT);

(* assignement of new procedures *)
PROCEDURE AssignBusyRead(rp: BusyReadProc; VAR ok: BOOLEAN);
PROCEDURE AssignWrite(wp: WriteProc; VAR ok: BOOLEAN);

(* currently assigned procedures *)
PROCEDURE BusyRead(VAR ch: CHAR);
PROCEDURE Write(buffer: ADDRESS; length: LONGINT);

(* Modula program window *)
PROCEDURE StandardBusyRead(VAR ch: CHAR);
PROCEDURE StandardWrite(buffer: ADDRESS; length: LONGINT);

END TerminalBase.
