* added compilers lcc and bcc (linux86)
[mascara-docs.git] / compilers / linux86-0.16.17 / libc / include / linux / termios.h
blob02fcb68f875a4cee6e9ce248e8a54de532c1b098
1 #ifndef __LINUX_TERMIOS_H
2 #define __LINUX_TERMIOS_H
4 /* This is just a magic number to make these relatively unique ('T') */
5 #define __TERMIOS_MAJ ('T'<<8)
7 #define TCGETS (__TERMIOS_MAJ+0x01)
8 #define TCSETS (__TERMIOS_MAJ+0x02)
9 #define TCSETSW (__TERMIOS_MAJ+0x03)
10 #define TCSETSF (__TERMIOS_MAJ+0x04)
11 #define TCGETA (__TERMIOS_MAJ+0x05)
12 #define TCSETA (__TERMIOS_MAJ+0x06)
13 #define TCSETAW (__TERMIOS_MAJ+0x07)
14 #define TCSETAF (__TERMIOS_MAJ+0x08)
15 #define TCSBRK (__TERMIOS_MAJ+0x09)
16 #define TCXONC (__TERMIOS_MAJ+0x0A)
17 #define TCFLSH (__TERMIOS_MAJ+0x0B)
18 #define TIOCEXCL (__TERMIOS_MAJ+0x0C)
19 #define TIOCNXCL (__TERMIOS_MAJ+0x0D)
20 #define TIOCSCTTY (__TERMIOS_MAJ+0x0E)
21 #define TIOCGPGRP (__TERMIOS_MAJ+0x0F)
22 #define TIOCSPGRP (__TERMIOS_MAJ+0x10)
23 #define TIOCOUTQ (__TERMIOS_MAJ+0x11)
24 #define TIOCSTI (__TERMIOS_MAJ+0x12)
25 #define TIOCGWINSZ (__TERMIOS_MAJ+0x13)
26 #define TIOCSWINSZ (__TERMIOS_MAJ+0x14)
27 #define TIOCMGET (__TERMIOS_MAJ+0x15)
28 #define TIOCMBIS (__TERMIOS_MAJ+0x16)
29 #define TIOCMBIC (__TERMIOS_MAJ+0x17)
30 #define TIOCMSET (__TERMIOS_MAJ+0x18)
31 #define TIOCGSOFTCAR (__TERMIOS_MAJ+0x19)
32 #define TIOCSSOFTCAR (__TERMIOS_MAJ+0x1A)
33 #define FIONREAD (__TERMIOS_MAJ+0x1B)
34 #define TIOCINQ FIONREAD
35 #define TIOCLINUX (__TERMIOS_MAJ+0x1C)
36 #define TIOCCONS (__TERMIOS_MAJ+0x1D)
37 #define TIOCGSERIAL (__TERMIOS_MAJ+0x1E)
38 #define TIOCSSERIAL (__TERMIOS_MAJ+0x1F)
39 #define TIOCPKT (__TERMIOS_MAJ+0x20)
40 #define FIONBIO (__TERMIOS_MAJ+0x21)
41 #define TIOCNOTTY (__TERMIOS_MAJ+0x22)
42 #define TIOCSETD (__TERMIOS_MAJ+0x23)
43 #define TIOCGETD (__TERMIOS_MAJ+0x24)
44 #define TCSBRKP (__TERMIOS_MAJ+0x25) /* Needed for POSIX tcsendbreak */
45 #define TIOCTTYGSTRUCT (__TERMIOS_MAJ+0x26) /* For debugging only */
46 #define FIONCLEX (__TERMIOS_MAJ+0x50) /* these numbers need to be adjusted. */
47 #define FIOCLEX (__TERMIOS_MAJ+0x51)
48 #define FIOASYNC (__TERMIOS_MAJ+0x52)
49 #define TIOCSERCONFIG (__TERMIOS_MAJ+0x53)
50 #define TIOCSERGWILD (__TERMIOS_MAJ+0x54)
51 #define TIOCSERSWILD (__TERMIOS_MAJ+0x55)
52 #define TIOCGLCKTRMIOS (__TERMIOS_MAJ+0x56)
53 #define TIOCSLCKTRMIOS (__TERMIOS_MAJ+0x57)
54 #define TIOCSERGSTRUCT (__TERMIOS_MAJ+0x58) /* For debugging only */
55 #define TIOCSERGETLSR (__TERMIOS_MAJ+0x59) /* Get line status register */
56 #define TIOCSERGETMULTI (__TERMIOS_MAJ+0x5A) /* Get multiport config */
57 #define TIOCSERSETMULTI (__TERMIOS_MAJ+0x5B) /* Set multiport config */
59 /* Used for packet mode */
60 #define TIOCPKT_DATA 0
61 #define TIOCPKT_FLUSHREAD 1
62 #define TIOCPKT_FLUSHWRITE 2
63 #define TIOCPKT_STOP 4
64 #define TIOCPKT_START 8
65 #define TIOCPKT_NOSTOP 16
66 #define TIOCPKT_DOSTOP 32
68 struct winsize {
69 unsigned short ws_row;
70 unsigned short ws_col;
71 unsigned short ws_xpixel;
72 unsigned short ws_ypixel;
75 #define NCC 8
76 struct termio {
77 unsigned short c_iflag; /* input mode flags */
78 unsigned short c_oflag; /* output mode flags */
79 unsigned short c_cflag; /* control mode flags */
80 unsigned short c_lflag; /* local mode flags */
81 unsigned char c_line; /* line discipline */
82 unsigned char c_cc[NCC]; /* control characters */
85 #define NCCS 19
86 struct termios {
87 tcflag_t c_iflag; /* input mode flags */
88 tcflag_t c_oflag; /* output mode flags */
89 tcflag_t c_cflag; /* control mode flags */
90 tcflag_t c_lflag; /* local mode flags */
91 cc_t c_line; /* line discipline */
92 cc_t c_cc[NCCS]; /* control characters */
95 /* c_cc characters */
96 #define VINTR 0
97 #define VQUIT 1
98 #define VERASE 2
99 #define VKILL 3
100 #define VEOF 4
101 #define VTIME 5
102 #define VMIN 6
103 #define VSWTC 7
104 #define VSTART 8
105 #define VSTOP 9
106 #define VSUSP 10
107 #define VEOL 11
108 #define VREPRINT 12
109 #define VDISCARD 13
110 #define VWERASE 14
111 #define VLNEXT 15
112 #define VEOL2 16
114 /* c_iflag bits */
115 #define IGNBRK 0000001
116 #define BRKINT 0000002
117 #define IGNPAR 0000004
118 #define PARMRK 0000010
119 #define INPCK 0000020
120 #define ISTRIP 0000040
121 #define INLCR 0000100
122 #define IGNCR 0000200
123 #define ICRNL 0000400
124 #define IUCLC 0001000
125 #define IXON 0002000
126 #define IXANY 0004000
127 #define IXOFF 0010000
128 #define IMAXBEL 0020000
130 /* c_oflag bits */
131 #define OPOST 0000001
132 #define OLCUC 0000002
133 #define ONLCR 0000004
134 #define OCRNL 0000010
135 #define ONOCR 0000020
136 #define ONLRET 0000040
137 #define OFILL 0000100
138 #define OFDEL 0000200
139 #define NLDLY 0000400
140 #define NL0 0000000
141 #define NL1 0000400
142 #define CRDLY 0003000
143 #define CR0 0000000
144 #define CR1 0001000
145 #define CR2 0002000
146 #define CR3 0003000
147 #define TABDLY 0014000
148 #define TAB0 0000000
149 #define TAB1 0004000
150 #define TAB2 0010000
151 #define TAB3 0014000
152 #define XTABS 0014000
153 #define BSDLY 0020000
154 #define BS0 0000000
155 #define BS1 0020000
156 #define VTDLY 0040000
157 #define VT0 0000000
158 #define VT1 0040000
159 #define FFDLY 0100000
160 #define FF0 0000000
161 #define FF1 0100000
163 /* c_cflag bit meaning */
164 #define CBAUD 0010017
165 #define B0 0000000 /* hang up */
166 #define B50 0000001
167 #define B75 0000002
168 #define B110 0000003
169 #define B134 0000004
170 #define B150 0000005
171 #define B200 0000006
172 #define B300 0000007
173 #define B600 0000010
174 #define B1200 0000011
175 #define B1800 0000012
176 #define B2400 0000013
177 #define B4800 0000014
178 #define B9600 0000015
179 #define B19200 0000016
180 #define B38400 0000017
181 #define EXTA B19200
182 #define EXTB B38400
183 #define CSIZE 0000060
184 #define CS5 0000000
185 #define CS6 0000020
186 #define CS7 0000040
187 #define CS8 0000060
188 #define CSTOPB 0000100
189 #define CREAD 0000200
190 #define PARENB 0000400
191 #define PARODD 0001000
192 #define HUPCL 0002000
193 #define CLOCAL 0004000
194 #define CBAUDEX 0010000
195 #define B57600 0010001
196 #define B115200 0010002
197 #define B230400 0010003
198 #define CIBAUD 002003600000 /* input baud rate (not used) */
199 #define CRTSCTS 020000000000 /* flow control */
201 /* c_lflag bits */
202 #define ISIG 0000001
203 #define ICANON 0000002
204 #define XCASE 0000004
205 #define ECHO 0000010
206 #define ECHOE 0000020
207 #define ECHOK 0000040
208 #define ECHONL 0000100
209 #define NOFLSH 0000200
210 #define TOSTOP 0000400
211 #define ECHOCTL 0001000
212 #define ECHOPRT 0002000
213 #define ECHOKE 0004000
214 #define FLUSHO 0010000
215 #define PENDIN 0040000
216 #define IEXTEN 0100000
218 /* modem lines */
219 #define TIOCM_LE 0x001
220 #define TIOCM_DTR 0x002
221 #define TIOCM_RTS 0x004
222 #define TIOCM_ST 0x008
223 #define TIOCM_SR 0x010
224 #define TIOCM_CTS 0x020
225 #define TIOCM_CAR 0x040
226 #define TIOCM_RNG 0x080
227 #define TIOCM_DSR 0x100
228 #define TIOCM_CD TIOCM_CAR
229 #define TIOCM_RI TIOCM_RNG
231 /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
232 #define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
235 /* tcflow() and TCXONC use these */
236 #define TCOOFF 0
237 #define TCOON 1
238 #define TCIOFF 2
239 #define TCION 3
241 /* tcflush() and TCFLSH use these */
242 #define TCIFLUSH 0
243 #define TCOFLUSH 1
244 #define TCIOFLUSH 2
246 /* tcsetattr uses these */
247 #define TCSANOW 0
248 #define TCSADRAIN 1
249 #define TCSAFLUSH 2
251 /* line disciplines */
252 #define N_TTY 0
253 #define N_SLIP 1
254 #define N_MOUSE 2
255 #define N_PPP 3
257 #endif /* __LINUXMT_TERMIOS_H */