Change (almost) all references to tqh_first and tqe_next and tqe_prev
[dragonfly.git] / sys / emulation / svr4 / svr4_termios.h
1 /*
2  * Copyright (c) 1998 Mark Newton
3  * Copyright (c) 1994 Christos Zoulas
4  * 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. 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/svr4/svr4_termios.h,v 1.3 1999/08/28 00:51:25 peter Exp $
29  * $DragonFly: src/sys/emulation/svr4/Attic/svr4_termios.h,v 1.2 2003/06/17 04:28:58 dillon Exp $
30  */
31
32 #ifndef _SVR4_TERMIOS_H_
33 #define _SVR4_TERMIOS_H_
34
35 #define SVR4_POSIX_VDISABLE     0
36 #define SVR4_NCC                8
37 #define SVR4_NCCS               19
38
39 typedef u_long  svr4_tcflag_t;
40 typedef u_char  svr4_cc_t;
41 typedef u_long  svr4_speed_t;
42
43 struct svr4_termios {
44         svr4_tcflag_t   c_iflag;
45         svr4_tcflag_t   c_oflag;
46         svr4_tcflag_t   c_cflag;
47         svr4_tcflag_t   c_lflag;
48         svr4_cc_t       c_cc[SVR4_NCCS];
49 };
50
51 struct svr4_termio {
52         u_short         c_iflag;
53         u_short         c_oflag;
54         u_short         c_cflag;
55         u_short         c_lflag;
56         char            c_line; 
57         u_char          c_cc[SVR4_NCC];
58 };
59
60 /* control characters */
61 #define SVR4_VINTR      0
62 #define SVR4_VQUIT      1
63 #define SVR4_VERASE     2
64 #define SVR4_VKILL      3
65 #define SVR4_VEOF       4
66 #define SVR4_VEOL       5
67 #define SVR4_VEOL2      6
68 #define SVR4_VMIN       4
69 #define SVR4_VTIME      5
70 #define SVR4_VSWTCH     7
71 #define SVR4_VSTART     8
72 #define SVR4_VSTOP      9
73 #define SVR4_VSUSP      10
74 #define SVR4_VDSUSP     11
75 #define SVR4_VREPRINT   12
76 #define SVR4_VDISCARD   13
77 #define SVR4_VWERASE    14
78 #define SVR4_VLNEXT     15
79
80 /* Input modes */
81 #define SVR4_IGNBRK     00000001
82 #define SVR4_BRKINT     00000002
83 #define SVR4_IGNPAR     00000004
84 #define SVR4_PARMRK     00000010
85 #define SVR4_INPCK      00000020
86 #define SVR4_ISTRIP     00000040
87 #define SVR4_INLCR      00000100
88 #define SVR4_IGNCR      00000200
89 #define SVR4_ICRNL      00000400
90 #define SVR4_IUCLC      00001000
91 #define SVR4_IXON       00002000
92 #define SVR4_IXANY      00004000
93 #define SVR4_IXOFF      00010000
94 #define SVR4_IMAXBEL    00020000
95 #define SVR4_DOSMODE    00100000
96
97 /* Output modes */
98 #define SVR4_OPOST      00000001
99 #define SVR4_OLCUC      00000002
100 #define SVR4_ONLCR      00000004
101 #define SVR4_OCRNL      00000010
102 #define SVR4_ONOCR      00000020
103 #define SVR4_ONLRET     00000040
104 #define SVR4_OFILL      00000100
105 #define SVR4_OFDEL      00000200
106 #define SVR4_NLDLY      00000400
107 #define SVR4_NL0        00000000
108 #define SVR4_NL1        00000400
109 #define SVR4_CRDLY      00003000
110 #define SVR4_CR0        00000000
111 #define SVR4_CR1        00001000
112 #define SVR4_CR2        00002000
113 #define SVR4_CR3        00003000
114 #define SVR4_TABDLY     00014000
115 #define SVR4_TAB0       00000000
116 #define SVR4_TAB1       00004000
117 #define SVR4_TAB2       00010000
118 #define SVR4_TAB3       00014000
119 #define SVR4_XTABS      00014000
120 #define SVR4_BSDLY      00020000
121 #define SVR4_BS0        00000000
122 #define SVR4_BS1        00020000
123 #define SVR4_VTDLY      00040000
124 #define SVR4_VT0        00000000
125 #define SVR4_VT1        00040000
126 #define SVR4_FFDLY      00100000
127 #define SVR4_FF0        00000000
128 #define SVR4_FF1        00100000
129 #define SVR4_PAGEOUT    00200000
130 #define SVR4_WRAP       00400000
131
132 /* Control modes */
133 #define SVR4_CBAUD      00000017
134 #define SVR4_CSIZE      00000060
135 #define SVR4_CS5        00000000
136 #define SVR4_CS6        00000200
137 #define SVR4_CS7        00000040
138 #define SVR4_CS8        00000006
139 #define SVR4_CSTOPB     00000100
140 #define SVR4_CREAD      00000200
141 #define SVR4_PARENB     00000400
142 #define SVR4_PARODD     00001000
143 #define SVR4_HUPCL      00002000
144 #define SVR4_CLOCAL     00004000
145 #define SVR4_RCV1EN     00010000
146 #define SVR4_XMT1EN     00020000
147 #define SVR4_LOBLK      00040000
148 #define SVR4_XCLUDE     00100000
149 #define SVR4_CIBAUD     03600000
150 #define SVR4_PAREXT     04000000
151
152 /* line discipline modes */
153 #define SVR4_ISIG       00000001
154 #define SVR4_ICANON     00000002
155 #define SVR4_XCASE      00000004
156 #define SVR4_ECHO       00000010
157 #define SVR4_ECHOE      00000020
158 #define SVR4_ECHOK      00000040
159 #define SVR4_ECHONL     00000100
160 #define SVR4_NOFLSH     00000200
161 #define SVR4_TOSTOP     00000400
162 #define SVR4_ECHOCTL    00001000
163 #define SVR4_ECHOPRT    00002000
164 #define SVR4_ECHOKE     00004000
165 #define SVR4_DEFECHO    00010000
166 #define SVR4_FLUSHO     00020000
167 #define SVR4_PENDIN     00040000
168 #define SVR4_IEXTEN     00100000
169
170 #define SVR4_TIOC       ('T' << 8)
171
172 #define SVR4_TCGETA     (SVR4_TIOC| 1)
173 #define SVR4_TCSETA     (SVR4_TIOC| 2)
174 #define SVR4_TCSETAW    (SVR4_TIOC| 3)
175 #define SVR4_TCSETAF    (SVR4_TIOC| 4)
176 #define SVR4_TCSBRK     (SVR4_TIOC| 5)
177 #define SVR4_TCXONC     (SVR4_TIOC| 6)
178 #define SVR4_TCFLSH     (SVR4_TIOC| 7)
179 #define SVR4_TIOCKBON   (SVR4_TIOC| 8)
180 #define SVR4_TIOCKBOF   (SVR4_TIOC| 9)
181 #define SVR4_KBENABLED  (SVR4_TIOC|10)
182 #define SVR4_TCGETS     (SVR4_TIOC|13)
183 #define SVR4_TCSETS     (SVR4_TIOC|14)
184 #define SVR4_TCSETSW    (SVR4_TIOC|15)
185 #define SVR4_TCSETSF    (SVR4_TIOC|16)
186 #define SVR4_TCDSET     (SVR4_TIOC|32)
187 #define SVR4_RTS_TOG    (SVR4_TIOC|33)
188 #define SVR4_TCGETSC    (SVR4_TIOC|34)
189 #define SVR4_TCSETSC    (SVR4_TIOC|35)
190 #define SVR4_TCMOUSE    (SVR4_TIOC|36)
191 #define SVR4_TIOCGWINSZ (SVR4_TIOC|104)
192 #define SVR4_TIOCSWINSZ (SVR4_TIOC|103)
193
194 struct svr4_winsize {
195         u_short ws_row;
196         u_short ws_col;
197         u_short ws_xpixel;
198         u_short ws_ypixel;
199 };
200
201 #define SVR4_B0         0
202 #define SVR4_B50        1
203 #define SVR4_B75        2
204 #define SVR4_B110       3
205 #define SVR4_B134       4
206 #define SVR4_B150       5
207 #define SVR4_B200       6
208 #define SVR4_B300       7
209 #define SVR4_B600       8
210 #define SVR4_B1200      9
211 #define SVR4_B1800      10
212 #define SVR4_B2400      11
213 #define SVR4_B4800      12
214 #define SVR4_B9600      13
215 #define SVR4_B19200     14
216 #define SVR4_B38400     15
217 #define SVR4_B57600     16
218 #define SVR4_B76800     17
219 #define SVR4_B115200    18
220 #define SVR4_B153600    19
221 #define SVR4_B230400    20
222 #define SVR4_B307200    21
223 #define SVR4_B460800    22
224
225 #endif /* !_SVR4_TERMIOS_H_ */