linux_ioctl.h revision 86484
1122394Sharti/*
2122394Sharti * Copyright (c) 1999 Marcel Moolenaar
3122394Sharti * All rights reserved.
4122394Sharti *
5122394Sharti * Redistribution and use in source and binary forms, with or without
6122394Sharti * modification, are permitted provided that the following conditions
7133211Sharti * are met:
8133211Sharti * 1. Redistributions of source code must retain the above copyright
9133211Sharti *    notice, this list of conditions and the following disclaimer
10133211Sharti *    in this position and unchanged.
11133211Sharti * 2. Redistributions in binary form must reproduce the above copyright
12133211Sharti *    notice, this list of conditions and the following disclaimer in the
13122394Sharti *    documentation and/or other materials provided with the distribution.
14122394Sharti * 3. The name of the author may not be used to endorse or promote products
15122394Sharti *    derived from this software without specific prior written permission.
16133211Sharti *
17133211Sharti * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18133211Sharti * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19133211Sharti * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20133211Sharti * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21133211Sharti * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22133211Sharti * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23133211Sharti * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24133211Sharti * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25133211Sharti * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26133211Sharti * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27133211Sharti *
28122394Sharti * $FreeBSD: head/sys/compat/linux/linux_ioctl.h 86484 2001-11-17 01:22:07Z peter $
29163799Sharti */
30122394Sharti
31122394Sharti#ifndef _LINUX_IOCTL_H_
32122394Sharti#define	_LINUX_IOCTL_H_
33122394Sharti
34122394Sharti/*
35163799Sharti * disk
36122394Sharti */
37122394Sharti#define	LINUX_BLKROSET		0x125d
38122394Sharti#define	LINUX_BLKROGET		0x125e
39122394Sharti#define	LINUX_BLKRRPART		0x125f
40122394Sharti#define	LINUX_BLKGETSIZE	0x1260
41122394Sharti#define	LINUX_BLKFLSBUF		0x1261
42122394Sharti#define	LINUX_BLKRASET		0x1262
43122394Sharti#define	LINUX_BLKRAGET		0x1263
44122394Sharti#define	LINUX_BLKFRASET		0x1264
45122394Sharti#define	LINUX_BLKFRAGET		0x1265
46122394Sharti#define	LINUX_BLKSECTSET	0x1266
47122394Sharti#define	LINUX_BLKSECTGET	0x1267
48122394Sharti#define	LINUX_BLKSSZGET		0x1268
49133211Sharti
50122394Sharti#define	LINUX_IOCTL_DISK_MIN	LINUX_BLKROSET
51186119Sqingli#define	LINUX_IOCTL_DISK_MAX	LINUX_BLKSSZGET
52122394Sharti
53122394Sharti/*
54122394Sharti * cdrom
55122394Sharti */
56122394Sharti#define	LINUX_CDROMPAUSE	0x5301
57122394Sharti#define	LINUX_CDROMRESUME	0x5302
58122394Sharti#define	LINUX_CDROMPLAYMSF	0x5303
59122394Sharti#define	LINUX_CDROMPLAYTRKIND	0x5304
60122394Sharti#define	LINUX_CDROMREADTOCHDR	0x5305
61122394Sharti#define	LINUX_CDROMREADTOCENTRY	0x5306
62122394Sharti#define	LINUX_CDROMSTOP		0x5307
63122394Sharti#define	LINUX_CDROMSTART	0x5308
64122394Sharti#define	LINUX_CDROMEJECT	0x5309
65122394Sharti#define	LINUX_CDROMVOLCTRL	0x530a
66122394Sharti#define	LINUX_CDROMSUBCHNL	0x530b
67122394Sharti#define	LINUX_CDROMREADMODE2	0x530c
68122394Sharti#define	LINUX_CDROMREADMODE1	0x530d
69122394Sharti#define	LINUX_CDROMREADAUDIO	0x530e
70122394Sharti#define	LINUX_CDROMEJECT_SW	0x530f
71122394Sharti#define	LINUX_CDROMMULTISESSION	0x5310
72122394Sharti#define	LINUX_CDROM_GET_UPC	0x5311
73122394Sharti#define	LINUX_CDROMRESET	0x5312
74122394Sharti#define	LINUX_CDROMVOLREAD	0x5313
75122394Sharti#define	LINUX_CDROMREADRAW	0x5314
76122394Sharti#define	LINUX_CDROMREADCOOKED	0x5315
77122394Sharti#define	LINUX_CDROMSEEK		0x5316
78122394Sharti#define	LINUX_CDROMPLAYBLK	0x5317
79122394Sharti#define	LINUX_CDROMREADALL	0x5318
80122394Sharti#define	LINUX_CDROMCLOSETRAY	0x5319
81122394Sharti#define	LINUX_CDROMLOADFROMSLOT	0x531a
82122394Sharti
83122394Sharti#define	LINUX_IOCTL_CDROM_MIN	LINUX_CDROMPAUSE
84122394Sharti#define	LINUX_IOCTL_CDROM_MAX	LINUX_CDROMLOADFROMSLOT
85122394Sharti
86122394Sharti#define	LINUX_CDROM_LBA		0x01
87122394Sharti#define	LINUX_CDROM_MSF		0x02
88146525Sharti
89122394Sharti/*
90122394Sharti * console
91146525Sharti */
92122394Sharti#define	LINUX_KIOCSOUND		0x4B2F
93122394Sharti#define	LINUX_KDMKTONE		0x4B30
94122394Sharti#define	LINUX_KDGETLED		0x4B31
95122394Sharti#define	LINUX_KDSETLED		0x4B32
96122394Sharti#define	LINUX_KDSETMODE		0x4B3A
97122394Sharti#define	LINUX_KDGETMODE		0x4B3B
98122394Sharti#define	LINUX_KDGKBMODE		0x4B44
99122394Sharti#define	LINUX_KDSKBMODE		0x4B45
100146525Sharti#define	LINUX_VT_OPENQRY	0x5600
101122394Sharti#define	LINUX_VT_GETMODE	0x5601
102122394Sharti#define	LINUX_VT_SETMODE	0x5602
103122394Sharti#define	LINUX_VT_GETSTATE	0x5603
104122394Sharti#define	LINUX_VT_RELDISP	0x5605
105122394Sharti#define	LINUX_VT_ACTIVATE	0x5606
106122394Sharti#define	LINUX_VT_WAITACTIVE	0x5607
107122394Sharti
108155602Sharti#define	LINUX_IOCTL_CONSOLE_MIN	LINUX_KIOCSOUND
109155602Sharti#define	LINUX_IOCTL_CONSOLE_MAX	LINUX_VT_WAITACTIVE
110155602Sharti
111155602Sharti#define	LINUX_LED_SCR		0x01
112155602Sharti#define	LINUX_LED_NUM		0x02
113155602Sharti#define	LINUX_LED_CAP		0x04
114155602Sharti
115155602Sharti#define	LINUX_KD_TEXT		0x0
116155602Sharti#define	LINUX_KD_GRAPHICS	0x1
117155602Sharti#define	LINUX_KD_TEXT0		0x2
118155602Sharti#define	LINUX_KD_TEXT1		0x3
119155602Sharti
120200063Ssyrinx#define	LINUX_KBD_RAW		0
121200063Ssyrinx#define	LINUX_KBD_XLATE		1
122200063Ssyrinx#define	LINUX_KBD_MEDIUMRAW	2
123200063Ssyrinx
124200063Ssyrinx/*
125200063Ssyrinx * socket
126200063Ssyrinx */
127200063Ssyrinx#define	LINUX_FIOSETOWN		0x8901
128200063Ssyrinx#define	LINUX_SIOCSPGRP		0x8902
129122394Sharti#define	LINUX_FIOGETOWN		0x8903
130122394Sharti#define	LINUX_SIOCGPGRP		0x8904
131122394Sharti#define	LINUX_SIOCATMARK	0x8905
132122394Sharti#define	LINUX_SIOCGSTAMP	0x8906
133122394Sharti#define	LINUX_SIOCGIFCONF	0x8912
134122394Sharti#define	LINUX_SIOCGIFFLAGS	0x8913
135122394Sharti#define	LINUX_SIOCGIFADDR	0x8915
136122394Sharti#define	LINUX_SIOCGIFDSTADDR	0x8917
137122394Sharti#define	LINUX_SIOCGIFBRDADDR	0x8919
138122394Sharti#define	LINUX_SIOCGIFNETMASK	0x891b
139122394Sharti#define	LINUX_SIOCSIFNETMASK	0x891c
140122394Sharti#define	LINUX_SIOCGIFMTU	0x8921
141122394Sharti#define	LINUX_SIOCSIFMTU	0x8922
142122394Sharti#define	LINUX_SIOCSIFNAME	0x8923
143122394Sharti#define	LINUX_SIOCSIFHWADDR	0x8924
144122394Sharti#define	LINUX_SIOCGIFHWADDR	0x8927
145122394Sharti#define	LINUX_SIOCADDMULTI	0x8931
146122394Sharti#define	LINUX_SIOCDELMULTI	0x8932
147122394Sharti
148122394Sharti#define	LINUX_IOCTL_SOCKET_MIN	LINUX_FIOSETOWN
149122394Sharti#define	LINUX_IOCTL_SOCKET_MAX	LINUX_SIOCDELMULTI
150122394Sharti
151122394Sharti/*
152122394Sharti * Device private ioctl calls
153122394Sharti */
154122394Sharti#define LINUX_SIOCDEVPRIVATE	0x89F0  /* to 89FF */
155122394Sharti#define LINUX_IOCTL_PRIVATE_MIN	LINUX_SIOCDEVPRIVATE
156122394Sharti#define LINUX_IOCTL_PRIVATE_MAX	LINUX_SIOCDEVPRIVATE+0xf
157122394Sharti
158122394Sharti/*
159122394Sharti * sound
160122394Sharti */
161122394Sharti#define	LINUX_SOUND_MIXER_WRITE_VOLUME	0x4d00
162122394Sharti#define	LINUX_SOUND_MIXER_WRITE_BASS	0x4d01
163122394Sharti#define	LINUX_SOUND_MIXER_WRITE_TREBLE	0x4d02
164122394Sharti#define	LINUX_SOUND_MIXER_WRITE_SYNTH	0x4d03
165122394Sharti#define	LINUX_SOUND_MIXER_WRITE_PCM	0x4d04
166122394Sharti#define	LINUX_SOUND_MIXER_WRITE_SPEAKER	0x4d05
167122394Sharti#define	LINUX_SOUND_MIXER_WRITE_LINE	0x4d06
168122394Sharti#define	LINUX_SOUND_MIXER_WRITE_MIC	0x4d07
169122394Sharti#define	LINUX_SOUND_MIXER_WRITE_CD	0x4d08
170122394Sharti#define	LINUX_SOUND_MIXER_WRITE_IMIX	0x4d09
171122394Sharti#define	LINUX_SOUND_MIXER_WRITE_ALTPCM	0x4d0A
172122394Sharti#define	LINUX_SOUND_MIXER_WRITE_RECLEV	0x4d0B
173122394Sharti#define	LINUX_SOUND_MIXER_WRITE_IGAIN	0x4d0C
174122394Sharti#define	LINUX_SOUND_MIXER_WRITE_OGAIN	0x4d0D
175122394Sharti#define	LINUX_SOUND_MIXER_WRITE_LINE1	0x4d0E
176122394Sharti#define	LINUX_SOUND_MIXER_WRITE_LINE2	0x4d0F
177122394Sharti#define	LINUX_SOUND_MIXER_WRITE_LINE3	0x4d10
178122394Sharti#define	LINUX_OSS_GETVERSION		0x4d76
179122394Sharti#define	LINUX_SOUND_MIXER_READ_DEVMASK	0x4dfe
180122394Sharti#define	LINUX_SNDCTL_DSP_RESET		0x5000
181122394Sharti#define	LINUX_SNDCTL_DSP_SYNC		0x5001
182122394Sharti#define	LINUX_SNDCTL_DSP_SPEED		0x5002
183122394Sharti#define	LINUX_SNDCTL_DSP_STEREO		0x5003
184122394Sharti#define	LINUX_SNDCTL_DSP_GETBLKSIZE	0x5004
185122394Sharti#define	LINUX_SNDCTL_DSP_SETBLKSIZE	LINUX_SNDCTL_DSP_GETBLKSIZE
186122394Sharti#define	LINUX_SNDCTL_DSP_SETFMT		0x5005
187122394Sharti#define	LINUX_SOUND_PCM_WRITE_CHANNELS	0x5006
188122394Sharti#define	LINUX_SOUND_PCM_WRITE_FILTER	0x5007
189122394Sharti#define	LINUX_SNDCTL_DSP_POST		0x5008
190122394Sharti#define	LINUX_SNDCTL_DSP_SUBDIVIDE	0x5009
191122394Sharti#define	LINUX_SNDCTL_DSP_SETFRAGMENT	0x500A
192122394Sharti#define	LINUX_SNDCTL_DSP_GETFMTS	0x500B
193122394Sharti#define	LINUX_SNDCTL_DSP_GETOSPACE	0x500C
194122394Sharti#define	LINUX_SNDCTL_DSP_GETISPACE	0x500D
195122394Sharti#define	LINUX_SNDCTL_DSP_NONBLOCK	0x500E
196122394Sharti#define	LINUX_SNDCTL_DSP_GETCAPS	0x500F
197122394Sharti#define	LINUX_SNDCTL_DSP_GETTRIGGER	0x5010
198122394Sharti#define	LINUX_SNDCTL_DSP_SETTRIGGER	LINUX_SNDCTL_DSP_GETTRIGGER
199122394Sharti#define	LINUX_SNDCTL_DSP_GETIPTR	0x5011
200122394Sharti#define	LINUX_SNDCTL_DSP_GETOPTR	0x5012
201122394Sharti#define	LINUX_SNDCTL_DSP_GETODELAY	0x5017
202122394Sharti#define	LINUX_SNDCTL_SEQ_RESET		0x5100
203122394Sharti#define	LINUX_SNDCTL_SEQ_SYNC		0x5101
204122394Sharti#define	LINUX_SNDCTL_SYNTH_INFO		0x5102
205122394Sharti#define	LINUX_SNDCTL_SEQ_CTRLRATE	0x5103
206122394Sharti#define	LINUX_SNDCTL_SEQ_GETOUTCOUNT	0x5104
207122394Sharti#define	LINUX_SNDCTL_SEQ_GETINCOUNT	0x5105
208122394Sharti#define	LINUX_SNDCTL_SEQ_PERCMODE	0x5106
209122394Sharti#define	LINUX_SNDCTL_FM_LOAD_INSTR	0x5107
210122394Sharti#define	LINUX_SNDCTL_SEQ_TESTMIDI	0x5108
211122394Sharti#define	LINUX_SNDCTL_SEQ_RESETSAMPLES	0x5109
212122394Sharti#define	LINUX_SNDCTL_SEQ_NRSYNTHS	0x510A
213122394Sharti#define	LINUX_SNDCTL_SEQ_NRMIDIS	0x510B
214122394Sharti#define	LINUX_SNDCTL_MIDI_INFO		0x510C
215122394Sharti#define	LINUX_SNDCTL_SEQ_TRESHOLD	0x510D
216122394Sharti#define	LINUX_SNDCTL_SYNTH_MEMAVL	0x510E
217122394Sharti
218122394Sharti#define	LINUX_IOCTL_SOUND_MIN	LINUX_SOUND_MIXER_WRITE_VOLUME
219122394Sharti#define	LINUX_IOCTL_SOUND_MAX	LINUX_SNDCTL_SYNTH_MEMAVL
220122394Sharti
221122394Sharti/*
222122394Sharti * termio
223122394Sharti */
224122394Sharti#ifdef __alpha__
225122394Sharti#define	LINUX_TCGETS		0x7413
226122394Sharti#define	LINUX_TCSETS		0x7414
227122394Sharti#define	LINUX_TCSETSW		0x7415
228122394Sharti#define	LINUX_TCSETSF		0x7416
229122394Sharti#define	LINUX_TCGETA		0x7417
230122394Sharti#define	LINUX_TCSETA		0x7418
231122394Sharti#define	LINUX_TCSETAW		0x7419
232122394Sharti#define	LINUX_TCSETAF		0x741c
233122394Sharti#define	LINUX_TCSBRK		0x741d
234122394Sharti#define	LINUX_TCXONC		0x741e
235122394Sharti#define	LINUX_TCFLSH		0x741f
236122394Sharti#else
237122394Sharti#define	LINUX_TCGETS		0x5401
238122394Sharti#define	LINUX_TCSETS		0x5402
239122394Sharti#define	LINUX_TCSETSW		0x5403
240122394Sharti#define	LINUX_TCSETSF		0x5404
241122394Sharti#define	LINUX_TCGETA		0x5405
242122394Sharti#define	LINUX_TCSETA		0x5406
243122394Sharti#define	LINUX_TCSETAW		0x5407
244122394Sharti#define	LINUX_TCSETAF		0x5408
245122394Sharti#define	LINUX_TCSBRK		0x5409
246122394Sharti#define	LINUX_TCXONC		0x540A
247122394Sharti#define	LINUX_TCFLSH		0x540B
248122394Sharti#endif
249122394Sharti
250122394Sharti#define	LINUX_TIOCEXCL		0x540C
251122394Sharti#define	LINUX_TIOCNXCL		0x540D
252122394Sharti#define	LINUX_TIOCSCTTY		0x540E
253122394Sharti
254122394Sharti#ifdef __alpha__
255122394Sharti#define	LINUX_TIOCSPGRP		0x7476
256122394Sharti#define	LINUX_TIOCGPGRP		0x7477
257122394Sharti#else
258122394Sharti#define	LINUX_TIOCGPGRP		0x540F
259122394Sharti#define	LINUX_TIOCSPGRP		0x5410
260122394Sharti#endif
261122394Sharti
262122394Sharti#define	LINUX_TIOCOUTQ		0x5411
263122394Sharti#define	LINUX_TIOCSTI		0x5412
264122394Sharti
265122394Sharti#ifdef __alpha__
266122394Sharti#define	LINUX_TIOCSWINSZ	0x7467
267122394Sharti#define	LINUX_TIOCGWINSZ	0x7468
268122394Sharti#else
269122394Sharti#define	LINUX_TIOCGWINSZ	0x5413
270122394Sharti#define	LINUX_TIOCSWINSZ	0x5414
271122394Sharti#endif
272122394Sharti
273122394Sharti#define	LINUX_TIOCMGET		0x5415
274122394Sharti#define	LINUX_TIOCMBIS		0x5416
275122394Sharti#define	LINUX_TIOCMBIC		0x5417
276122394Sharti#define	LINUX_TIOCMSET		0x5418
277122394Sharti#define	LINUX_TIOCGSOFTCAR	0x5419
278122394Sharti#define	LINUX_TIOCSSOFTCAR	0x541A
279122394Sharti
280122394Sharti#ifdef __alpha__
281122394Sharti#define	LINUX_FIONREAD		0x667f
282122394Sharti#else
283122394Sharti#define	LINUX_FIONREAD		0x541B
284122394Sharti#endif
285122394Sharti
286122394Sharti#define	LINUX_TIOCINQ		FIONREAD
287122394Sharti#define	LINUX_TIOCLINUX		0x541C
288122394Sharti#define	LINUX_TIOCCONS		0x541D
289122394Sharti#define	LINUX_TIOCGSERIAL	0x541E
290122394Sharti#define	LINUX_TIOCSSERIAL	0x541F
291122394Sharti#define	LINUX_TIOCPKT		0x5420
292122394Sharti
293122394Sharti#ifdef __alpha__
294122394Sharti#define	LINUX_FIONBIO		0x667e
295122394Sharti#else
296122394Sharti#define	LINUX_FIONBIO		0x5421
297122394Sharti#endif
298122394Sharti
299122394Sharti#define	LINUX_TIOCNOTTY		0x5422
300133211Sharti#define	LINUX_TIOCSETD		0x5423
301133211Sharti#define	LINUX_TIOCGETD		0x5424
302122394Sharti#define	LINUX_TCSBRKP		0x5425
303122394Sharti#define	LINUX_TIOCTTYGSTRUCT	0x5426
304155602Sharti
305155602Sharti#ifdef __alpha__
306122394Sharti#define	LINUX_FIOCLEX		0x6601
307155602Sharti#define	LINUX_FIONCLEX		0x6602
308155602Sharti#define	LINUX_FIOASYNC		0x667d
309122394Sharti#else
310122394Sharti#define	LINUX_FIONCLEX		0x5450
311122394Sharti#define	LINUX_FIOCLEX		0x5451
312155602Sharti#define	LINUX_FIOASYNC		0x5452
313122394Sharti#endif
314122394Sharti
315122394Sharti#define	LINUX_TIOCSERCONFIG	0x5453
316122394Sharti#define	LINUX_TIOCSERGWILD	0x5454
317122394Sharti#define	LINUX_TIOCSERSWILD	0x5455
318122394Sharti#define	LINUX_TIOCGLCKTRMIOS	0x5456
319122394Sharti#define	LINUX_TIOCSLCKTRMIOS	0x5457
320122394Sharti
321122394Sharti#ifdef __alpha__
322122394Sharti#define	LINUX_IOCTL_TERMIO_MIN	LINUX_TIOCEXCL
323122394Sharti#define	LINUX_IOCTL_TERMIO_MAX	LINUX_TIOCGPGRP
324122394Sharti#else
325122394Sharti#define	LINUX_IOCTL_TERMIO_MIN	LINUX_TCGETS
326122394Sharti#define	LINUX_IOCTL_TERMIO_MAX	LINUX_TIOCSLCKTRMIOS
327122394Sharti#endif
328122394Sharti
329155506Sharti/* arguments for tcflow() and LINUX_TCXONC */
330155602Sharti#define	LINUX_TCOOFF		0
331155602Sharti#define	LINUX_TCOON		1
332155602Sharti#define	LINUX_TCIOFF		2
333155602Sharti#define	LINUX_TCION		3
334155602Sharti
335155602Sharti/* arguments for tcflush() and LINUX_TCFLSH */
336155602Sharti#define	LINUX_TCIFLUSH		0
337155602Sharti#define	LINUX_TCOFLUSH		1
338155602Sharti#define	LINUX_TCIOFLUSH		2
339155602Sharti
340155602Sharti/* line disciplines */
341155602Sharti#define	LINUX_N_TTY		0
342155602Sharti#define	LINUX_N_SLIP		1
343155602Sharti#define	LINUX_N_MOUSE		2
344155602Sharti#define	LINUX_N_PPP		3
345155602Sharti
346155602Sharti/* Linux termio c_cc values */
347155602Sharti#ifdef __alpha__
348155602Sharti#define	LINUX__VINTR		0
349155602Sharti#define	LINUX__VQUIT		1
350155602Sharti#define	LINUX__VERASE		2
351155602Sharti#define	LINUX__VKILL		3
352155602Sharti#define	LINUX__VEOF		4
353155602Sharti#define	LINUX__VMIN		4
354155602Sharti#define	LINUX__VEOL		5
355155602Sharti#define	LINUX__VTIME		5
356155602Sharti#define	LINUX__VEOL2		6
357155602Sharti#define	LINUX__VSWTC		7
358155602Sharti#else
359155602Sharti#define	LINUX_VINTR		0
360155602Sharti#define	LINUX_VQUIT		1
361155602Sharti#define	LINUX_VERASE		2
362155602Sharti#define	LINUX_VKILL		3
363155602Sharti#define	LINUX_VEOF		4
364155602Sharti#define	LINUX_VTIME		5
365155602Sharti#define	LINUX_VMIN		6
366155602Sharti#define	LINUX_VSWTC		7
367155602Sharti#endif
368155602Sharti#define	LINUX_NCC		8
369155602Sharti
370155602Sharti/* Linux termios c_cc values */
371155602Sharti#ifdef __alpha__
372155602Sharti#define	LINUX_VEOF		0
373155602Sharti#define	LINUX_VEOL		1
374155602Sharti#define	LINUX_VEOL2		2
375155602Sharti#define	LINUX_VERASE		3
376155602Sharti#define	LINUX_VWERASE		4
377155602Sharti#define	LINUX_VKILL		5
378155602Sharti#define	LINUX_VREPRINT		6
379155602Sharti#define	LINUX_VSWTC		7
380155602Sharti#define	LINUX_VINTR		8
381155602Sharti#define	LINUX_VQUIT		9
382155602Sharti#define	LINUX_VSUSP		10
383155602Sharti#define	LINUX_VSTART		12
384155602Sharti#define	LINUX_VSTOP		13
385155602Sharti#define	LINUX_VLNEXT		14
386155602Sharti#define	LINUX_VDISCARD		15
387155602Sharti#define	LINUX_VMIN		16
388163799Sharti#define	LINUX_VTIME		17
389155602Sharti#else
390155602Sharti/* In addition to the termio values */
391163799Sharti#define	LINUX_VSTART		8
392155602Sharti#define	LINUX_VSTOP		9
393155602Sharti#define	LINUX_VSUSP 		10
394163799Sharti#define	LINUX_VEOL		11
395155602Sharti#define	LINUX_VREPRINT		12
396155602Sharti#define	LINUX_VDISCARD		13
397163799Sharti#define	LINUX_VWERASE		14
398155602Sharti#define	LINUX_VLNEXT		15
399155602Sharti#define	LINUX_VEOL2		16
400155602Sharti#endif
401155602Sharti#define	LINUX_NCCS		19
402155602Sharti
403155602Sharti#define	LINUX_POSIX_VDISABLE	'\0'
404155602Sharti
405155602Sharti/* Linux c_iflag masks */
406155602Sharti#define	LINUX_IGNBRK		0x0000001
407155602Sharti#define	LINUX_BRKINT		0x0000002
408155602Sharti#define	LINUX_IGNPAR		0x0000004
409155602Sharti#define	LINUX_PARMRK		0x0000008
410155602Sharti#define	LINUX_INPCK		0x0000010
411155602Sharti#define	LINUX_ISTRIP		0x0000020
412155602Sharti#define	LINUX_INLCR		0x0000040
413155602Sharti#define	LINUX_IGNCR		0x0000080
414155602Sharti#define	LINUX_ICRNL		0x0000100
415155602Sharti
416155602Sharti#ifdef __alpha__
417155602Sharti#define	LINUX_IXON		0x0000200
418155602Sharti#define	LINUX_IXOFF		0x0000400
419155602Sharti#define	LINUX_IXANY		0x0000800
420155602Sharti#define	LINUX_IUCLC		0x0001000
421155602Sharti#else
422200063Ssyrinx#define	LINUX_IUCLC		0x0000200
423200063Ssyrinx#define	LINUX_IXON		0x0000400
424200063Ssyrinx#define	LINUX_IXANY		0x0000800
425200063Ssyrinx#define	LINUX_IXOFF		0x0001000
426200063Ssyrinx#endif
427200063Ssyrinx
428200063Ssyrinx#define	LINUX_IMAXBEL		0x0002000
429200063Ssyrinx
430200063Ssyrinx/* Linux c_oflag masks */
431200063Ssyrinx#define	LINUX_OPOST		0x0000001
432200063Ssyrinx
433200063Ssyrinx#ifdef __alpha__
434200063Ssyrinx#define	LINUX_ONLCR		0x0000002
435200063Ssyrinx#define	LINUX_OLCUC		0x0000004
436155602Sharti#else
437155602Sharti#define	LINUX_OLCUC		0x0000002
438155602Sharti#define	LINUX_ONLCR		0x0000004
439155602Sharti#endif
440155602Sharti
441155602Sharti#define	LINUX_OCRNL		0x0000008
442155602Sharti#define	LINUX_ONOCR		0x0000010
443155602Sharti#define	LINUX_ONLRET		0x0000020
444155602Sharti#define	LINUX_OFILL		0x0000040
445155602Sharti#define	LINUX_OFDEL		0x0000080
446155602Sharti
447155602Sharti#ifdef __alpha__
448155602Sharti#define	LINUX_NLDLY		0x0000300
449155602Sharti#define	LINUX_NL0		0x0000000
450155602Sharti#define	LINUX_NL1		0x0000100
451155506Sharti#define	LINUX_NL2		0x0000200
452155506Sharti#define	LINUX_NL3		0x0000300
453155506Sharti#define	LINUX_TABDLY		0x000C000
454155506Sharti#define	LINUX_TAB0		0x0000000
455155506Sharti#define	LINUX_TAB1		0x0004000
456155506Sharti#define	LINUX_TAB2		0x0008000
457155506Sharti#define	LINUX_TAB3		0x000C000
458155506Sharti#define	LINUX_CRDLY		0x0030000
459155506Sharti#define	LINUX_CR0		0x0000000
460155506Sharti#define	LINUX_CR1		0x0010000
461122394Sharti#define	LINUX_CR2		0x0020000
462122394Sharti#define	LINUX_CR3		0x0030000
463122394Sharti#define	LINUX_FFDLY		0x0040000
464122394Sharti#define	LINUX_FF0		0x0000000
465122394Sharti#define	LINUX_FF1		0x0040000
466122394Sharti#define	LINUX_BSDLY		0x0080000
467122394Sharti#define	LINUX_BS0		0x0000000
468155602Sharti#define	LINUX_BS1		0x0080000
469155602Sharti#define	LINUX_VTDLY		0x0100000
470155602Sharti#define	LINUX_VT0		0x0000000
471155602Sharti#define	LINUX_VT1		0x0100000
472122394Sharti#define	LINUX_XTABS		0x0200000
473122394Sharti#else
474122394Sharti#define	LINUX_NLDLY		0x0000100
475122394Sharti#define	LINUX_NL0		0x0000000
476155602Sharti#define	LINUX_NL1		0x0000100
477155602Sharti#define	LINUX_CRDLY		0x0000600
478155602Sharti#define	LINUX_CR0		0x0000000
479155602Sharti#define	LINUX_CR1		0x0000200
480155602Sharti#define	LINUX_CR2		0x0000400
481122394Sharti#define	LINUX_CR3		0x0000600
482122394Sharti#define	LINUX_TABDLY		0x0001800
483122394Sharti#define	LINUX_TAB0		0x0000000
484122394Sharti#define	LINUX_TAB1		0x0000800
485122394Sharti#define	LINUX_TAB2		0x0001000
486122394Sharti#define	LINUX_TAB3		0x0001800
487122394Sharti#define	LINUX_XTABS		0x0001800
488122394Sharti#define	LINUX_BSDLY		0x0002000
489122394Sharti#define	LINUX_BS0		0x0000000
490122394Sharti#define	LINUX_BS1		0x0002000
491122394Sharti#define	LINUX_VTDLY		0x0004000
492122394Sharti#define	LINUX_VT0		0x0000000
493122394Sharti#define	LINUX_VT1		0x0004000
494122394Sharti#define	LINUX_FFDLY		0x0008000
495122394Sharti#define	LINUX_FF0		0x0000000
496122394Sharti#define	LINUX_FF1		0x0008000
497122394Sharti#endif
498122394Sharti
499122394Sharti#ifdef __alpha__
500122394Sharti#define	LINUX_CBAUD		0x0000001f
501122394Sharti#else
502122394Sharti#define	LINUX_CBAUD		0x0000100f
503122394Sharti#endif
504122394Sharti
505122394Sharti#define	LINUX_B0		0x00000000
506122394Sharti#define	LINUX_B50		0x00000001
507122394Sharti#define	LINUX_B75		0x00000002
508122394Sharti#define	LINUX_B110		0x00000003
509122394Sharti#define	LINUX_B134		0x00000004
510122394Sharti#define	LINUX_B150		0x00000005
511122394Sharti#define	LINUX_B200		0x00000006
512122394Sharti#define	LINUX_B300		0x00000007
513122394Sharti#define	LINUX_B600		0x00000008
514122394Sharti#define	LINUX_B1200		0x00000009
515122394Sharti#define	LINUX_B1800		0x0000000a
516122394Sharti#define	LINUX_B2400		0x0000000b
517122394Sharti#define	LINUX_B4800		0x0000000c
518122394Sharti#define	LINUX_B9600		0x0000000d
519122394Sharti#define	LINUX_B19200		0x0000000e
520122394Sharti#define	LINUX_B38400		0x0000000f
521122394Sharti#define	LINUX_EXTA		LINUX_B19200
522122394Sharti#define	LINUX_EXTB		LINUX_B38400
523122394Sharti
524122394Sharti#ifdef __alpha__
525122394Sharti#define	LINUX_CBAUDEX		0x00000000
526122394Sharti#define	LINUX_B57600		0x00000010
527122394Sharti#define	LINUX_B115200		0x00000011
528122394Sharti#else
529122394Sharti#define	LINUX_CBAUDEX		0x00001000
530122394Sharti#define	LINUX_B57600		0x00001001
531122394Sharti#define	LINUX_B115200		0x00001002
532122394Sharti#endif
533122394Sharti
534122394Sharti#ifdef __alpha__
535122394Sharti#define	LINUX_CSIZE		0x00000300
536122394Sharti#define	LINUX_CS5		0x00000000
537122394Sharti#define	LINUX_CS6		0x00000100
538122394Sharti#define	LINUX_CS7		0x00000200
539122394Sharti#define	LINUX_CS8		0x00000300
540122394Sharti#define	LINUX_CSTOPB		0x00000400
541122394Sharti#define	LINUX_CREAD		0x00000800
542122394Sharti#define	LINUX_PARENB		0x00001000
543122394Sharti#define	LINUX_PARODD		0x00002000
544122394Sharti#define	LINUX_HUPCL		0x00004000
545122394Sharti#define	LINUX_CLOCAL		0x00008000
546122394Sharti#else
547122394Sharti#define	LINUX_CSIZE		0x00000030
548122394Sharti#define	LINUX_CS5		0x00000000
549122394Sharti#define	LINUX_CS6		0x00000010
550122394Sharti#define	LINUX_CS7		0x00000020
551122394Sharti#define	LINUX_CS8		0x00000030
552133211Sharti#define	LINUX_CSTOPB		0x00000040
553122394Sharti#define	LINUX_CREAD		0x00000080
554122394Sharti#define	LINUX_PARENB		0x00000100
555122394Sharti#define	LINUX_PARODD		0x00000200
556122394Sharti#define	LINUX_HUPCL		0x00000400
557122394Sharti#define	LINUX_CLOCAL		0x00000800
558122394Sharti#endif
559122394Sharti
560122394Sharti#define	LINUX_CRTSCTS		0x80000000
561122394Sharti
562122394Sharti/* Linux c_lflag masks */
563122394Sharti#ifdef __alpha__
564122394Sharti#define	LINUX_ECHOKE		0x00000001
565122394Sharti#define	LINUX_ECHOE		0x00000002
566122394Sharti#define	LINUX_ECHOK		0x00000004
567122394Sharti#define	LINUX_ECHO		0x00000008
568122394Sharti#define	LINUX_ECHONL		0x00000010
569122394Sharti#define	LINUX_ECHOPRT		0x00000020
570122394Sharti#define	LINUX_ECHOCTL		0x00000040
571122394Sharti#define	LINUX_ISIG		0x00000080
572122394Sharti#define	LINUX_ICANON		0x00000100
573122394Sharti#define	LINUX_IEXTEN		0x00000400
574122394Sharti#define	LINUX_XCASE		0x00004000
575122394Sharti#define	LINUX_TOSTOP		0x00400000
576122394Sharti#define	LINUX_FLUSHO		0x00800000
577122394Sharti#define	LINUX_PENDIN		0x20000000
578122394Sharti#define	LINUX_NOFLSH		0x80000000
579122394Sharti#else
580122394Sharti#define	LINUX_ISIG		0x00000001
581122394Sharti#define	LINUX_ICANON		0x00000002
582122394Sharti#define	LINUX_XCASE		0x00000004
583122394Sharti#define	LINUX_ECHO		0x00000008
584122394Sharti#define	LINUX_ECHOE		0x00000010
585122394Sharti#define	LINUX_ECHOK		0x00000020
586122394Sharti#define	LINUX_ECHONL		0x00000040
587122394Sharti#define	LINUX_NOFLSH		0x00000080
588122394Sharti#define	LINUX_TOSTOP		0x00000100
589122394Sharti#define	LINUX_ECHOCTL		0x00000200
590122394Sharti#define	LINUX_ECHOPRT		0x00000400
591122394Sharti#define	LINUX_ECHOKE		0x00000800
592122394Sharti#define	LINUX_FLUSHO		0x00001000
593122394Sharti#define	LINUX_PENDIN		0x00002000
594122394Sharti#define	LINUX_IEXTEN		0x00008000
595122394Sharti#endif
596122394Sharti
597122394Sharti/* serial_struct values for TIOC[GS]SERIAL ioctls */
598122394Sharti#define	LINUX_ASYNC_CLOSING_WAIT_INF  0
599146609Sharti#define	LINUX_ASYNC_CLOSING_WAIT_NONE 65535
600122394Sharti
601122394Sharti#define	LINUX_PORT_UNKNOWN	0
602122394Sharti#define	LINUX_PORT_8250		1
603122394Sharti#define	LINUX_PORT_16450	2
604122394Sharti#define	LINUX_PORT_16550	3
605122394Sharti#define	LINUX_PORT_16550A	4
606122394Sharti#define	LINUX_PORT_CIRRUS	5
607122394Sharti#define	LINUX_PORT_16650	6
608122394Sharti
609122394Sharti#define	LINUX_PORT_MAX		6
610122394Sharti
611122394Sharti#define	LINUX_ASYNC_HUP_NOTIFY		0x0001
612122394Sharti#define	LINUX_ASYNC_FOURPORT		0x0002
613122394Sharti#define	LINUX_ASYNC_SAK			0x0004
614122394Sharti#define	LINUX_ASYNC_SPLIT_TERMIOS	0x0008
615122394Sharti#define	LINUX_ASYNC_SPD_MASK		0x0030
616122394Sharti#define	LINUX_ASYNC_SPD_HI		0x0010
617122394Sharti#define	LINUX_ASYNC_SPD_VHI		0x0020
618128237Sharti#define	LINUX_ASYNC_SPD_CUST		0x0030
619122394Sharti#define	LINUX_ASYNC_SKIP_TEST		0x0040
620122394Sharti#define	LINUX_ASYNC_AUTO_IRQ		0x0080
621122394Sharti#define	LINUX_ASYNC_SESSION_LOCKOUT	0x0100
622122394Sharti#define	LINUX_ASYNC_PGRP_LOCKOUT	0x0200
623122394Sharti#define	LINUX_ASYNC_CALLOUT_NOHUP	0x0400
624122394Sharti#define	LINUX_ASYNC_FLAGS		0x0FFF
625122394Sharti
626122394Sharti/*
627122394Sharti * This doesn't really belong here, but I can't think of a better
628122394Sharti * place to put it.
629122394Sharti */
630122394Shartistruct ifnet;
631122394Shartiint		 linux_ifname(struct ifnet *, char *, size_t);
632122394Sharti
633122394Sharti#endif /* !_LINUX_IOCTL_H_ */
634122394Sharti