]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/uclibc/lib/contrib/uclibc/libc/sysdeps/linux/powerpc/bits/termios.h
Inital import
[l4.git] / l4 / pkg / uclibc / lib / contrib / uclibc / libc / sysdeps / linux / powerpc / bits / termios.h
1 /* Copyright (C) 1997,1999,2001,2003,2004,2005 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, write to the Free
16    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17    02111-1307 USA.  */
18
19 #ifndef _TERMIOS_H
20 # error "Never include <bits/termios.h> directly; use <termios.h> instead."
21 #endif
22
23 typedef unsigned char   cc_t;
24 typedef unsigned int    speed_t;
25 typedef unsigned int    tcflag_t;
26
27 /*
28  * termios type and macro definitions.  Be careful about adding stuff
29  * to this file since it's used in GNU libc and there are strict rules
30  * concerning namespace pollution.
31  */
32
33 #define NCCS 32
34 struct termios {
35         tcflag_t c_iflag;               /* input mode flags */
36         tcflag_t c_oflag;               /* output mode flags */
37         tcflag_t c_cflag;               /* control mode flags */
38         tcflag_t c_lflag;               /* local mode flags */
39         cc_t c_line;                    /* line discipline (== c_cc[19]) */
40         cc_t c_cc[NCCS];                /* control characters */
41         speed_t c_ispeed;               /* input speed */
42         speed_t c_ospeed;               /* output speed */
43 #define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
44 #define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
45 };
46
47 /* c_cc characters */
48 #define VINTR   0
49 #define VQUIT   1
50 #define VERASE  2
51 #define VKILL   3
52 #define VEOF    4
53 #define VMIN    5
54 #define VEOL    6
55 #define VTIME   7
56 #define VEOL2   8
57 #define VSWTC   9
58
59 #define VWERASE 10
60 #define VREPRINT        11
61 #define VSUSP           12
62 #define VSTART          13
63 #define VSTOP           14
64 #define VLNEXT          15
65 #define VDISCARD        16
66
67 /* c_iflag bits */
68 #define IGNBRK  0000001
69 #define BRKINT  0000002
70 #define IGNPAR  0000004
71 #define PARMRK  0000010
72 #define INPCK   0000020
73 #define ISTRIP  0000040
74 #define INLCR   0000100
75 #define IGNCR   0000200
76 #define ICRNL   0000400
77 #define IXON    0001000
78 #define IXOFF   0002000
79 #define IXANY   0004000
80 #define IUCLC   0010000
81 #define IMAXBEL 0020000
82 #define IUTF8   0040000
83
84 /* c_oflag bits */
85 #define OPOST   0000001
86 #define ONLCR   0000002
87 #define OLCUC   0000004
88
89 #define OCRNL   0000010
90 #define ONOCR   0000020
91 #define ONLRET  0000040
92
93 #define OFILL   00000100
94 #define OFDEL   00000200
95 #if defined __USE_MISC || defined __USE_XOPEN
96 # define NLDLY  00001400
97 # define   NL0  00000000
98 # define   NL1  00000400
99 # define   NL2  00001000
100 # define   NL3  00001400
101 # define TABDLY 00006000
102 # define   TAB0 00000000
103 # define   TAB1 00002000
104 # define   TAB2 00004000
105 # define   TAB3 00006000
106 # define CRDLY  00030000
107 # define   CR0  00000000
108 # define   CR1  00010000
109 # define   CR2  00020000
110 # define   CR3  00030000
111 # define FFDLY  00040000
112 # define   FF0  00000000
113 # define   FF1  00040000
114 # define BSDLY  00100000
115 # define   BS0  00000000
116 # define   BS1  00100000
117 #endif
118 #define VTDLY   00200000
119 #define   VT0   00000000
120 #define   VT1   00200000
121
122 #ifdef __USE_MISC
123 # define XTABS  00006000
124 #endif
125
126 /* c_cflag bit meaning */
127 #ifdef __USE_MISC
128 # define CBAUD  0000377
129 #endif
130 #define  B0     0000000         /* hang up */
131 #define  B50    0000001
132 #define  B75    0000002
133 #define  B110   0000003
134 #define  B134   0000004
135 #define  B150   0000005
136 #define  B200   0000006
137 #define  B300   0000007
138 #define  B600   0000010
139 #define  B1200  0000011
140 #define  B1800  0000012
141 #define  B2400  0000013
142 #define  B4800  0000014
143 #define  B9600  0000015
144 #define  B19200 0000016
145 #define  B38400 0000017
146 #ifdef __USE_MISC
147 # define EXTA B19200
148 # define EXTB B38400
149 # define CBAUDEX 0000020
150 #endif
151 #define  B57600   00020
152 #define  B115200  00021
153 #define  B230400  00022
154 #define  B460800  00023
155 #define  B500000  00024
156 #define  B576000  00025
157 #define  B921600  00026
158 #define  B1000000 00027
159 #define  B1152000 00030
160 #define  B1500000 00031
161 #define  B2000000 00032
162 #define  B2500000 00033
163 #define  B3000000 00034
164 #define  B3500000 00035
165 #define  B4000000 00036
166 #define __MAX_BAUD B4000000
167
168 #define CSIZE   00001400
169 #define   CS5   00000000
170 #define   CS6   00000400
171 #define   CS7   00001000
172 #define   CS8   00001400
173
174 #define CSTOPB  00002000
175 #define CREAD   00004000
176 #define PARENB  00010000
177 #define PARODD  00020000
178 #define HUPCL   00040000
179
180 #define CLOCAL  00100000
181 #ifdef __USE_MISC
182 # define CMSPAR   010000000000          /* mark or space (stick) parity */
183 # define CRTSCTS  020000000000          /* flow control */
184 #endif
185
186 /* c_lflag bits */
187 #define ISIG    0x00000080
188 #define ICANON  0x00000100
189 #if defined __USE_MISC || defined __USE_XOPEN
190 # define XCASE  0x00004000
191 #endif
192 #define ECHO    0x00000008
193 #define ECHOE   0x00000002
194 #define ECHOK   0x00000004
195 #define ECHONL  0x00000010
196 #define NOFLSH  0x80000000
197 #define TOSTOP  0x00400000
198 #ifdef __USE_MISC
199 # define ECHOCTL        0x00000040
200 # define ECHOPRT        0x00000020
201 # define ECHOKE 0x00000001
202 # define FLUSHO 0x00800000
203 # define PENDIN 0x20000000
204 #endif
205 #define IEXTEN  0x00000400
206
207 /* Values for the ACTION argument to `tcflow'.  */
208 #define TCOOFF          0
209 #define TCOON           1
210 #define TCIOFF          2
211 #define TCION           3
212
213 /* Values for the QUEUE_SELECTOR argument to `tcflush'.  */
214 #define TCIFLUSH        0
215 #define TCOFLUSH        1
216 #define TCIOFLUSH       2
217
218 /* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
219 #define TCSANOW         0
220 #define TCSADRAIN       1
221 #define TCSAFLUSH       2
222
223 struct sgttyb {
224         char    sg_ispeed;
225         char    sg_ospeed;
226         char    sg_erase;
227         char    sg_kill;
228         short   sg_flags;
229 };
230
231 struct tchars {
232         char    t_intrc;
233         char    t_quitc;
234         char    t_startc;
235         char    t_stopc;
236         char    t_eofc;
237         char    t_brkc;
238 };
239
240 struct ltchars {
241         char    t_suspc;
242         char    t_dsuspc;
243         char    t_rprntc;
244         char    t_flushc;
245         char    t_werasc;
246         char    t_lnextc;
247 };
248
249 /* Used for packet mode */
250 #define TIOCPKT_DATA             0
251 #define TIOCPKT_FLUSHREAD        1
252 #define TIOCPKT_FLUSHWRITE       2
253 #define TIOCPKT_STOP             4
254 #define TIOCPKT_START            8
255 #define TIOCPKT_NOSTOP          16
256 #define TIOCPKT_DOSTOP          32
257
258 struct winsize {
259         unsigned short ws_row;
260         unsigned short ws_col;
261         unsigned short ws_xpixel;
262         unsigned short ws_ypixel;
263 };
264
265 #define NCC 10
266 struct termio {
267         unsigned short c_iflag;         /* input mode flags */
268         unsigned short c_oflag;         /* output mode flags */
269         unsigned short c_cflag;         /* control mode flags */
270         unsigned short c_lflag;         /* local mode flags */
271         unsigned char c_line;           /* line discipline */
272         unsigned char c_cc[NCC];        /* control characters */
273 };
274
275 /* c_cc characters */
276 #define _VINTR  0
277 #define _VQUIT  1
278 #define _VERASE 2
279 #define _VKILL  3
280 #define _VEOF   4
281 #define _VMIN   5
282 #define _VEOL   6
283 #define _VTIME  7
284 #define _VEOL2  8
285 #define _VSWTC  9
286
287 /* modem lines */
288 #define TIOCM_LE        0x001
289 #define TIOCM_DTR       0x002
290 #define TIOCM_RTS       0x004
291 #define TIOCM_ST        0x008
292 #define TIOCM_SR        0x010
293 #define TIOCM_CTS       0x020
294 #define TIOCM_CAR       0x040
295 #define TIOCM_RNG       0x080
296 #define TIOCM_DSR       0x100
297 #define TIOCM_CD        TIOCM_CAR
298 #define TIOCM_RI        TIOCM_RNG
299
300 /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
301 #define TIOCSER_TEMT    0x01    /* Transmitter physically empty */
302
303 /* line disciplines */
304 #define N_TTY           0
305 #define N_SLIP          1
306 #define N_MOUSE         2
307 #define N_PPP           3
308 #define N_STRIP         4
309 #define N_AX25          5
310 #define N_X25           6       /* X.25 async  */
311 #define N_6PACK         7
312 #define N_MASC          8       /* Mobitex module  */
313 #define N_R3964         9       /* Simatic R3964 module  */
314 #define N_PROFIBUS_FDL  10      /* Profibus  */
315 #define N_IRDA          11      /* Linux IR  */
316 #define N_SMSBLOCK      12      /* SMS block mode  */
317 #define N_HDLC          13      /* synchronous HDLC  */
318 #define N_SYNC_PPP      14      /* synchronous PPP  */
319 #define N_HCI           15      /* Bluetooth HCI UART  */