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