Kernel - Add scsi/scsi_sg linux-compatible SCSI pass through device
[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
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_SIOCGIFMTU        0x8921
236 #define LINUX_SIOCSIFMTU        0x8922
237 #define LINUX_SIOCSIFNAME       0x8923
238 #define LINUX_SIOCSIFHWADDR     0x8924
239 #define LINUX_SIOCGIFHWADDR     0x8927
240 #define LINUX_SIOCADDMULTI      0x8931
241 #define LINUX_SIOCDELMULTI      0x8932
242
243 #define LINUX_IOCTL_SOCKET_MIN  LINUX_FIOSETOWN
244 #define LINUX_IOCTL_SOCKET_MAX  LINUX_SIOCDELMULTI
245
246 /*
247  * Device private ioctl calls 
248  */
249 #define LINUX_SIOCDEVPRIVATE    0x89F0  /* to 89FF */
250 #define LINUX_IOCTL_PRIVATE_MIN LINUX_SIOCDEVPRIVATE
251 #define LINUX_IOCTL_PRIVATE_MAX LINUX_SIOCDEVPRIVATE+0xf
252
253 /*
254  * sound
255  */
256 #define LINUX_SOUND_MIXER_WRITE_MIN     0x4d00
257 #define LINUX_SOUND_MIXER_WRITE_MAX     0x4d18
258 #define LINUX_OSS_GETVERSION            0x4d76
259 #define LINUX_SOUND_MIXER_READ_DEVMASK  0x4dfe
260 #define LINUX_SNDCTL_DSP_MIN            0x5000
261 #define LINUX_SNDCTL_DSP_MAX            0x5017
262 #define LINUX_SNDCTL_SEQ_MIN            0x5100
263 #define LINUX_SNDCTL_SEQ_MAX            0x5116
264
265 #define LINUX_IOCTL_SOUND_MIN   LINUX_SOUND_MIXER_WRITE_MIN
266 #define LINUX_IOCTL_SOUND_MAX   LINUX_SNDCTL_SEQ_MAX
267
268 /*
269  * termio
270  */
271 #define LINUX_TCGETS            0x5401
272 #define LINUX_TCSETS            0x5402
273 #define LINUX_TCSETSW           0x5403
274 #define LINUX_TCSETSF           0x5404
275 #define LINUX_TCGETA            0x5405
276 #define LINUX_TCSETA            0x5406
277 #define LINUX_TCSETAW           0x5407
278 #define LINUX_TCSETAF           0x5408
279 #define LINUX_TCSBRK            0x5409
280 #define LINUX_TCXONC            0x540A
281 #define LINUX_TCFLSH            0x540B
282
283 #define LINUX_TIOCEXCL          0x540C
284 #define LINUX_TIOCNXCL          0x540D
285 #define LINUX_TIOCSCTTY         0x540E
286
287 #define LINUX_TIOCGPGRP         0x540F
288 #define LINUX_TIOCSPGRP         0x5410
289
290 #define LINUX_TIOCOUTQ          0x5411
291 #define LINUX_TIOCSTI           0x5412
292
293 #define LINUX_TIOCGWINSZ        0x5413
294 #define LINUX_TIOCSWINSZ        0x5414
295
296 #define LINUX_TIOCMGET          0x5415
297 #define LINUX_TIOCMBIS          0x5416
298 #define LINUX_TIOCMBIC          0x5417
299 #define LINUX_TIOCMSET          0x5418
300 #define LINUX_TIOCGSOFTCAR      0x5419
301 #define LINUX_TIOCSSOFTCAR      0x541A
302
303 #define LINUX_FIONREAD          0x541B
304
305 #define LINUX_TIOCINQ           FIONREAD
306 #define LINUX_TIOCLINUX         0x541C
307 #define LINUX_TIOCCONS          0x541D
308 #define LINUX_TIOCGSERIAL       0x541E
309 #define LINUX_TIOCSSERIAL       0x541F
310 #define LINUX_TIOCPKT           0x5420
311
312 #define LINUX_FIONBIO           0x5421
313
314 #define LINUX_TIOCNOTTY         0x5422
315 #define LINUX_TIOCSETD          0x5423
316 #define LINUX_TIOCGETD          0x5424
317 #define LINUX_TCSBRKP           0x5425
318 #define LINUX_TIOCTTYGSTRUCT    0x5426
319
320 #define LINUX_FIONCLEX          0x5450
321 #define LINUX_FIOCLEX           0x5451
322 #define LINUX_FIOASYNC          0x5452
323
324 #define LINUX_TIOCSERCONFIG     0x5453
325 #define LINUX_TIOCSERGWILD      0x5454
326 #define LINUX_TIOCSERSWILD      0x5455
327 #define LINUX_TIOCGLCKTRMIOS    0x5456
328 #define LINUX_TIOCSLCKTRMIOS    0x5457
329
330 #define LINUX_IOCTL_TERMIO_MIN  LINUX_TCGETS
331 #define LINUX_IOCTL_TERMIO_MAX  LINUX_TIOCSLCKTRMIOS
332
333 /* arguments for tcflow() and LINUX_TCXONC */
334 #define LINUX_TCOOFF            0
335 #define LINUX_TCOON             1
336 #define LINUX_TCIOFF            2
337 #define LINUX_TCION             3
338
339 /* arguments for tcflush() and LINUX_TCFLSH */
340 #define LINUX_TCIFLUSH          0
341 #define LINUX_TCOFLUSH          1
342 #define LINUX_TCIOFLUSH         2
343
344 /* line disciplines */
345 #define LINUX_N_TTY             0
346 #define LINUX_N_SLIP            1
347 #define LINUX_N_MOUSE           2
348 #define LINUX_N_PPP             3
349
350 /* Linux termio c_cc values */
351 #define LINUX_VINTR             0
352 #define LINUX_VQUIT             1
353 #define LINUX_VERASE            2
354 #define LINUX_VKILL             3
355 #define LINUX_VEOF              4
356 #define LINUX_VTIME             5
357 #define LINUX_VMIN              6
358 #define LINUX_VSWTC             7
359 #define LINUX_NCC               8
360
361 /* Linux termios c_cc values. In addition to the termio values */
362 #define LINUX_VSTART            8
363 #define LINUX_VSTOP             9
364 #define LINUX_VSUSP             10
365 #define LINUX_VEOL              11
366 #define LINUX_VREPRINT          12
367 #define LINUX_VDISCARD          13
368 #define LINUX_VWERASE           14
369 #define LINUX_VLNEXT            15
370 #define LINUX_VEOL2             16
371 #define LINUX_NCCS              19
372
373 #define LINUX_POSIX_VDISABLE    '\0'
374
375 /* Linux c_iflag masks */
376 #define LINUX_IGNBRK            0x0000001
377 #define LINUX_BRKINT            0x0000002
378 #define LINUX_IGNPAR            0x0000004
379 #define LINUX_PARMRK            0x0000008
380 #define LINUX_INPCK             0x0000010
381 #define LINUX_ISTRIP            0x0000020
382 #define LINUX_INLCR             0x0000040
383 #define LINUX_IGNCR             0x0000080
384 #define LINUX_ICRNL             0x0000100
385
386 #define LINUX_IUCLC             0x0000200
387 #define LINUX_IXON              0x0000400
388 #define LINUX_IXANY             0x0000800
389 #define LINUX_IXOFF             0x0001000
390
391 #define LINUX_IMAXBEL           0x0002000
392
393 /* Linux c_oflag masks */
394 #define LINUX_OPOST             0x0000001
395
396 #define LINUX_OLCUC             0x0000002
397 #define LINUX_ONLCR             0x0000004
398
399 #define LINUX_OCRNL             0x0000008
400 #define LINUX_ONOCR             0x0000010
401 #define LINUX_ONLRET            0x0000020
402 #define LINUX_OFILL             0x0000040
403 #define LINUX_OFDEL             0x0000080
404
405 #define LINUX_NLDLY             0x0000100
406 #define LINUX_NL0               0x0000000
407 #define LINUX_NL1               0x0000100
408 #define LINUX_CRDLY             0x0000600
409 #define LINUX_CR0               0x0000000
410 #define LINUX_CR1               0x0000200
411 #define LINUX_CR2               0x0000400
412 #define LINUX_CR3               0x0000600
413 #define LINUX_TABDLY            0x0001800
414 #define LINUX_TAB0              0x0000000
415 #define LINUX_TAB1              0x0000800
416 #define LINUX_TAB2              0x0001000
417 #define LINUX_TAB3              0x0001800
418 #define LINUX_XTABS             0x0001800
419 #define LINUX_BSDLY             0x0002000
420 #define LINUX_BS0               0x0000000
421 #define LINUX_BS1               0x0002000
422 #define LINUX_VTDLY             0x0004000
423 #define LINUX_VT0               0x0000000
424 #define LINUX_VT1               0x0004000
425 #define LINUX_FFDLY             0x0008000
426 #define LINUX_FF0               0x0000000
427 #define LINUX_FF1               0x0008000
428
429 #define LINUX_CBAUD             0x0000100f
430
431 #define LINUX_B0                0x00000000
432 #define LINUX_B50               0x00000001
433 #define LINUX_B75               0x00000002
434 #define LINUX_B110              0x00000003
435 #define LINUX_B134              0x00000004
436 #define LINUX_B150              0x00000005
437 #define LINUX_B200              0x00000006
438 #define LINUX_B300              0x00000007
439 #define LINUX_B600              0x00000008
440 #define LINUX_B1200             0x00000009
441 #define LINUX_B1800             0x0000000a
442 #define LINUX_B2400             0x0000000b
443 #define LINUX_B4800             0x0000000c
444 #define LINUX_B9600             0x0000000d
445 #define LINUX_B19200            0x0000000e
446 #define LINUX_B38400            0x0000000f
447 #define LINUX_EXTA              LINUX_B19200
448 #define LINUX_EXTB              LINUX_B38400
449
450 #define LINUX_CBAUDEX           0x00001000
451 #define LINUX_B57600            0x00001001
452 #define LINUX_B115200           0x00001002
453
454 #define LINUX_CSIZE             0x00000030
455 #define LINUX_CS5               0x00000000
456 #define LINUX_CS6               0x00000010
457 #define LINUX_CS7               0x00000020
458 #define LINUX_CS8               0x00000030
459 #define LINUX_CSTOPB            0x00000040
460 #define LINUX_CREAD             0x00000080
461 #define LINUX_PARENB            0x00000100
462 #define LINUX_PARODD            0x00000200
463 #define LINUX_HUPCL             0x00000400
464 #define LINUX_CLOCAL            0x00000800
465
466 #define LINUX_CRTSCTS           0x80000000
467
468 /* Linux c_lflag masks */
469 #define LINUX_ISIG              0x00000001
470 #define LINUX_ICANON            0x00000002
471 #define LINUX_XCASE             0x00000004
472 #define LINUX_ECHO              0x00000008
473 #define LINUX_ECHOE             0x00000010
474 #define LINUX_ECHOK             0x00000020
475 #define LINUX_ECHONL            0x00000040
476 #define LINUX_NOFLSH            0x00000080
477 #define LINUX_TOSTOP            0x00000100
478 #define LINUX_ECHOCTL           0x00000200
479 #define LINUX_ECHOPRT           0x00000400
480 #define LINUX_ECHOKE            0x00000800
481 #define LINUX_FLUSHO            0x00001000
482 #define LINUX_PENDIN            0x00002000
483 #define LINUX_IEXTEN            0x00008000
484
485 /* serial_struct values for TIOC[GS]SERIAL ioctls */
486 #define LINUX_ASYNC_CLOSING_WAIT_INF  0
487 #define LINUX_ASYNC_CLOSING_WAIT_NONE 65535
488
489 #define LINUX_PORT_UNKNOWN      0
490 #define LINUX_PORT_8250         1
491 #define LINUX_PORT_16450        2
492 #define LINUX_PORT_16550        3
493 #define LINUX_PORT_16550A       4
494 #define LINUX_PORT_CIRRUS       5
495 #define LINUX_PORT_16650        6
496
497 #define LINUX_PORT_MAX          6
498
499 #define LINUX_ASYNC_HUP_NOTIFY          0x0001
500 #define LINUX_ASYNC_FOURPORT            0x0002
501 #define LINUX_ASYNC_SAK                 0x0004
502 #define LINUX_ASYNC_SPLIT_TERMIOS       0x0008
503 #define LINUX_ASYNC_SPD_MASK            0x0030
504 #define LINUX_ASYNC_SPD_HI              0x0010
505 #define LINUX_ASYNC_SPD_VHI             0x0020
506 #define LINUX_ASYNC_SPD_CUST            0x0030
507 #define LINUX_ASYNC_SKIP_TEST           0x0040
508 #define LINUX_ASYNC_AUTO_IRQ            0x0080
509 #define LINUX_ASYNC_SESSION_LOCKOUT     0x0100
510 #define LINUX_ASYNC_PGRP_LOCKOUT        0x0200
511 #define LINUX_ASYNC_CALLOUT_NOHUP       0x0400
512 #define LINUX_ASYNC_FLAGS               0x0FFF
513
514 /*
515  * This doesn't really belong here, but I can't think of a better
516  * place to put it.
517  */
518 struct ifnet;
519 int              linux_ifname(struct ifnet *, char *, size_t);
520 u_long           linux_gen_dirmap(u_long, u_long, u_long, u_long, u_long, u_long);
521
522 #endif /* !_LINUX_IOCTL_H_ */