1 |
1633 |
jcastillo |
#ifndef __ASM_MIPS_IOCTLS_H
|
2 |
|
|
#define __ASM_MIPS_IOCTLS_H
|
3 |
|
|
|
4 |
|
|
#include <asm/ioctl.h>
|
5 |
|
|
|
6 |
|
|
#define TCGETA 0x5401
|
7 |
|
|
#define TCSETA 0x5402
|
8 |
|
|
#define TCSETAW 0x5403
|
9 |
|
|
#define TCSETAF 0x5404
|
10 |
|
|
|
11 |
|
|
#define TCSBRK 0x5405
|
12 |
|
|
#define TCXONC 0x5406
|
13 |
|
|
#define TCFLSH 0x5407
|
14 |
|
|
|
15 |
|
|
#define TCGETS 0x540d
|
16 |
|
|
#define TCSETS 0x540e
|
17 |
|
|
#define TCSETSW 0x540f
|
18 |
|
|
#define TCSETSF 0x5410
|
19 |
|
|
|
20 |
|
|
#define TIOCEXCL 0x740d /* set exclusive use of tty */
|
21 |
|
|
#define TIOCNXCL 0x740e /* reset exclusive use of tty */
|
22 |
|
|
#define TIOCOUTQ 0x7472 /* output queue size */
|
23 |
|
|
#define TIOCSTI 0x5472 /* simulate terminal input */
|
24 |
|
|
#define TIOCMGET 0x741d /* get all modem bits */
|
25 |
|
|
#define TIOCMBIS 0x741b /* bis modem bits */
|
26 |
|
|
#define TIOCMBIC 0x741c /* bic modem bits */
|
27 |
|
|
#define TIOCMSET 0x741a /* set all modem bits */
|
28 |
|
|
#define TIOCPKT 0x5470 /* pty: set/clear packet mode */
|
29 |
|
|
#define TIOCPKT_DATA 0x00 /* data packet */
|
30 |
|
|
#define TIOCPKT_FLUSHREAD 0x01 /* flush packet */
|
31 |
|
|
#define TIOCPKT_FLUSHWRITE 0x02 /* flush packet */
|
32 |
|
|
#define TIOCPKT_STOP 0x04 /* stop output */
|
33 |
|
|
#define TIOCPKT_START 0x08 /* start output */
|
34 |
|
|
#define TIOCPKT_NOSTOP 0x10 /* no more ^S, ^Q */
|
35 |
|
|
#define TIOCPKT_DOSTOP 0x20 /* now do ^S ^Q */
|
36 |
|
|
#if 0
|
37 |
|
|
#define TIOCPKT_IOCTL 0x40 /* state change of pty driver */
|
38 |
|
|
#endif
|
39 |
|
|
#define TIOCSWINSZ _IOW('t', 103, struct winsize) /* set window size */
|
40 |
|
|
#define TIOCGWINSZ _IOR('t', 104, struct winsize) /* get window size */
|
41 |
|
|
#define TIOCNOTTY 0x5471 /* void tty association */
|
42 |
|
|
#define TIOCSETD 0x7401
|
43 |
|
|
#define TIOCGETD 0x7400
|
44 |
|
|
|
45 |
|
|
#define FIOCLEX 0x6601
|
46 |
|
|
#define FIONCLEX 0x6602 /* these numbers need to be adjusted. */
|
47 |
|
|
#define FIOASYNC 0x667d
|
48 |
|
|
#define FIONBIO 0x667e
|
49 |
|
|
|
50 |
|
|
/* 116-117 compat */
|
51 |
|
|
#define TIOCSPGRP _IOW('t', 118, int) /* set pgrp of tty */
|
52 |
|
|
#define TIOCGPGRP _IOR('t', 119, int) /* get pgrp of tty */
|
53 |
|
|
#define TIOCCONS _IOW('t', 120, int) /* become virtual console */
|
54 |
|
|
|
55 |
|
|
#define FIONREAD 0x467f
|
56 |
|
|
#define TIOCINQ FIONREAD
|
57 |
|
|
|
58 |
|
|
#if 0
|
59 |
|
|
#define TIOCSETA _IOW('t', 20, struct termios) /* set termios struct */
|
60 |
|
|
#define TIOCSETAW _IOW('t', 21, struct termios) /* drain output, set */
|
61 |
|
|
#define TIOCSETAF _IOW('t', 22, struct termios) /* drn out, fls in, set */
|
62 |
|
|
#define TIOCGETD _IOR('t', 26, int) /* get line discipline */
|
63 |
|
|
#define TIOCSETD _IOW('t', 27, int) /* set line discipline */
|
64 |
|
|
/* 127-124 compat */
|
65 |
|
|
#endif
|
66 |
|
|
|
67 |
|
|
/* I hope the range from 0x5480 on is free ... */
|
68 |
|
|
#define TIOCSCTTY 0x5480 /* become controlling tty */
|
69 |
|
|
#define TIOCGSOFTCAR 0x5481
|
70 |
|
|
#define TIOCSSOFTCAR 0x5482
|
71 |
|
|
#define TIOCLINUX 0x5483
|
72 |
|
|
#define TIOCGSERIAL 0x5484
|
73 |
|
|
#define TIOCSSERIAL 0x5485
|
74 |
|
|
|
75 |
|
|
#define TCSBRKP 0x5486 /* Needed for POSIX tcsendbreak() */
|
76 |
|
|
#define TIOCTTYGSTRUCT 0x5487 /* For debugging only */
|
77 |
|
|
|
78 |
|
|
#define TIOCSERCONFIG 0x5488
|
79 |
|
|
#define TIOCSERGWILD 0x5489
|
80 |
|
|
#define TIOCSERSWILD 0x548a
|
81 |
|
|
#define TIOCGLCKTRMIOS 0x548b
|
82 |
|
|
#define TIOCSLCKTRMIOS 0x548c
|
83 |
|
|
#define TIOCSERGSTRUCT 0x548d /* For debugging only */
|
84 |
|
|
#define TIOCSERGETLSR 0x548e /* Get line status register */
|
85 |
|
|
#define TIOCSERGETMULTI 0x548f /* Get multiport config */
|
86 |
|
|
#define TIOCSERSETMULTI 0x5490 /* Set multiport config */
|
87 |
|
|
|
88 |
|
|
/* ----------------------------------------------------------------------- */
|
89 |
|
|
|
90 |
|
|
/* c_cc characters */
|
91 |
|
|
#define VINTR 0 /* Interrupt character [ISIG]. */
|
92 |
|
|
#define VQUIT 1 /* Quit character [ISIG]. */
|
93 |
|
|
#define VERASE 2 /* Erase character [ICANON]. */
|
94 |
|
|
#define VKILL 3 /* Kill-line character [ICANON]. */
|
95 |
|
|
#define VEOF 4 /* End-of-file character [ICANON]. */
|
96 |
|
|
#define VMIN VEOF /* Minimum number of bytes read at once [!ICANON]. */
|
97 |
|
|
#define VEOL 5 /* End-of-line character [ICANON]. */
|
98 |
|
|
#define VTIME VEOL /* Time-out value (tenths of a second) [!ICANON]. */
|
99 |
|
|
#if defined (__USE_BSD) || defined (__KERNEL__)
|
100 |
|
|
#define VEOL2 6 /* Second EOL character [ICANON]. */
|
101 |
|
|
/* The next two are guesses ... */
|
102 |
|
|
#define VSWTC 7 /* ??? */
|
103 |
|
|
#endif
|
104 |
|
|
#define VSWTCH VSWTC
|
105 |
|
|
#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */
|
106 |
|
|
#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */
|
107 |
|
|
#define VSUSP 10 /* Suspend character [ISIG]. */
|
108 |
|
|
#if 0
|
109 |
|
|
/*
|
110 |
|
|
* VDSUSP is not supported
|
111 |
|
|
*/
|
112 |
|
|
#if defined (__USE_BSD) || defined (__KERNEL__)
|
113 |
|
|
#define VDSUSP 11 /* Delayed suspend character [ISIG]. */
|
114 |
|
|
#endif
|
115 |
|
|
#endif
|
116 |
|
|
#if defined (__USE_BSD) || defined (__KERNEL__)
|
117 |
|
|
#define VREPRINT 12 /* Reprint-line character [ICANON]. */
|
118 |
|
|
#endif
|
119 |
|
|
#if defined (__USE_BSD) || defined (__KERNEL__)
|
120 |
|
|
#define VDISCARD 13 /* Discard character [IEXTEN]. */
|
121 |
|
|
#define VWERASE 14 /* Word-erase character [ICANON]. */
|
122 |
|
|
#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
|
123 |
|
|
#endif
|
124 |
|
|
/*
|
125 |
|
|
* 17 - 19 are reserved
|
126 |
|
|
*/
|
127 |
|
|
|
128 |
|
|
#ifdef __KERNEL__
|
129 |
|
|
/*
|
130 |
|
|
* intr=^C quit=^| erase=del kill=^U
|
131 |
|
|
* eof=^D eol=time=\0 eol2=\0 swtc=\0
|
132 |
|
|
* start=^Q stop=^S susp=^Z vdsusp=
|
133 |
|
|
* reprint=^R discard=^U werase=^W lnext=^V
|
134 |
|
|
*/
|
135 |
|
|
#define INIT_C_CC "\003\034\177\025\004\0\0\0\021\023\032\0\022\017\027\026"
|
136 |
|
|
#endif
|
137 |
|
|
|
138 |
|
|
/* c_iflag bits */
|
139 |
|
|
#define IGNBRK 0000001 /* Ignore break condition. */
|
140 |
|
|
#define BRKINT 0000002 /* Signal interrupt on break. */
|
141 |
|
|
#define IGNPAR 0000004 /* Ignore characters with parity errors. */
|
142 |
|
|
#define PARMRK 0000010 /* Mark parity and framing errors. */
|
143 |
|
|
#define INPCK 0000020 /* Enable input parity check. */
|
144 |
|
|
#define ISTRIP 0000040 /* Strip 8th bit off characters. */
|
145 |
|
|
#define INLCR 0000100 /* Map NL to CR on input. */
|
146 |
|
|
#define IGNCR 0000200 /* Ignore CR. */
|
147 |
|
|
#define ICRNL 0000400 /* Map CR to NL on input. */
|
148 |
|
|
#if defined (__USE_BSD) || defined (__KERNEL__)
|
149 |
|
|
#define IUCLC 0001000 /* Map upper case to lower case on input. */
|
150 |
|
|
#endif
|
151 |
|
|
#define IXON 0002000 /* Enable start/stop output control. */
|
152 |
|
|
#if defined (__USE_BSD) || defined (__KERNEL__)
|
153 |
|
|
#define IXANY 0004000 /* Any character will restart after stop. */
|
154 |
|
|
#endif
|
155 |
|
|
#define IXOFF 0010000 /* Enable start/stop input control. */
|
156 |
|
|
#if defined (__USE_BSD) || defined (__KERNEL__)
|
157 |
|
|
#define IMAXBEL 0020000 /* Ring bell when input queue is full. */
|
158 |
|
|
#endif
|
159 |
|
|
|
160 |
|
|
/* c_oflag bits */
|
161 |
|
|
#define OPOST 0000001 /* Perform output processing. */
|
162 |
|
|
#if defined (__USE_BSD) || defined (__KERNEL__)
|
163 |
|
|
#define OLCUC 0000002 /* Map lower case to upper case on output. */
|
164 |
|
|
#define ONLCR 0000004 /* Map NL to CR-NL on output. */
|
165 |
|
|
#define OCRNL 0000010
|
166 |
|
|
#define ONOCR 0000020
|
167 |
|
|
#define ONLRET 0000040
|
168 |
|
|
#define OFILL 0000100
|
169 |
|
|
#define OFDEL 0000200
|
170 |
|
|
#define NLDLY 0000400
|
171 |
|
|
#define NL0 0000000
|
172 |
|
|
#define NL1 0000400
|
173 |
|
|
#define CRDLY 0003000
|
174 |
|
|
#define CR0 0000000
|
175 |
|
|
#define CR1 0001000
|
176 |
|
|
#define CR2 0002000
|
177 |
|
|
#define CR3 0003000
|
178 |
|
|
#define TABDLY 0014000
|
179 |
|
|
#define TAB0 0000000
|
180 |
|
|
#define TAB1 0004000
|
181 |
|
|
#define TAB2 0010000
|
182 |
|
|
#define TAB3 0014000
|
183 |
|
|
#define XTABS 0014000
|
184 |
|
|
#define BSDLY 0020000
|
185 |
|
|
#define BS0 0000000
|
186 |
|
|
#define BS1 0020000
|
187 |
|
|
#define VTDLY 0040000
|
188 |
|
|
#define VT0 0000000
|
189 |
|
|
#define VT1 0040000
|
190 |
|
|
#define FFDLY 0100000
|
191 |
|
|
#define FF0 0000000
|
192 |
|
|
#define FF1 0100000
|
193 |
|
|
/*
|
194 |
|
|
#define PAGEOUT ???
|
195 |
|
|
#define WRAP ???
|
196 |
|
|
*/
|
197 |
|
|
#endif
|
198 |
|
|
|
199 |
|
|
/* c_cflag bit meaning */
|
200 |
|
|
#define CBAUD 0010017
|
201 |
|
|
#define B0 0000000 /* hang up */
|
202 |
|
|
#define B50 0000001
|
203 |
|
|
#define B75 0000002
|
204 |
|
|
#define B110 0000003
|
205 |
|
|
#define B134 0000004
|
206 |
|
|
#define B150 0000005
|
207 |
|
|
#define B200 0000006
|
208 |
|
|
#define B300 0000007
|
209 |
|
|
#define B600 0000010
|
210 |
|
|
#define B1200 0000011
|
211 |
|
|
#define B1800 0000012
|
212 |
|
|
#define B2400 0000013
|
213 |
|
|
#define B4800 0000014
|
214 |
|
|
#define B9600 0000015
|
215 |
|
|
#define B19200 0000016
|
216 |
|
|
#define B38400 0000017
|
217 |
|
|
#define EXTA B19200
|
218 |
|
|
#define EXTB B38400
|
219 |
|
|
#define CSIZE 0000060 /* Number of bits per byte (mask). */
|
220 |
|
|
#define CS5 0000000 /* 5 bits per byte. */
|
221 |
|
|
#define CS6 0000020 /* 6 bits per byte. */
|
222 |
|
|
#define CS7 0000040 /* 7 bits per byte. */
|
223 |
|
|
#define CS8 0000060 /* 8 bits per byte. */
|
224 |
|
|
#define CSTOPB 0000100 /* Two stop bits instead of one. */
|
225 |
|
|
#define CREAD 0000200 /* Enable receiver. */
|
226 |
|
|
#define PARENB 0000400 /* Parity enable. */
|
227 |
|
|
#define PARODD 0001000 /* Odd parity instead of even. */
|
228 |
|
|
#define HUPCL 0002000 /* Hang up on last close. */
|
229 |
|
|
#define CLOCAL 0004000 /* Ignore modem status lines. */
|
230 |
|
|
#if defined (__USE_BSD) || defined (__KERNEL__)
|
231 |
|
|
#define CBAUDEX 0010000
|
232 |
|
|
#define B57600 0010001
|
233 |
|
|
#define B115200 0010002
|
234 |
|
|
#define B230400 0010003
|
235 |
|
|
#define B460800 0010004
|
236 |
|
|
#define CIBAUD 002003600000 /* input baud rate (not used) */
|
237 |
|
|
#define CRTSCTS 020000000000 /* flow control */
|
238 |
|
|
#endif
|
239 |
|
|
|
240 |
|
|
/* c_lflag bits */
|
241 |
|
|
#define ISIG 0000001 /* Enable signals. */
|
242 |
|
|
#define ICANON 0000002 /* Do erase and kill processing. */
|
243 |
|
|
#define XCASE 0000004
|
244 |
|
|
#define ECHO 0000010 /* Enable echo. */
|
245 |
|
|
#define ECHOE 0000020 /* Visual erase for ERASE. */
|
246 |
|
|
#define ECHOK 0000040 /* Echo NL after KILL. */
|
247 |
|
|
#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
|
248 |
|
|
#define NOFLSH 0000200 /* Disable flush after interrupt. */
|
249 |
|
|
#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */
|
250 |
|
|
#if defined (__USE_BSD) || defined (__KERNEL__)
|
251 |
|
|
#define ECHOCTL 0001000 /* Echo control characters as ^X. */
|
252 |
|
|
#define ECHOPRT 0002000 /* Hardcopy visual erase. */
|
253 |
|
|
#define ECHOKE 0004000 /* Visual erase for KILL. */
|
254 |
|
|
#endif
|
255 |
|
|
#define FLUSHO 0020000
|
256 |
|
|
#if defined (__USE_BSD) || defined (__KERNEL__)
|
257 |
|
|
#define PENDIN 0040000 /* Retype pending input (state). */
|
258 |
|
|
#endif
|
259 |
|
|
#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
|
260 |
|
|
#define ITOSTOP TOSTOP
|
261 |
|
|
|
262 |
|
|
/* modem lines */
|
263 |
|
|
#define TIOCM_LE 0x001 /* line enable */
|
264 |
|
|
#define TIOCM_DTR 0x002 /* data terminal ready */
|
265 |
|
|
#define TIOCM_RTS 0x004 /* request to send */
|
266 |
|
|
#define TIOCM_ST 0x010 /* secondary transmit */
|
267 |
|
|
#define TIOCM_SR 0x020 /* secondary receive */
|
268 |
|
|
#define TIOCM_CTS 0x040 /* clear to send */
|
269 |
|
|
#define TIOCM_CAR 0x100 /* carrier detect */
|
270 |
|
|
#define TIOCM_CD TIOCM_CAR
|
271 |
|
|
#define TIOCM_RNG 0x200 /* ring */
|
272 |
|
|
#define TIOCM_RI TIOCM_RNG
|
273 |
|
|
#define TIOCM_DSR 0x400 /* data set ready */
|
274 |
|
|
|
275 |
|
|
/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
|
276 |
|
|
#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
|
277 |
|
|
|
278 |
|
|
/* tcflow() and TCXONC use these */
|
279 |
|
|
#define TCOOFF 0 /* Suspend output. */
|
280 |
|
|
#define TCOON 1 /* Restart suspended output. */
|
281 |
|
|
#define TCIOFF 2 /* Send a STOP character. */
|
282 |
|
|
#define TCION 3 /* Send a START character. */
|
283 |
|
|
|
284 |
|
|
/* tcflush() and TCFLSH use these */
|
285 |
|
|
#define TCIFLUSH 0 /* Discard data received but not yet read. */
|
286 |
|
|
#define TCOFLUSH 1 /* Discard data written but not yet sent. */
|
287 |
|
|
#define TCIOFLUSH 2 /* Discard all pending data. */
|
288 |
|
|
|
289 |
|
|
/* tcsetattr uses these */
|
290 |
|
|
#define TCSANOW TCSETS /* Change immediately. */
|
291 |
|
|
#define TCSADRAIN TCSETSW /* Change when pending output is written. */
|
292 |
|
|
#define TCSAFLUSH TCSETSF /* Flush pending input before changing. */
|
293 |
|
|
|
294 |
|
|
/* line disciplines */
|
295 |
|
|
#define N_TTY 0
|
296 |
|
|
#define N_SLIP 1
|
297 |
|
|
#define N_MOUSE 2
|
298 |
|
|
#define N_PPP 3
|
299 |
|
|
|
300 |
|
|
#endif /* __ASM_MIPS_IOCTLS_H */
|