]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/m2/mc-boot/Gtermios.h
Update copyright years.
[thirdparty/gcc.git] / gcc / m2 / mc-boot / Gtermios.h
CommitLineData
1eee94d3
GM
1/* do not edit automatically generated by mc from termios. */
2/* termios.def provides a procedural interface to termios.
3
a945c346 4Copyright (C) 2005-2024 Free Software Foundation, Inc.
1eee94d3
GM
5Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.
6
7This file is part of GNU Modula-2.
8
9GNU Modula-2 is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 3, or (at your option)
12any later version.
13
14GNU Modula-2 is distributed in the hope that it will be useful, but
15WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17General Public License for more details.
18
19Under Section 7 of GPL version 3, you are granted additional
20permissions described in the GCC Runtime Library Exception, version
213.1, as published by the Free Software Foundation.
22
23You should have received a copy of the GNU General Public License and
24a copy of the GCC Runtime Library Exception along with this program;
25see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
26<http://www.gnu.org/licenses/>. */
27
28
29#if !defined (_termios_H)
30# define _termios_H
31
32#include "config.h"
33#include "system.h"
34# ifdef __cplusplus
35extern "C" {
36# endif
431c0669 37#include <stdbool.h>
1eee94d3
GM
38# if !defined (PROC_D)
39# define PROC_D
40 typedef void (*PROC_t) (void);
41 typedef struct { PROC_t proc; } PROC;
42# endif
43
44# include "GSYSTEM.h"
45
46# if defined (_termios_C)
47# define EXTERN
48# else
49# define EXTERN extern
50# endif
51
52typedef void *termios_TERMIOS;
53
54typedef enum {termios_vintr, termios_vquit, termios_verase, termios_vkill, termios_veof, termios_vtime, termios_vmin, termios_vswtc, termios_vstart, termios_vstop, termios_vsusp, termios_veol, termios_vreprint, termios_vdiscard, termios_vwerase, termios_vlnext, termios_veol2} termios_ControlChar;
55
56typedef enum {termios_ignbrk, termios_ibrkint, termios_ignpar, termios_iparmrk, termios_inpck, termios_istrip, termios_inlcr, termios_igncr, termios_icrnl, termios_iuclc, termios_ixon, termios_ixany, termios_ixoff, termios_imaxbel, termios_opost, termios_olcuc, termios_onlcr, termios_ocrnl, termios_onocr, termios_onlret, termios_ofill, termios_ofdel, termios_onl0, termios_onl1, termios_ocr0, termios_ocr1, termios_ocr2, termios_ocr3, termios_otab0, termios_otab1, termios_otab2, termios_otab3, termios_obs0, termios_obs1, termios_off0, termios_off1, termios_ovt0, termios_ovt1, termios_b0, termios_b50, termios_b75, termios_b110, termios_b135, termios_b150, termios_b200, termios_b300, termios_b600, termios_b1200, termios_b1800, termios_b2400, termios_b4800, termios_b9600, termios_b19200, termios_b38400, termios_b57600, termios_b115200, termios_b240400, termios_b460800, termios_b500000, termios_b576000, termios_b921600, termios_b1000000, termios_b1152000, termios_b1500000, termios_b2000000, termios_b2500000, termios_b3000000, termios_b3500000, termios_b4000000, termios_maxbaud, termios_crtscts, termios_cs5, termios_cs6, termios_cs7, termios_cs8, termios_cstopb, termios_cread, termios_parenb, termios_parodd, termios_hupcl, termios_clocal, termios_lisig, termios_licanon, termios_lxcase, termios_lecho, termios_lechoe, termios_lechok, termios_lechonl, termios_lnoflsh, termios_ltopstop, termios_lechoctl, termios_lechoprt, termios_lechoke, termios_lflusho, termios_lpendin, termios_liexten} termios_Flag;
57
58
59/*
60 InitTermios - new data structure.
61*/
62
63EXTERN termios_TERMIOS termios_InitTermios (void);
64
65/*
66 KillTermios - delete data structure.
67*/
68
69EXTERN termios_TERMIOS termios_KillTermios (termios_TERMIOS t);
70
71/*
72 cfgetospeed - return output baud rate.
73*/
74
75EXTERN int termios_cfgetospeed (termios_TERMIOS t);
76
77/*
78 cfgetispeed - return input baud rate.
79*/
80
81EXTERN int termios_cfgetispeed (termios_TERMIOS t);
82
83/*
84 cfsetospeed - set output baud rate.
85*/
86
87EXTERN int termios_cfsetospeed (termios_TERMIOS t, unsigned int b);
88
89/*
90 cfsetispeed - set input baud rate.
91*/
92
93EXTERN int termios_cfsetispeed (termios_TERMIOS t, unsigned int b);
94
95/*
96 cfsetspeed - set input and output baud rate.
97*/
98
99EXTERN int termios_cfsetspeed (termios_TERMIOS t, unsigned int b);
100
101/*
102 tcgetattr - get state of, fd, into, t.
103*/
104
105EXTERN int termios_tcgetattr (int fd, termios_TERMIOS t);
106EXTERN int termios_tcsnow (void);
107EXTERN int termios_tcsdrain (void);
108EXTERN int termios_tcsflush (void);
109
110/*
111 tcsetattr - set state of, fd, to, t, using option.
112*/
113
114EXTERN int termios_tcsetattr (int fd, int option, termios_TERMIOS t);
115
116/*
117 cfmakeraw - sets, t, to raw mode.
118*/
119
120EXTERN void termios_cfmakeraw (termios_TERMIOS t);
121
122/*
123 tcsendbreak - send zero bits for duration.
124*/
125
126EXTERN int termios_tcsendbreak (int fd, int duration);
127
128/*
129 tcdrain - waits for pending output to be written on, fd.
130*/
131
132EXTERN int termios_tcdrain (int fd);
133
134/*
135 tcflushi - flush input.
136*/
137
138EXTERN int termios_tcflushi (int fd);
139
140/*
141 tcflusho - flush output.
142*/
143
144EXTERN int termios_tcflusho (int fd);
145
146/*
147 tcflushio - flush input and output.
148*/
149
150EXTERN int termios_tcflushio (int fd);
151
152/*
153 tcflowoni - restart input on, fd.
154*/
155
156EXTERN int termios_tcflowoni (int fd);
157
158/*
159 tcflowoffi - stop input on, fd.
160*/
161
162EXTERN int termios_tcflowoffi (int fd);
163
164/*
165 tcflowono - restart output on, fd.
166*/
167
168EXTERN int termios_tcflowono (int fd);
169
170/*
171 tcflowoffo - stop output on, fd.
172*/
173
174EXTERN int termios_tcflowoffo (int fd);
175
176/*
177 GetFlag - sets a flag value from, t, in, b, and returns TRUE
178 if, t, supports, f.
179*/
180
431c0669 181EXTERN bool termios_GetFlag (termios_TERMIOS t, termios_Flag f, bool *b);
1eee94d3
GM
182
183/*
184 SetFlag - sets a flag value in, t, to, b, and returns TRUE if
185 this flag value is supported.
186*/
187
431c0669 188EXTERN bool termios_SetFlag (termios_TERMIOS t, termios_Flag f, bool b);
1eee94d3
GM
189
190/*
191 GetChar - sets a CHAR, ch, value from, t, and returns TRUE if
192 this value is supported.
193*/
194
431c0669 195EXTERN bool termios_GetChar (termios_TERMIOS t, termios_ControlChar c, char *ch);
1eee94d3
GM
196
197/*
198 SetChar - sets a CHAR value in, t, and returns TRUE if, c,
199 is supported.
200*/
201
431c0669 202EXTERN bool termios_SetChar (termios_TERMIOS t, termios_ControlChar c, char ch);
1eee94d3
GM
203# ifdef __cplusplus
204}
205# endif
206
207# undef EXTERN
208#endif