Merge branch 'vendor/TCSH'
[dragonfly.git] / sys / emulation / linux / linux_ioctl.h
1 /*
2  * Copyright (c) 1999 Marcel Moolenaar
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer 
10  *    in this position and unchanged.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  * 3. The name of the author may not be used to endorse or promote products
15  *    derived from this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  *
28  * $FreeBSD: src/sys/compat/linux/linux_ioctl.h,v 1.4.2.4 2003/05/01 20:16:09 anholt Exp $
29  * $DragonFly: src/sys/emulation/linux/linux_ioctl.h,v 1.6 2005/04/22 02:18:46 swildner Exp $
30  */
31
32 #ifndef _LINUX_IOCTL_H_
33 #define _LINUX_IOCTL_H_
34
35 /*
36  * direction flags
37  */
38 #define LINUX_IOC_VOID  0x00000000
39 #define LINUX_IOC_IN    0x40000000
40 #define LINUX_IOC_OUT   0x80000000
41 #define LINUX_IOC_INOUT (LINUX_IOC_IN | LINUX_IOC_OUT)
42 #define LINUX_IOC_DIRMASK   0xc0000000
43
44 /*
45  * disk
46  */
47 #define LINUX_BLKROSET          0x125d
48 #define LINUX_BLKROGET          0x125e
49 #define LINUX_BLKRRPART         0x125f
50 #define LINUX_BLKGETSIZE        0x1260
51 #define LINUX_BLKFLSBUF         0x1261
52 #define LINUX_BLKRASET          0x1262
53 #define LINUX_BLKRAGET          0x1263
54 #define LINUX_BLKFRASET         0x1264
55 #define LINUX_BLKFRAGET         0x1265
56 #define LINUX_BLKSECTSET        0x1266
57 #define LINUX_BLKSECTGET        0x1267
58 #define LINUX_BLKSSZGET         0x1268
59
60 #define LINUX_IOCTL_DISK_MIN    LINUX_BLKROSET
61 #define LINUX_IOCTL_DISK_MAX    LINUX_BLKSSZGET
62
63 /*
64  * hdio
65  */
66 #define LINUX_HDIO_GET_GEO      0x0301
67 #define LINUX_HDIO_GET_IDENTITY 0x030D  /* not yet implemented */
68 #define LINUX_HDIO_GET_GEO_BIG  0x0330
69
70 #define LINUX_IOCTL_HDIO_MIN    LINUX_HDIO_GET_GEO
71 #define LINUX_IOCTL_HDIO_MAX    LINUX_HDIO_GET_GEO_BIG
72
73 /*
74  * cdrom
75  */
76 #define LINUX_CDROMPAUSE                0x5301
77 #define LINUX_CDROMRESUME               0x5302
78 #define LINUX_CDROMPLAYMSF              0x5303
79 #define LINUX_CDROMPLAYTRKIND           0x5304
80 #define LINUX_CDROMREADTOCHDR           0x5305
81 #define LINUX_CDROMREADTOCENTRY         0x5306
82 #define LINUX_CDROMSTOP                 0x5307
83 #define LINUX_CDROMSTART                0x5308
84 #define LINUX_CDROMEJECT                0x5309
85 #define LINUX_CDROMVOLCTRL              0x530a
86 #define LINUX_CDROMSUBCHNL              0x530b
87 #define LINUX_CDROMREADMODE2            0x530c
88 #define LINUX_CDROMREADMODE1            0x530d
89 #define LINUX_CDROMREADAUDIO            0x530e
90 #define LINUX_CDROMEJECT_SW             0x530f
91 #define LINUX_CDROMMULTISESSION         0x5310
92 #define LINUX_CDROM_GET_UPC             0x5311
93 #define LINUX_CDROMRESET                0x5312
94 #define LINUX_CDROMVOLREAD              0x5313
95 #define LINUX_CDROMREADRAW              0x5314
96 #define LINUX_CDROMREADCOOKED           0x5315
97 #define LINUX_CDROMSEEK                 0x5316
98 #define LINUX_CDROMPLAYBLK              0x5317
99 #define LINUX_CDROMREADALL              0x5318
100 #define LINUX_CDROMCLOSETRAY            0x5319
101 #define LINUX_CDROMLOADFROMSLOT         0x531a
102 #define LINUX_CDROMGETSPINDOWN          0x531d
103 #define LINUX_CDROMSETSPINDOWN          0x531e
104 #define LINUX_CDROM_SET_OPTIONS         0x5320
105 #define LINUX_CDROM_CLEAR_OPTIONS       0x5321
106 #define LINUX_CDROM_SELECT_SPEED        0x5322
107 #define LINUX_CDROM_SELECT_DISC         0x5323
108 #define LINUX_CDROM_MEDIA_CHANGED       0x5325
109 #define LINUX_CDROM_DRIVE_STATUS        0x5326
110 #define LINUX_CDROM_DISC_STATUS         0x5327
111 #define LINUX_CDROM_CHANGER_NSLOTS      0x5328
112 #define LINUX_CDROM_LOCKDOOR            0x5329
113 #define LINUX_CDROM_DEBUG               0x5330
114 #define LINUX_CDROM_GET_CAPABILITY      0x5331
115 #define LINUX_CDROMAUDIOBUFSIZ          0x5382
116 #define LINUX_SCSI_GET_IDLUN            0x5382
117 #define LINUX_SCSI_GET_BUS_NUMBER       0x5386
118 #define LINUX_DVD_READ_STRUCT           0x5390
119 #define LINUX_DVD_WRITE_STRUCT          0x5391
120 #define LINUX_DVD_AUTH                  0x5392
121 #define LINUX_CDROM_SEND_PACKET         0x5393
122 #define LINUX_CDROM_NEXT_WRITABLE       0x5394
123 #define LINUX_CDROM_LAST_WRITTEN        0x5395
124
125 #define LINUX_IOCTL_CDROM_MIN   LINUX_CDROMPAUSE
126 #define LINUX_IOCTL_CDROM_MAX   LINUX_CDROM_LAST_WRITTEN
127
128 #define LINUX_CDROM_LBA         0x01
129 #define LINUX_CDROM_MSF         0x02
130
131 #define LINUX_DVD_LU_SEND_AGID          0
132 #define LINUX_DVD_HOST_SEND_CHALLENGE   1
133 #define LINUX_DVD_LU_SEND_KEY1          2
134 #define LINUX_DVD_LU_SEND_CHALLENGE     3
135 #define LINUX_DVD_HOST_SEND_KEY2        4
136 #define LINUX_DVD_AUTH_ESTABLISHED      5
137 #define LINUX_DVD_AUTH_FAILURE          6
138 #define LINUX_DVD_LU_SEND_TITLE_KEY     7
139 #define LINUX_DVD_LU_SEND_ASF           8
140 #define LINUX_DVD_INVALIDATE_AGID       9
141 #define LINUX_DVD_LU_SEND_RPC_STATE     10
142 #define LINUX_DVD_HOST_SEND_RPC_STATE   11
143
144 /*
145  * SG
146  */
147 #define LINUX_SG_SET_TIMEOUT            0x2201
148 #define LINUX_SG_GET_TIMEOUT            0x2202
149 #define LINUX_SG_EMULATED_HOST          0x2203
150 #define LINUX_SG_SET_TRANSFORM          0x2204
151 #define LINUX_SG_GET_TRANSFORM          0x2205
152 #define LINUX_SG_GET_COMMAND_Q          0x2270
153 #define LINUX_SG_SET_COMMAND_Q          0x2271
154 #define LINUX_SG_SET_RESERVED_SIZE      0x2275
155 #define LINUX_SG_GET_RESERVED_SIZE      0x2272
156 #define LINUX_SG_GET_SCSI_ID            0x2276
157 #define LINUX_SG_SET_FORCE_LOW_DMA      0x2279
158 #define LINUX_SG_GET_LOW_DMA            0x227a
159 #define LINUX_SG_SET_FORCE_PACK_ID      0x227b
160 #define LINUX_SG_GET_PACK_ID            0x227c
161 #define LINUX_SG_GET_NUM_WAITING        0x227d
162 #define LINUX_SG_SET_DEBUG              0x227e
163 #define LINUX_SG_GET_SG_TABLESIZE       0x227f
164 #define LINUX_SG_GET_VERSION_NUM        0x2282
165 #define LINUX_SG_NEXT_CMD_LEN           0x2283
166 #define LINUX_SG_SCSI_RESET             0x2284
167 #define LINUX_SG_IO                     0x2285
168 #define LINUX_SG_GET_REQUEST_TABLE      0x2286
169 #define LINUX_SG_SET_KEEP_ORPHAN        0x2287
170 #define LINUX_SG_GET_KEEP_ORPHAN        0x2288
171 #define LINUX_SG_GET_ACCESS_COUNT       0x2289
172
173 #define LINUX_IOCTL_SG_MIN      0x2200
174 #define LINUX_IOCTL_SG_MAX      0x22ff
175
176 /*
177  * VFAT
178  */
179 #define LINUX_VFAT_READDIR_BOTH 0x7201
180
181 #define LINUX_IOCTL_VFAT_MIN    LINUX_VFAT_READDIR_BOTH
182 #define LINUX_IOCTL_VFAT_MAX    LINUX_VFAT_READDIR_BOTH
183 /*
184  * console
185  */
186 #define LINUX_KIOCSOUND         0x4B2F
187 #define LINUX_KDMKTONE          0x4B30
188 #define LINUX_KDGETLED          0x4B31
189 #define LINUX_KDSETLED          0x4B32
190 #define LINUX_KDSETMODE         0x4B3A
191 #define LINUX_KDGETMODE         0x4B3B
192 #define LINUX_KDGKBMODE         0x4B44
193 #define LINUX_KDSKBMODE         0x4B45
194 #define LINUX_VT_OPENQRY        0x5600
195 #define LINUX_VT_GETMODE        0x5601
196 #define LINUX_VT_SETMODE        0x5602
197 #define LINUX_VT_GETSTATE       0x5603
198 #define LINUX_VT_RELDISP        0x5605
199 #define LINUX_VT_ACTIVATE       0x5606  
200 #define LINUX_VT_WAITACTIVE     0x5607
201
202 #define LINUX_IOCTL_CONSOLE_MIN LINUX_KIOCSOUND
203 #define LINUX_IOCTL_CONSOLE_MAX LINUX_VT_WAITACTIVE
204
205 #define LINUX_LED_SCR           0x01
206 #define LINUX_LED_NUM           0x02
207 #define LINUX_LED_CAP           0x04
208
209 #define LINUX_KD_TEXT           0x0
210 #define LINUX_KD_GRAPHICS       0x1
211 #define LINUX_KD_TEXT0          0x2
212 #define LINUX_KD_TEXT1          0x3
213
214 #define LINUX_KBD_RAW           0
215 #define LINUX_KBD_XLATE         1
216 #define LINUX_KBD_MEDIUMRAW     2
217
218 /*
219  * socket (http://lxr.oss.org.cn/source/include/linux/sockios.h)
220  */
221 #define LINUX_FIOSETOWN         0x8901
222 #define LINUX_SIOCSPGRP         0x8902
223 #define LINUX_FIOGETOWN         0x8903
224 #define LINUX_SIOCGPGRP         0x8904
225 #define LINUX_SIOCATMARK        0x8905
226 #define LINUX_SIOCGSTAMP        0x8906
227 #define LINUX_SIOCGIFCONF       0x8912
228 #define LINUX_SIOCGIFFLAGS      0x8913
229 #define LINUX_SIOCGIFADDR       0x8915
230 #define LINUX_SIOCSIFADDR       0x8916
231 #define LINUX_SIOCGIFDSTADDR    0x8917
232 #define LINUX_SIOCGIFBRDADDR    0x8919
233 #define LINUX_SIOCGIFNETMASK    0x891b
234 #define LINUX_SIOCSIFNETMASK    0x891c
235 #define LINUX_SIOCGIFMETRIC     0x891d          /* get metric                   */
236 #define LINUX_SIOCGIFMTU        0x8921
237 #define LINUX_SIOCSIFMTU        0x8922
238 #define LINUX_SIOCSIFNAME       0x8923
239 #define LINUX_SIOCSIFHWADDR     0x8924
240 #define LINUX_SIOCGIFHWADDR     0x8927
241 #define LINUX_SIOCADDMULTI      0x8931
242 #define LINUX_SIOCDELMULTI      0x8932
243 #define LINUX_SIOCGIFINDEX      0x8933          /* name -> if_index mapping     */
244 #define LINUX_SIOCGIFCOUNT      0x8938          /* get number of devices        */
245 #define LINUX_SIOCGIFTXQLEN     0x8942          /* Get the tx queue length      */
246 #define LINUX_SIOCGIFMAP        0x8970          /* Get device parameters        */
247
248
249 #define LINUX_IOCTL_SOCKET_MIN  LINUX_FIOSETOWN
250 #define LINUX_IOCTL_SOCKET_MAX  LINUX_SIOCGIFMAP
251
252 /*
253  * Device private ioctl calls 
254  */
255 #define LINUX_SIOCDEVPRIVATE    0x89F0  /* to 89FF */
256 #define LINUX_IOCTL_PRIVATE_MIN LINUX_SIOCDEVPRIVATE
257 #define LINUX_IOCTL_PRIVATE_MAX LINUX_SIOCDEVPRIVATE+0xf
258
259 /*
260  * sound
261  */
262 #define LINUX_SOUND_MIXER_WRITE_MIN     0x4d00
263 #define LINUX_SOUND_MIXER_WRITE_MAX     0x4d18
264 #define LINUX_OSS_GETVERSION            0x4d76
265 #define LINUX_SOUND_MIXER_READ_DEVMASK  0x4dfe
266 #define LINUX_SNDCTL_DSP_MIN            0x5000
267 #define LINUX_SNDCTL_DSP_MAX            0x5017
268 #define LINUX_SNDCTL_SEQ_MIN            0x5100
269 #define LINUX_SNDCTL_SEQ_MAX            0x5116
270
271 #define LINUX_IOCTL_SOUND_MIN   LINUX_SOUND_MIXER_WRITE_MIN
272 #define LINUX_IOCTL_SOUND_MAX   LINUX_SNDCTL_SEQ_MAX
273
274 /*
275  * termio
276  */
277 #define LINUX_TCGETS            0x5401
278 #define LINUX_TCSETS            0x5402
279 #define LINUX_TCSETSW           0x5403
280 #define LINUX_TCSETSF           0x5404
281 #define LINUX_TCGETA            0x5405
282 #define LINUX_TCSETA            0x5406
283 #define LINUX_TCSETAW           0x5407
284 #define LINUX_TCSETAF           0x5408
285 #define LINUX_TCSBRK            0x5409
286 #define LINUX_TCXONC            0x540A
287 #define LINUX_TCFLSH            0x540B
288
289 #define LINUX_TIOCEXCL          0x540C
290 #define LINUX_TIOCNXCL          0x540D
291 #define LINUX_TIOCSCTTY         0x540E
292
293 #define LINUX_TIOCGPGRP         0x540F
294 #define LINUX_TIOCSPGRP         0x5410
295
296 #define LINUX_TIOCOUTQ          0x5411
297 #define LINUX_TIOCSTI           0x5412
298
299 #define LINUX_TIOCGWINSZ        0x5413
300 #define LINUX_TIOCSWINSZ        0x5414
301
302 #define LINUX_TIOCMGET          0x5415
303 #define LINUX_TIOCMBIS          0x5416
304 #define LINUX_TIOCMBIC          0x5417
305 #define LINUX_TIOCMSET          0x5418
306 #define LINUX_TIOCGSOFTCAR      0x5419
307 #define LINUX_TIOCSSOFTCAR      0x541A
308
309 #define LINUX_FIONREAD          0x541B
310
311 #define LINUX_TIOCINQ           FIONREAD
312 #define LINUX_TIOCLINUX         0x541C
313 #define LINUX_TIOCCONS          0x541D
314 #define LINUX_TIOCGSERIAL       0x541E
315 #define LINUX_TIOCSSERIAL       0x541F
316 #define LINUX_TIOCPKT           0x5420
317
318 #define LINUX_FIONBIO           0x5421
319
320 #define LINUX_TIOCNOTTY         0x5422
321 #define LINUX_TIOCSETD          0x5423
322 #define LINUX_TIOCGETD          0x5424
323 #define LINUX_TCSBRKP           0x5425
324 #define LINUX_TIOCTTYGSTRUCT    0x5426
325
326 #define LINUX_FIONCLEX          0x5450
327 #define LINUX_FIOCLEX           0x5451
328 #define LINUX_FIOASYNC          0x5452
329
330 #define LINUX_TIOCSERCONFIG     0x5453
331 #define LINUX_TIOCSERGWILD      0x5454
332 #define LINUX_TIOCSERSWILD      0x5455
333 #define LINUX_TIOCGLCKTRMIOS    0x5456
334 #define LINUX_TIOCSLCKTRMIOS    0x5457
335
336 #define LINUX_IOCTL_TERMIO_MIN  LINUX_TCGETS
337 #define LINUX_IOCTL_TERMIO_MAX  LINUX_TIOCSLCKTRMIOS
338
339 /* arguments for tcflow() and LINUX_TCXONC */
340 #define LINUX_TCOOFF            0
341 #define LINUX_TCOON             1
342 #define LINUX_TCIOFF            2
343 #define LINUX_TCION             3
344
345 /* arguments for tcflush() and LINUX_TCFLSH */
346 #define LINUX_TCIFLUSH          0
347 #define LINUX_TCOFLUSH          1
348 #define LINUX_TCIOFLUSH         2
349
350 /* line disciplines */
351 #define LINUX_N_TTY             0
352 #define LINUX_N_SLIP            1
353 #define LINUX_N_MOUSE           2
354 #define LINUX_N_PPP             3
355
356 /* Linux termio c_cc values */
357 #define LINUX_VINTR             0
358 #define LINUX_VQUIT             1
359 #define LINUX_VERASE            2
360 #define LINUX_VKILL             3
361 #define LINUX_VEOF              4
362 #define LINUX_VTIME             5
363 #define LINUX_VMIN              6
364 #define LINUX_VSWTC             7
365 #define LINUX_NCC               8
366
367 /* Linux termios c_cc values. In addition to the termio values */
368 #define LINUX_VSTART            8
369 #define LINUX_VSTOP             9
370 #define LINUX_VSUSP             10
371 #define LINUX_VEOL              11
372 #define LINUX_VREPRINT          12
373 #define LINUX_VDISCARD          13
374 #define LINUX_VWERASE           14
375 #define LINUX_VLNEXT            15
376 #define LINUX_VEOL2             16
377 #define LINUX_NCCS              19
378
379 #define LINUX_POSIX_VDISABLE    '\0'
380
381 /* Linux c_iflag masks */
382 #define LINUX_IGNBRK            0x0000001
383 #define LINUX_BRKINT            0x0000002
384 #define LINUX_IGNPAR            0x0000004
385 #define LINUX_PARMRK            0x0000008
386 #define LINUX_INPCK             0x0000010
387 #define LINUX_ISTRIP            0x0000020
388 #define LINUX_INLCR             0x0000040
389 #define LINUX_IGNCR             0x0000080
390 #define LINUX_ICRNL             0x0000100
391
392 #define LINUX_IUCLC             0x0000200
393 #define LINUX_IXON              0x0000400
394 #define LINUX_IXANY             0x0000800
395 #define LINUX_IXOFF             0x0001000
396
397 #define LINUX_IMAXBEL           0x0002000
398
399 /* Linux c_oflag masks */
400 #define LINUX_OPOST             0x0000001
401
402 #define LINUX_OLCUC             0x0000002
403 #define LINUX_ONLCR             0x0000004
404
405 #define LINUX_OCRNL             0x0000008
406 #define LINUX_ONOCR             0x0000010
407 #define LINUX_ONLRET            0x0000020
408 #define LINUX_OFILL             0x0000040
409 #define LINUX_OFDEL             0x0000080
410
411 #define LINUX_NLDLY             0x0000100
412 #define LINUX_NL0               0x0000000
413 #define LINUX_NL1               0x0000100
414 #define LINUX_CRDLY             0x0000600
415 #define LINUX_CR0               0x0000000
416 #define LINUX_CR1               0x0000200
417 #define LINUX_CR2               0x0000400
418 #define LINUX_CR3               0x0000600
419 #define LINUX_TABDLY            0x0001800
420 #define LINUX_TAB0              0x0000000
421 #define LINUX_TAB1              0x0000800
422 #define LINUX_TAB2              0x0001000
423 #define LINUX_TAB3              0x0001800
424 #define LINUX_XTABS             0x0001800
425 #define LINUX_BSDLY             0x0002000
426 #define LINUX_BS0               0x0000000
427 #define LINUX_BS1               0x0002000
428 #define LINUX_VTDLY             0x0004000
429 #define LINUX_VT0               0x0000000
430 #define LINUX_VT1               0x0004000
431 #define LINUX_FFDLY             0x0008000
432 #define LINUX_FF0               0x0000000
433 #define LINUX_FF1               0x0008000
434
435 #define LINUX_CBAUD             0x0000100f
436
437 #define LINUX_B0                0x00000000
438 #define LINUX_B50               0x00000001
439 #define LINUX_B75               0x00000002
440 #define LINUX_B110              0x00000003
441 #define LINUX_B134              0x00000004
442 #define LINUX_B150              0x00000005
443 #define LINUX_B200              0x00000006
444 #define LINUX_B300              0x00000007
445 #define LINUX_B600              0x00000008
446 #define LINUX_B1200             0x00000009
447 #define LINUX_B1800             0x0000000a
448 #define LINUX_B2400             0x0000000b
449 #define LINUX_B4800             0x0000000c
450 #define LINUX_B9600             0x0000000d
451 #define LINUX_B19200            0x0000000e
452 #define LINUX_B38400            0x0000000f
453 #define LINUX_EXTA              LINUX_B19200
454 #define LINUX_EXTB              LINUX_B38400
455
456 #define LINUX_CBAUDEX           0x00001000
457 #define LINUX_B57600            0x00001001
458 #define LINUX_B115200           0x00001002
459
460 #define LINUX_CSIZE             0x00000030
461 #define LINUX_CS5               0x00000000
462 #define LINUX_CS6               0x00000010
463 #define LINUX_CS7               0x00000020
464 #define LINUX_CS8               0x00000030
465 #define LINUX_CSTOPB            0x00000040
466 #define LINUX_CREAD             0x00000080
467 #define LINUX_PARENB            0x00000100
468 #define LINUX_PARODD            0x00000200
469 #define LINUX_HUPCL             0x00000400
470 #define LINUX_CLOCAL            0x00000800
471
472 #define LINUX_CRTSCTS           0x80000000
473
474 /* Linux c_lflag masks */
475 #define LINUX_ISIG              0x00000001
476 #define LINUX_ICANON            0x00000002
477 #define LINUX_XCASE             0x00000004
478 #define LINUX_ECHO              0x00000008
479 #define LINUX_ECHOE             0x00000010
480 #define LINUX_ECHOK             0x00000020
481 #define LINUX_ECHONL            0x00000040
482 #define LINUX_NOFLSH            0x00000080
483 #define LINUX_TOSTOP            0x00000100
484 #define LINUX_ECHOCTL           0x00000200
485 #define LINUX_ECHOPRT           0x00000400
486 #define LINUX_ECHOKE            0x00000800
487 #define LINUX_FLUSHO            0x00001000
488 #define LINUX_PENDIN            0x00002000
489 #define LINUX_IEXTEN            0x00008000
490
491 /* serial_struct values for TIOC[GS]SERIAL ioctls */
492 #define LINUX_ASYNC_CLOSING_WAIT_INF  0
493 #define LINUX_ASYNC_CLOSING_WAIT_NONE 65535
494
495 #define LINUX_PORT_UNKNOWN      0
496 #define LINUX_PORT_8250         1
497 #define LINUX_PORT_16450        2
498 #define LINUX_PORT_16550        3
499 #define LINUX_PORT_16550A       4
500 #define LINUX_PORT_CIRRUS       5
501 #define LINUX_PORT_16650        6
502
503 #define LINUX_PORT_MAX          6
504
505 #define LINUX_ASYNC_HUP_NOTIFY          0x0001
506 #define LINUX_ASYNC_FOURPORT            0x0002
507 #define LINUX_ASYNC_SAK                 0x0004
508 #define LINUX_ASYNC_SPLIT_TERMIOS       0x0008
509 #define LINUX_ASYNC_SPD_MASK            0x0030
510 #define LINUX_ASYNC_SPD_HI              0x0010
511 #define LINUX_ASYNC_SPD_VHI             0x0020
512 #define LINUX_ASYNC_SPD_CUST            0x0030
513 #define LINUX_ASYNC_SKIP_TEST           0x0040
514 #define LINUX_ASYNC_AUTO_IRQ            0x0080
515 #define LINUX_ASYNC_SESSION_LOCKOUT     0x0100
516 #define LINUX_ASYNC_PGRP_LOCKOUT        0x0200
517 #define LINUX_ASYNC_CALLOUT_NOHUP       0x0400
518 #define LINUX_ASYNC_FLAGS               0x0FFF
519
520 /*
521  * This doesn't really belong here, but I can't think of a better
522  * place to put it.
523  */
524 struct ifnet;
525 int              linux_ifname(struct ifnet *, char *, size_t);
526 u_long           linux_gen_dirmap(u_long, u_long, u_long, u_long, u_long, u_long);
527
528 #endif /* !_LINUX_IOCTL_H_ */