gm2-libs/StdIO (The GNU Modula-2 Compiler)

#### 4.1.41 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.