blob: 124f71d20196c0ea74ccca054953cc199bad8000 [file] [log] [blame]
Rich Felkerbefa5862016-07-03 14:40:11 -04001struct termios {
Szabolcs Nagy01ef3dd2015-03-10 21:18:41 +00002 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
Rich Felkereb5ae942018-03-10 18:08:02 -050054#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE)
Szabolcs Nagy01ef3dd2015-03-10 21:18:41 +000055#define NLDLY 0000400
56#define NL0 0000000
57#define NL1 0000400
58#define CRDLY 0003000
59#define CR0 0000000
60#define CR1 0001000
61#define CR2 0002000
62#define CR3 0003000
63#define TABDLY 0014000
64#define TAB0 0000000
65#define TAB1 0004000
66#define TAB2 0010000
67#define TAB3 0014000
68#define BSDLY 0020000
69#define BS0 0000000
70#define BS1 0020000
71#define FFDLY 0100000
72#define FF0 0000000
73#define FF1 0100000
Rich Felkereb5ae942018-03-10 18:08:02 -050074#endif
Szabolcs Nagy01ef3dd2015-03-10 21:18:41 +000075
76#define VTDLY 0040000
77#define VT0 0000000
78#define VT1 0040000
79
Szabolcs Nagy01ef3dd2015-03-10 21:18:41 +000080#define B0 0000000
81#define B50 0000001
82#define B75 0000002
83#define B110 0000003
84#define B134 0000004
85#define B150 0000005
86#define B200 0000006
87#define B300 0000007
88#define B600 0000010
89#define B1200 0000011
90#define B1800 0000012
91#define B2400 0000013
92#define B4800 0000014
93#define B9600 0000015
94#define B19200 0000016
95#define B38400 0000017
96
97#define B57600 0010001
98#define B115200 0010002
99#define B230400 0010003
100#define B460800 0010004
101#define B500000 0010005
102#define B576000 0010006
103#define B921600 0010007
104#define B1000000 0010010
105#define B1152000 0010011
106#define B1500000 0010012
107#define B2000000 0010013
108#define B2500000 0010014
109#define B3000000 0010015
110#define B3500000 0010016
111#define B4000000 0010017
112
Szabolcs Nagy01ef3dd2015-03-10 21:18:41 +0000113#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
Szabolcs Nagy01ef3dd2015-03-10 21:18:41 +0000125#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
Szabolcs Nagy01ef3dd2015-03-10 21:18:41 +0000135#define TCOOFF 0
136#define TCOON 1
137#define TCIOFF 2
138#define TCION 3
139
140#define TCIFLUSH 0
141#define TCOFLUSH 1
142#define TCIOFLUSH 2
143
144#define TCSANOW 0
145#define TCSADRAIN 1
146#define TCSAFLUSH 2
Felix Jandab291e7c2015-09-13 23:12:48 +0200147
148#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
Szabolcs Nagy2e128572016-07-03 17:07:56 +0200149#define EXTA 0000016
150#define EXTB 0000017
151#define CBAUD 0010017
Felix Jandab291e7c2015-09-13 23:12:48 +0200152#define CBAUDEX 0010000
Szabolcs Nagy2e128572016-07-03 17:07:56 +0200153#define CIBAUD 002003600000
154#define CMSPAR 010000000000
155#define CRTSCTS 020000000000
156
157#define XCASE 0000004
158#define ECHOCTL 0001000
159#define ECHOPRT 0002000
160#define ECHOKE 0004000
161#define FLUSHO 0010000
162#define PENDIN 0040000
Felix Jandab291e7c2015-09-13 23:12:48 +0200163#define EXTPROC 0200000
Szabolcs Nagy2e128572016-07-03 17:07:56 +0200164
Felix Jandab291e7c2015-09-13 23:12:48 +0200165#define XTABS 0014000
166#endif