]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/m2/gm2-libs/StdIO.def
Update copyright years.
[thirdparty/gcc.git] / gcc / m2 / gm2-libs / StdIO.def
CommitLineData
1eee94d3
GM
1(* StdIO.def provides general Read and Write procedures.
2
83ffe9cd 3Copyright (C) 2001-2023 Free Software Foundation, Inc.
1eee94d3
GM
4Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.
5
6This file is part of GNU Modula-2.
7
8GNU Modula-2 is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Modula-2 is distributed in the hope that it will be useful, but
14WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16General Public License for more details.
17
18Under Section 7 of GPL version 3, you are granted additional
19permissions described in the GCC Runtime Library Exception, version
203.1, as published by the Free Software Foundation.
21
22You should have received a copy of the GNU General Public License and
23a copy of the GCC Runtime Library Exception along with this program;
24see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
25<http://www.gnu.org/licenses/>. *)
26
27DEFINITION MODULE StdIO ;
28
29EXPORT QUALIFIED ProcRead, ProcWrite,
30 Read, Write,
31 PushOutput, PopOutput, GetCurrentOutput,
32 PushInput, PopInput, GetCurrentInput ;
33
34
35TYPE
36 ProcWrite = PROCEDURE (CHAR) ;
37 ProcRead = PROCEDURE (VAR CHAR) ;
38
39
40(*
41 Read - is the generic procedure that all higher application layers
42 should use to receive a character.
43*)
44
45PROCEDURE Read (VAR ch: CHAR) ;
46
47
48(*
49 Write - is the generic procedure that all higher application layers
50 should use to emit a character.
51*)
52
53PROCEDURE Write (ch: CHAR) ;
54
55
56(*
57 PushOutput - pushes the current Write procedure onto a stack,
58 any future references to Write will actually invoke
59 procedure, p.
60*)
61
62PROCEDURE PushOutput (p: ProcWrite) ;
63
64
65(*
66 PopOutput - restores Write to use the previous output procedure.
67*)
68
69PROCEDURE PopOutput ;
70
71
72(*
73 GetCurrentOutput - returns the current output procedure.
74*)
75
76PROCEDURE GetCurrentOutput () : ProcWrite ;
77
78
79(*
80 PushInput - pushes the current Read procedure onto a stack,
81 any future references to Read will actually invoke
82 procedure, p.
83*)
84
85PROCEDURE PushInput (p: ProcRead) ;
86
87
88(*
89 PopInput - restores Write to use the previous output procedure.
90*)
91
92PROCEDURE PopInput ;
93
94
95(*
96 GetCurrentInput - returns the current input procedure.
97*)
98
99PROCEDURE GetCurrentInput () : ProcRead ;
100
101
102END StdIO.