initial commit
[glibc.git] / sysdeps / unix / sysv / linux / bits / termios.h
1 /* termios type and macro definitions. Linux version.
2 Copyright (C) 1993-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
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 #include <bits/termios-struct.h>
28 #include <bits/termios-c_cc.h>
29 #include <bits/termios-c_iflag.h>
30 #include <bits/termios-c_oflag.h>
31
32 /* c_cflag bit meaning */
33 #define B0 0000000 /* hang up */
34 #define B50 0000001
35 #define B75 0000002
36 #define B110 0000003
37 #define B134 0000004
38 #define B150 0000005
39 #define B200 0000006
40 #define B300 0000007
41 #define B600 0000010
42 #define B1200 0000011
43 #define B1800 0000012
44 #define B2400 0000013
45 #define B4800 0000014
46 #define B9600 0000015
47 #define B19200 0000016
48 #define B38400 0000017
49 #ifdef __USE_MISC
50 # define EXTA B19200
51 # define EXTB B38400
52 #endif
53 #include <bits/termios-baud.h>
54
55 #include <bits/termios-c_cflag.h>
56 #include <bits/termios-c_lflag.h>
57
58 #ifdef __USE_MISC
59 /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
60 # define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
61 #endif
62
63 /* tcflow() and TCXONC use these */
64 #define TCOOFF 0
65 #define TCOON 1
66 #define TCIOFF 2
67 #define TCION 3
68
69 /* tcflush() and TCFLSH use these */
70 #define TCIFLUSH 0
71 #define TCOFLUSH 1
72 #define TCIOFLUSH 2
73
74 #include <bits/termios-tcflow.h>
75
76 #include <bits/termios-misc.h>