1struct termios {
2    tcflag_t c_iflag;
3    tcflag_t c_oflag;
4    tcflag_t c_cflag;
5    tcflag_t c_lflag;
6    cc_t c_line;
7    cc_t c_cc[NCCS];
8    speed_t __c_ispeed;
9    speed_t __c_ospeed;
10};
11
12#define VINTR 0
13#define VQUIT 1
14#define VERASE 2
15#define VKILL 3
16#define VEOF 4
17#define VTIME 5
18#define VMIN 6
19#define VSWTC 7
20#define VSTART 8
21#define VSTOP 9
22#define VSUSP 10
23#define VEOL 11
24#define VREPRINT 12
25#define VDISCARD 13
26#define VWERASE 14
27#define VLNEXT 15
28#define VEOL2 16
29
30#define IGNBRK 0000001
31#define BRKINT 0000002
32#define IGNPAR 0000004
33#define PARMRK 0000010
34#define INPCK 0000020
35#define ISTRIP 0000040
36#define INLCR 0000100
37#define IGNCR 0000200
38#define ICRNL 0000400
39#define IUCLC 0001000
40#define IXON 0002000
41#define IXANY 0004000
42#define IXOFF 0010000
43#define IMAXBEL 0020000
44#define IUTF8 0040000
45
46#define OPOST 0000001
47#define OLCUC 0000002
48#define ONLCR 0000004
49#define OCRNL 0000010
50#define ONOCR 0000020
51#define ONLRET 0000040
52#define OFILL 0000100
53#define OFDEL 0000200
54#define NLDLY 0000400
55#define NL0 0000000
56#define NL1 0000400
57#define CRDLY 0003000
58#define CR0 0000000
59#define CR1 0001000
60#define CR2 0002000
61#define CR3 0003000
62#define TABDLY 0014000
63#define TAB0 0000000
64#define TAB1 0004000
65#define TAB2 0010000
66#define TAB3 0014000
67#define BSDLY 0020000
68#define BS0 0000000
69#define BS1 0020000
70#define FFDLY 0100000
71#define FF0 0000000
72#define FF1 0100000
73
74#define VTDLY 0040000
75#define VT0 0000000
76#define VT1 0040000
77
78#define B0 0000000
79#define B50 0000001
80#define B75 0000002
81#define B110 0000003
82#define B134 0000004
83#define B150 0000005
84#define B200 0000006
85#define B300 0000007
86#define B600 0000010
87#define B1200 0000011
88#define B1800 0000012
89#define B2400 0000013
90#define B4800 0000014
91#define B9600 0000015
92#define B19200 0000016
93#define B38400 0000017
94
95#define B57600 0010001
96#define B115200 0010002
97#define B230400 0010003
98#define B460800 0010004
99#define B500000 0010005
100#define B576000 0010006
101#define B921600 0010007
102#define B1000000 0010010
103#define B1152000 0010011
104#define B1500000 0010012
105#define B2000000 0010013
106#define B2500000 0010014
107#define B3000000 0010015
108#define B3500000 0010016
109#define B4000000 0010017
110
111#define CBAUD 0010017
112
113#define CSIZE 0000060
114#define CS5 0000000
115#define CS6 0000020
116#define CS7 0000040
117#define CS8 0000060
118#define CSTOPB 0000100
119#define CREAD 0000200
120#define PARENB 0000400
121#define PARODD 0001000
122#define HUPCL 0002000
123#define CLOCAL 0004000
124
125#define ISIG 0000001
126#define ICANON 0000002
127#define ECHO 0000010
128#define ECHOE 0000020
129#define ECHOK 0000040
130#define ECHONL 0000100
131#define NOFLSH 0000200
132#define TOSTOP 0000400
133#define IEXTEN 0100000
134
135#define ECHOCTL 0001000
136#define ECHOPRT 0002000
137#define ECHOKE 0004000
138#define FLUSHO 0010000
139#define PENDIN 0040000
140
141#define TCOOFF 0
142#define TCOON 1
143#define TCIOFF 2
144#define TCION 3
145
146#define TCIFLUSH 0
147#define TCOFLUSH 1
148#define TCIOFLUSH 2
149
150#define TCSANOW 0
151#define TCSADRAIN 1
152#define TCSAFLUSH 2
153
154#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
155#define CBAUDEX 0010000
156#define CRTSCTS 020000000000
157#define EXTPROC 0200000
158#define XTABS 0014000
159#endif
160