1 #ifndef _LINUX_TERMIOS_H
2 #define _LINUX_TERMIOS_H
3
4 #include <linux/types.h>
5
6
7
8 #define TCGETS 0x5401
9 #define TCSETS 0x5402
10 #define TCSETSW 0x5403
11 #define TCSETSF 0x5404
12 #define TCGETA 0x5405
13 #define TCSETA 0x5406
14 #define TCSETAW 0x5407
15 #define TCSETAF 0x5408
16 #define TCSBRK 0x5409
17 #define TCXONC 0x540A
18 #define TCFLSH 0x540B
19 #define TIOCEXCL 0x540C
20 #define TIOCNXCL 0x540D
21 #define TIOCSCTTY 0x540E
22 #define TIOCGPGRP 0x540F
23 #define TIOCSPGRP 0x5410
24 #define TIOCOUTQ 0x5411
25 #define TIOCSTI 0x5412
26 #define TIOCGWINSZ 0x5413
27 #define TIOCSWINSZ 0x5414
28 #define TIOCMGET 0x5415
29 #define TIOCMBIS 0x5416
30 #define TIOCMBIC 0x5417
31 #define TIOCMSET 0x5418
32 #define TIOCGSOFTCAR 0x5419
33 #define TIOCSSOFTCAR 0x541A
34 #define FIONREAD 0x541B
35 #define TIOCINQ FIONREAD
36 #define TIOCLINUX 0x541C
37 #define TIOCCONS 0x541D
38 #define TIOCGSERIAL 0x541E
39 #define TIOCSSERIAL 0x541F
40 #define TIOCPKT 0x5420
41 #define FIONBIO 0x5421
42 #define TIOCNOTTY 0x5422
43 #define TIOCSETD 0x5423
44 #define TIOCGETD 0x5424
45 #define TCSBRKP 0x5425
46 #define TIOCTTYGSTRUCT 0x5426
47 #define FIONCLEX 0x5450
48 #define FIOCLEX 0x5451
49 #define FIOASYNC 0x5452
50 #define TIOCSERCONFIG 0x5453
51 #define TIOCSERGWILD 0x5454
52 #define TIOCSERSWILD 0x5455
53 #define TIOCGLCKTRMIOS 0x5456
54 #define TIOCSLCKTRMIOS 0x5457
55 #define TIOCSERGSTRUCT 0x5458
56 #define TIOCSERGETLSR 0x5459
57 #define TIOCSERGETMULTI 0x545A
58 #define TIOCSERSETMULTI 0x545B
59
60
61 #define TIOCPKT_DATA 0
62 #define TIOCPKT_FLUSHREAD 1
63 #define TIOCPKT_FLUSHWRITE 2
64 #define TIOCPKT_STOP 4
65 #define TIOCPKT_START 8
66 #define TIOCPKT_NOSTOP 16
67 #define TIOCPKT_DOSTOP 32
68
69 struct winsize {
70 unsigned short ws_row;
71 unsigned short ws_col;
72 unsigned short ws_xpixel;
73 unsigned short ws_ypixel;
74 };
75
76 #define NCC 8
77 struct termio {
78 unsigned short c_iflag;
79 unsigned short c_oflag;
80 unsigned short c_cflag;
81 unsigned short c_lflag;
82 unsigned char c_line;
83 unsigned char c_cc[NCC];
84 };
85
86 #define NCCS 19
87 struct termios {
88 tcflag_t c_iflag;
89 tcflag_t c_oflag;
90 tcflag_t c_cflag;
91 tcflag_t c_lflag;
92 cc_t c_line;
93 cc_t c_cc[NCCS];
94 };
95
96
97 #define VINTR 0
98 #define VQUIT 1
99 #define VERASE 2
100 #define VKILL 3
101 #define VEOF 4
102 #define VTIME 5
103 #define VMIN 6
104 #define VSWTC 7
105 #define VSTART 8
106 #define VSTOP 9
107 #define VSUSP 10
108 #define VEOL 11
109 #define VREPRINT 12
110 #define VDISCARD 13
111 #define VWERASE 14
112 #define VLNEXT 15
113 #define VEOL2 16
114
115
116 #define IGNBRK 0000001
117 #define BRKINT 0000002
118 #define IGNPAR 0000004
119 #define PARMRK 0000010
120 #define INPCK 0000020
121 #define ISTRIP 0000040
122 #define INLCR 0000100
123 #define IGNCR 0000200
124 #define ICRNL 0000400
125 #define IUCLC 0001000
126 #define IXON 0002000
127 #define IXANY 0004000
128 #define IXOFF 0010000
129 #define IMAXBEL 0020000
130
131
132 #define OPOST 0000001
133 #define OLCUC 0000002
134 #define ONLCR 0000004
135 #define OCRNL 0000010
136 #define ONOCR 0000020
137 #define ONLRET 0000040
138 #define OFILL 0000100
139 #define OFDEL 0000200
140 #define NLDLY 0000400
141 #define NL0 0000000
142 #define NL1 0000400
143 #define CRDLY 0003000
144 #define CR0 0000000
145 #define CR1 0001000
146 #define CR2 0002000
147 #define CR3 0003000
148 #define TABDLY 0014000
149 #define TAB0 0000000
150 #define TAB1 0004000
151 #define TAB2 0010000
152 #define TAB3 0014000
153 #define XTABS 0014000
154 #define BSDLY 0020000
155 #define BS0 0000000
156 #define BS1 0020000
157 #define VTDLY 0040000
158 #define VT0 0000000
159 #define VT1 0040000
160 #define FFDLY 0100000
161 #define FF0 0000000
162 #define FF1 0100000
163
164
165 #define CBAUD 0010017
166 #define B0 0000000
167 #define B50 0000001
168 #define B75 0000002
169 #define B110 0000003
170 #define B134 0000004
171 #define B150 0000005
172 #define B200 0000006
173 #define B300 0000007
174 #define B600 0000010
175 #define B1200 0000011
176 #define B1800 0000012
177 #define B2400 0000013
178 #define B4800 0000014
179 #define B9600 0000015
180 #define B19200 0000016
181 #define B38400 0000017
182 #define EXTA B19200
183 #define EXTB B38400
184 #define CSIZE 0000060
185 #define CS5 0000000
186 #define CS6 0000020
187 #define CS7 0000040
188 #define CS8 0000060
189 #define CSTOPB 0000100
190 #define CREAD 0000200
191 #define PARENB 0000400
192 #define PARODD 0001000
193 #define HUPCL 0002000
194 #define CLOCAL 0004000
195 #define CBAUDEX 0010000
196 #define B57600 0010001
197 #define B115200 0010002
198 #define B230400 0010003
199 #define CIBAUD 002003600000
200 #define CRTSCTS 020000000000
201
202
203 #define ISIG 0000001
204 #define ICANON 0000002
205 #define XCASE 0000004
206 #define ECHO 0000010
207 #define ECHOE 0000020
208 #define ECHOK 0000040
209 #define ECHONL 0000100
210 #define NOFLSH 0000200
211 #define TOSTOP 0000400
212 #define ECHOCTL 0001000
213 #define ECHOPRT 0002000
214 #define ECHOKE 0004000
215 #define FLUSHO 0010000
216 #define PENDIN 0040000
217 #define IEXTEN 0100000
218
219
220 #define TIOCM_LE 0x001
221 #define TIOCM_DTR 0x002
222 #define TIOCM_RTS 0x004
223 #define TIOCM_ST 0x008
224 #define TIOCM_SR 0x010
225 #define TIOCM_CTS 0x020
226 #define TIOCM_CAR 0x040
227 #define TIOCM_RNG 0x080
228 #define TIOCM_DSR 0x100
229 #define TIOCM_CD TIOCM_CAR
230 #define TIOCM_RI TIOCM_RNG
231
232
233 #define TIOCSER_TEMT 0x01
234
235
236
237 #define TCOOFF 0
238 #define TCOON 1
239 #define TCIOFF 2
240 #define TCION 3
241
242
243 #define TCIFLUSH 0
244 #define TCOFLUSH 1
245 #define TCIOFLUSH 2
246
247
248 #define TCSANOW 0
249 #define TCSADRAIN 1
250 #define TCSAFLUSH 2
251
252
253 #define N_TTY 0
254 #define N_SLIP 1
255 #define N_MOUSE 2
256 #define N_PPP 3
257
258 #endif