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