1/*	$NetBSD: linux_termios.h,v 1.2 2005/12/11 12:20:14 christos Exp $ */
2
3/*-
4 * Copyright (c) 2005 Emmanuel Dreyfus, all rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 *    notice, this list of conditions and the following disclaimer.
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. All advertising materials mentioning features or use of this software
15 *    must display the following acknowledgement:
16 *	This product includes software developed by Emmanuel Dreyfus
17 * 4. The name of the author may not be used to endorse or promote
18 *    products derived from this software without specific prior written
19 *    permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE THE AUTHOR AND CONTRIBUTORS ``AS IS''
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
32 */
33
34#ifndef _AMD64_LINUX_TERMIOS_H
35#define _AMD64_LINUX_TERMIOS_H
36
37#define LINUX_NCC 8
38#define LINUX_NCCS 19
39
40#define LINUX_CBAUD	0010017
41#define LINUX_B0	0000000
42#define LINUX_B50	0000001
43#define LINUX_B75	0000002
44#define LINUX_B110	0000003
45#define LINUX_B134	0000004
46#define LINUX_B150	0000005
47#define LINUX_B200	0000006
48#define LINUX_B300	0000007
49#define LINUX_B600	0000010
50#define LINUX_B1200	0000011
51#define LINUX_B1800	0000012
52#define LINUX_B2400	0000013
53#define LINUX_B4800	0000014
54#define LINUX_B9600	0000015
55#define LINUX_B19200	0000016
56#define LINUX_B38400	0000017
57#define LINUX_B57600	0010001
58#define LINUX_B115200	0010002
59#define LINUX_B230400	0010003
60
61#define LINUX_NSPEEDS   16
62#define LINUX_NXSPEEDS   3
63
64#define LINUX_IGNBRK	0000001
65#define LINUX_BRKINT	0000002
66#define LINUX_IGNPAR	0000004
67#define LINUX_PARMRK	0000010
68#define LINUX_INPCK	0000020
69#define LINUX_ISTRIP	0000040
70#define LINUX_INLCR	0000100
71#define LINUX_IGNCR	0000200
72#define LINUX_ICRNL	0000400
73#define LINUX_IUCLC	0001000
74#define LINUX_IXON	0002000
75#define LINUX_IXANY	0004000
76#define LINUX_IXOFF	0010000
77#define LINUX_IMAXBEL	0020000
78#define LINUX_IUTF8	0040000
79
80#define LINUX_OPOST	0000001
81#define LINUX_ONLCR	0000004
82#define LINUX_XTABS	0014000
83
84#define LINUX_CSIZE	0000060
85#define LINUX_CS5	0000000
86#define LINUX_CS6	0000020
87#define LINUX_CS7	0000040
88#define LINUX_CS8	0000060
89#define LINUX_CSTOPB	0000100
90#define LINUX_CREAD	0000200
91#define LINUX_PARENB	0000400
92#define LINUX_PARODD	0001000
93#define LINUX_HUPCL	0002000
94#define LINUX_CLOCAL	0004000
95#define LINUX_CBAUDEX	0010000
96
97#define LINUX_CRTSCTS	020000000000
98
99#define LINUX_ISIG	0000001
100#define LINUX_ICANON	0000002
101#define LINUX_XCASE	0000004
102#define LINUX_ECHO	0000010
103#define LINUX_ECHOE	0000020
104#define LINUX_ECHOK	0000040
105#define LINUX_ECHONL	0000100
106#define LINUX_NOFLSH	0000200
107#define LINUX_TOSTOP	0000400
108#define LINUX_ECHOCTL	0001000
109#define LINUX_ECHOPRT	0002000
110#define LINUX_ECHOKE	0004000
111#define LINUX_FLUSHO	0010000
112#define LINUX_PENDIN	0040000
113#define LINUX_IEXTEN	0100000
114
115#define	LINUX_OLD_VINTR         LINUX_VINTR
116#define	LINUX_OLD_VQUIT         LINUX_VQUIT
117#define	LINUX_OLD_VERASE        LINUX_VERASE
118#define	LINUX_OLD_VKILL         LINUX_VKILL
119#define	LINUX_OLD_VEOF          LINUX_VEOF
120#define	LINUX_OLD_VMIN          LINUX_VMIN
121#define	LINUX_OLD_VEOL          LINUX_VEOL
122#define	LINUX_OLD_VTIME         LINUX_VTIME
123#define	LINUX_OLD_VEOL2         LINUX_VEOL2
124#define	LINUX_OLD_VSWTC         LINUX_VSWTC
125
126#define LINUX_VINTR		0
127#define LINUX_VQUIT		1
128#define LINUX_VERASE		2
129#define LINUX_VKILL		3
130#define LINUX_VEOF		4
131#define LINUX_VTIME		5
132#define LINUX_VMIN		6
133#define LINUX_VSWTC		7
134#define LINUX_VSTART		8
135#define LINUX_VSTOP		9
136#define LINUX_VSUSP		10
137#define LINUX_VEOL		11
138#define LINUX_VREPRINT		12
139#define LINUX_VDISCARD		13
140#define LINUX_VWERASE		14
141#define LINUX_VLNEXT		15
142#define LINUX_VEOL2		16
143
144#define LINUX_TCGETS		_LINUX_IO('T', 0x01)
145#define LINUX_TCSETS		_LINUX_IO('T', 0x02)
146#define LINUX_TCSETSW		_LINUX_IO('T', 0x03)
147#define LINUX_TCSETSF		_LINUX_IO('T', 0x04)
148#define LINUX_TCGETA		_LINUX_IO('T', 0x05)
149#define LINUX_TCSETA		_LINUX_IO('T', 0x06)
150#define LINUX_TCSETAW		_LINUX_IO('T', 0x07)
151#define LINUX_TCSETAF		_LINUX_IO('T', 0x08)
152#define LINUX_TCSBRK		_LINUX_IO('T', 0x09)
153#define LINUX_TCXONC		_LINUX_IO('T', 0x0A)
154#define LINUX_TCFLSH		_LINUX_IO('T', 0x0B)
155#define LINUX_TIOCEXCL		_LINUX_IO('T', 0x0C)
156#define LINUX_TIOCNXCL		_LINUX_IO('T', 0x0D)
157#define LINUX_TIOCSCTTY		_LINUX_IO('T', 0x0E)
158#define LINUX_TIOCGPGRP		_LINUX_IO('T', 0x0F)
159#define LINUX_TIOCSPGRP		_LINUX_IO('T', 0x10)
160#define LINUX_TIOCOUTQ		_LINUX_IO('T', 0x11)
161#define LINUX_TIOCSTI		_LINUX_IO('T', 0x12)
162#define LINUX_TIOCGWINSZ	_LINUX_IO('T', 0x13)
163#define LINUX_TIOCSWINSZ	_LINUX_IO('T', 0x14)
164#define LINUX_TIOCMGET		_LINUX_IO('T', 0x15)
165#define LINUX_TIOCMBIS		_LINUX_IO('T', 0x16)
166#define LINUX_TIOCMBIC		_LINUX_IO('T', 0x17)
167#define LINUX_TIOCMSET		_LINUX_IO('T', 0x18)
168#define LINUX_TIOCGSOFTCAR	_LINUX_IO('T', 0x19)
169#define LINUX_TIOCSSOFTCAR	_LINUX_IO('T', 0x1A)
170#define LINUX_FIONREAD		_LINUX_IO('T', 0x1B)
171#define LINUX_TIOCLINUX		_LINUX_IO('T', 0x1C)
172#define LINUX_TIOCCONS		_LINUX_IO('T', 0x1D)
173#define LINUX_TIOCGSERIAL	_LINUX_IO('T', 0x1E)
174#define LINUX_TIOCSSERIAL	_LINUX_IO('T', 0x1F)
175#define LINUX_TIOCPKT		_LINUX_IO('T', 0x20)
176#define LINUX_FIONBIO		_LINUX_IO('T', 0x21)
177#define LINUX_TIOCNOTTY		_LINUX_IO('T', 0x22)
178#define LINUX_TIOCSETD		_LINUX_IO('T', 0x23)
179#define LINUX_TIOCGETD		_LINUX_IO('T', 0x24)
180#define LINUX_TCSBRKP		_LINUX_IO('T', 0x25)
181#define LINUX_TIOCSBRK		_LINUX_IO('T', 0x27)
182#define LINUX_TIOCCBRK		_LINUX_IO('T', 0x28)
183#define LINUX_TIOCGSID		_LINUX_IO('T', 0x29)
184#define LINUX_TIOCGPTN		_LINUX_IOR('T',0x30, unsigned int)
185#define LINUX_TIOCSPTLCK	_LINUX_IOW('T',0x31, int)
186#define LINUX_FIONCLEX		_LINUX_IO('T', 0x50)
187#define LINUX_FIOCLEX		_LINUX_IO('T', 0x51)
188#define LINUX_FIOASYNC		_LINUX_IO('T', 0x52)
189#define LINUX_TIOCSERCONFIG	_LINUX_IO('T', 0x53)
190#define LINUX_TIOCSERGWILD	_LINUX_IO('T', 0x54)
191#define LINUX_TIOCSERSWILD	_LINUX_IO('T', 0x55)
192#define LINUX_TIOCGLCKTRMIOS	_LINUX_IO('T', 0x56)
193#define LINUX_TIOCSLCKTRMIOS	_LINUX_IO('T', 0x57)
194#define LINUX_TIOCSERGSTRUCT	_LINUX_IO('T', 0x58)
195#define LINUX_TIOCSERGETLSR	_LINUX_IO('T', 0x59)
196#define LINUX_TIOCSERGETMULTI	_LINUX_IO('T', 0x5A)
197#define LINUX_TIOCSERSETMULTI	_LINUX_IO('T', 0x5B)
198#define LINUX_TIOCMIWAIT	_LINUX_IO('T', 0x5C)
199#define LINUX_TIOCGICOUNT	_LINUX_IO('T', 0x5D)
200#define LINUX_TIOCGHAYESESP	_LINUX_IO('T', 0x5E)
201#define LINUX_TIOCSHAYESESP	_LINUX_IO('T', 0x5F)
202#define LINUX_FIOQSIZE		_LINUX_IO('T', 0x60)
203
204
205#endif /* !_AMD64_LINUX_TERMIOS_H */
206