gm2-libs/StdIO
DEFINITION MODULE StdIO ;
EXPORT QUALIFIED ProcRead, ProcWrite,
Read, Write,
PushOutput, PopOutput, GetCurrentOutput,
PushInput, PopInput, GetCurrentInput ;
TYPE
ProcWrite = PROCEDURE (CHAR) ;
ProcRead = PROCEDURE (VAR CHAR) ;
(*
Read - is the generic procedure that all higher application layers
should use to receive a character.
*)
PROCEDURE Read (VAR ch: CHAR) ;
(*
Write - is the generic procedure that all higher application layers
should use to emit a character.
*)
PROCEDURE Write (ch: CHAR) ;
(*
PushOutput - pushes the current Write procedure onto a stack,
any future references to Write will actually invoke
procedure, p.
*)
PROCEDURE PushOutput (p: ProcWrite) ;
(*
PopOutput - restores Write to use the previous output procedure.
*)
PROCEDURE PopOutput ;
(*
GetCurrentOutput - returns the current output procedure.
*)
PROCEDURE GetCurrentOutput () : ProcWrite ;
(*
PushInput - pushes the current Read procedure onto a stack,
any future references to Read will actually invoke
procedure, p.
*)
PROCEDURE PushInput (p: ProcRead) ;
(*
PopInput - restores Write to use the previous output procedure.
*)
PROCEDURE PopInput ;
(*
GetCurrentInput - returns the current input procedure.
*)
PROCEDURE GetCurrentInput () : ProcRead ;
END StdIO.