xref: /netbsd-src/sys/compat/linux/arch/amd64/linux_termios.h (revision 21709ad01db1a91e3c201ed96d7d83992cdf0208)
1 /*	$NetBSD: linux_termios.h,v 1.4 2024/10/01 16:35:42 riastradh 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