| 1 | /* $NetBSD: linux32_termios.h,v 1.2 2007/03/26 13:46:50 njoly Exp $ */ |
| 2 | |
| 3 | /*- |
| 4 | * Copyright (c) 2006 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_LINUX32_TERMIOS_H |
| 35 | #define _AMD64_LINUX32_TERMIOS_H |
| 36 | |
| 37 | typedef unsigned char linux32_cc_t; |
| 38 | typedef netbsd32_long linux32_speed_t; |
| 39 | typedef netbsd32_long linux32_tcflag_t; |
| 40 | |
| 41 | #define LINUX32_NCC 8 |
| 42 | #define LINUX32_NCCS 19 |
| 43 | |
| 44 | #define LINUX32_TCGETS _LINUX32_IO('T', 1) |
| 45 | #define LINUX32_TCSETS _LINUX32_IO('T', 2) |
| 46 | #define LINUX32_TCSETSW _LINUX32_IO('T', 3) |
| 47 | #define LINUX32_TCSETSF _LINUX32_IO('T', 4) |
| 48 | #define LINUX32_TCGETA _LINUX32_IO('T', 5) |
| 49 | #define LINUX32_TCSETA _LINUX32_IO('T', 6) |
| 50 | #define LINUX32_TCSETAW _LINUX32_IO('T', 7) |
| 51 | #define LINUX32_TCSETAF _LINUX32_IO('T', 8) |
| 52 | #define LINUX32_TCSBRK _LINUX32_IO('T', 9) |
| 53 | #define LINUX32_TCXONC _LINUX32_IO('T', 10) |
| 54 | #define LINUX32_TCFLSH _LINUX32_IO('T', 11) |
| 55 | #define LINUX32_TIOCEXCL _LINUX32_IO('T', 12) |
| 56 | #define LINUX32_TIOCNXCL _LINUX32_IO('T', 13) |
| 57 | #define LINUX32_TIOCSCTTY _LINUX32_IO('T', 14) |
| 58 | #define LINUX32_TIOCGPGRP _LINUX32_IO('T', 15) |
| 59 | #define LINUX32_TIOCSPGRP _LINUX32_IO('T', 16) |
| 60 | #define LINUX32_TIOCOUTQ _LINUX32_IO('T', 17) |
| 61 | #define LINUX32_TIOCSTI _LINUX32_IO('T', 18) |
| 62 | #define LINUX32_TIOCGWINSZ _LINUX32_IO('T', 19) |
| 63 | #define LINUX32_TIOCSWINSZ _LINUX32_IO('T', 20) |
| 64 | #define LINUX32_TIOCMGET _LINUX32_IO('T', 21) |
| 65 | #define LINUX32_TIOCMBIS _LINUX32_IO('T', 22) |
| 66 | #define LINUX32_TIOCMBIC _LINUX32_IO('T', 23) |
| 67 | #define LINUX32_TIOCMSET _LINUX32_IO('T', 24) |
| 68 | #define LINUX32_TIOCGSOFTCAR _LINUX32_IO('T', 25) |
| 69 | #define LINUX32_TIOCSSOFTCAR _LINUX32_IO('T', 26) |
| 70 | #define LINUX32_FIONREAD _LINUX32_IO('T', 27) |
| 71 | #define LINUX32_TIOCINQ LINUX32_FIONREAD |
| 72 | #define LINUX32_TIOCLINUX _LINUX32_IO('T', 28) |
| 73 | #define LINUX32_TIOCCONS _LINUX32_IO('T', 29) |
| 74 | #define LINUX32_TIOCGSERIAL _LINUX32_IO('T', 30) |
| 75 | #define LINUX32_TIOCSSERIAL _LINUX32_IO('T', 31) |
| 76 | #define LINUX32_TIOCPKT _LINUX32_IO('T', 32) |
| 77 | #define LINUX32_FIONBIO _LINUX32_IO('T', 33) |
| 78 | #define LINUX32_TIOCNOTTY _LINUX32_IO('T', 34) |
| 79 | #define LINUX32_TIOCSETD _LINUX32_IO('T', 35) |
| 80 | #define LINUX32_TIOCGETD _LINUX32_IO('T', 36) |
| 81 | #define LINUX32_TCSBRKP _LINUX32_IO('T', 37) |
| 82 | #define LINUX32_TIOCTTYGSTRUCT _LINUX32_IO('T', 38) |
| 83 | |
| 84 | #define LINUX32_TIOCGPTN _LINUX32_IOR('T', 48, unsigned int) |
| 85 | #define LINUX32_TIOCSPTLCK _LINUX32_IOW('T', 49, int) |
| 86 | |
| 87 | #define LINUX32_FIONCLEX _LINUX32_IO('T', 80) |
| 88 | #define LINUX32_FIOCLEX _LINUX32_IO('T', 81) |
| 89 | #define LINUX32_FIOASYNC _LINUX32_IO('T', 82) |
| 90 | #define LINUX32_TIOCSERCONFIG _LINUX32_IO('T', 83) |
| 91 | #define LINUX32_TIOCSERGWILD _LINUX32_IO('T', 84) |
| 92 | #define LINUX32_TIOCSERSWILD _LINUX32_IO('T', 85) |
| 93 | #define LINUX32_TIOCGLCKTRMIOS _LINUX32_IO('T', 86) |
| 94 | #define LINUX32_TIOCSLCKTRMIOS _LINUX32_IO('T', 87) |
| 95 | #define LINUX32_TIOCSERGSTRUCT _LINUX32_IO('T', 88) |
| 96 | #define LINUX32_TIOCSERGETLSR _LINUX32_IO('T', 89) |
| 97 | |
| 98 | /* linux32_termios c_cc chars: */ |
| 99 | #define LINUX32_VINTR 0 |
| 100 | #define LINUX32_VQUIT 1 |
| 101 | #define LINUX32_VERASE 2 |
| 102 | #define LINUX32_VKILL 3 |
| 103 | #define LINUX32_VEOF 4 |
| 104 | #define LINUX32_VTIME 5 |
| 105 | #define LINUX32_VMIN 6 |
| 106 | #define LINUX32_VSWTC 7 |
| 107 | #define LINUX32_VSTART 8 |
| 108 | #define LINUX32_VSTOP 9 |
| 109 | #define LINUX32_VSUSP 10 |
| 110 | #define LINUX32_VEOL 11 |
| 111 | #define LINUX32_VREPRINT 12 |
| 112 | #define LINUX32_VDISCARD 13 |
| 113 | #define LINUX32_VWERASE 14 |
| 114 | #define LINUX32_VLNEXT 15 |
| 115 | #define LINUX32_VEOL2 16 |
| 116 | |
| 117 | /* Old style linux_termio */ |
| 118 | #define LINUX32_OLD_VINTR LINUX32_VINTR |
| 119 | #define LINUX32_OLD_VQUIT LINUX32_VQUIT |
| 120 | #define LINUX32_OLD_VERASE LINUX32_VERASE |
| 121 | #define LINUX32_OLD_VKILL LINUX32_VKILL |
| 122 | #define LINUX32_OLD_VEOF LINUX32_VEOF |
| 123 | #define LINUX32_OLD_VMIN LINUX32_VMIN |
| 124 | #define LINUX32_OLD_VEOL LINUX32_VEOL |
| 125 | #define LINUX32_OLD_VTIME LINUX32_VTIME |
| 126 | #define LINUX32_OLD_VEOL2 LINUX32_VEOL2 |
| 127 | #define LINUX32_OLD_VSWTC LINUX32_VSWTC |
| 128 | |
| 129 | /* Linux c_iflag masks */ |
| 130 | #define LINUX32_IGNBRK 0x0000001 |
| 131 | #define LINUX32_BRKINT 0x0000002 |
| 132 | #define LINUX32_IGNPAR 0x0000004 |
| 133 | #define LINUX32_PARMRK 0x0000008 |
| 134 | #define LINUX32_INPCK 0x0000010 |
| 135 | #define LINUX32_ISTRIP 0x0000020 |
| 136 | #define LINUX32_INLCR 0x0000040 |
| 137 | #define LINUX32_IGNCR 0x0000080 |
| 138 | #define LINUX32_ICRNL 0x0000100 |
| 139 | #define LINUX32_IUCLC 0x0000200 |
| 140 | #define LINUX32_IXON 0x0000400 |
| 141 | #define LINUX32_IXANY 0x0000800 |
| 142 | #define LINUX32_IXOFF 0x0001000 |
| 143 | #define LINUX32_IMAXBEL 0x0002000 |
| 144 | |
| 145 | /* Linux c_oflag masks */ |
| 146 | #define LINUX32_OPOST 0x0000001 |
| 147 | #define LINUX32_OLCUC 0x0000002 |
| 148 | #define LINUX32_ONLCR 0x0000004 |
| 149 | #define LINUX32_OCRNL 0x0000008 |
| 150 | #define LINUX32_ONOCR 0x0000010 |
| 151 | #define LINUX32_ONLRET 0x0000020 |
| 152 | #define LINUX32_OFILL 0x0000040 |
| 153 | #define LINUX32_OFDEL 0x0000080 |
| 154 | #define LINUX32_NLDLY 0x0000100 |
| 155 | |
| 156 | #define LINUX32_NL0 0x0000000 |
| 157 | #define LINUX32_NL1 0x0000100 |
| 158 | #define LINUX32_CRDLY 0x0000600 |
| 159 | #define LINUX32_CR0 0x0000000 |
| 160 | #define LINUX32_CR1 0x0000200 |
| 161 | #define LINUX32_CR2 0x0000400 |
| 162 | #define LINUX32_CR3 0x0000600 |
| 163 | #define LINUX32_TABDLY 0x0001800 |
| 164 | #define LINUX32_TAB0 0x0000000 |
| 165 | #define LINUX32_TAB1 0x0000800 |
| 166 | #define LINUX32_TAB2 0x0001000 |
| 167 | #define LINUX32_TAB3 0x0001800 |
| 168 | #define LINUX32_XTABS 0x0001800 |
| 169 | #define LINUX32_BSDLY 0x0002000 |
| 170 | #define LINUX32_BS0 0x0000000 |
| 171 | #define LINUX32_BS1 0x0002000 |
| 172 | #define LINUX32_VTDLY 0x0004000 |
| 173 | #define LINUX32_VT0 0x0000000 |
| 174 | #define LINUX32_VT1 0x0004000 |
| 175 | #define LINUX32_FFDLY 0x0008000 |
| 176 | #define LINUX32_FF0 0x0000000 |
| 177 | #define LINUX32_FF1 0x0008000 |
| 178 | |
| 179 | /* Linux c_cflag bit masks */ |
| 180 | |
| 181 | #define LINUX32_NSPEEDS 16 |
| 182 | #define LINUX32_NXSPEEDS 3 /* XXX Add B460800, NXSPEEDS=4 */ |
| 183 | |
| 184 | #define LINUX32_CBAUD 0x0000100f |
| 185 | |
| 186 | #define LINUX32_B0 0x00000000 |
| 187 | #define LINUX32_B50 0x00000001 |
| 188 | #define LINUX32_B75 0x00000002 |
| 189 | #define LINUX32_B110 0x00000003 |
| 190 | #define LINUX32_B134 0x00000004 |
| 191 | #define LINUX32_B150 0x00000005 |
| 192 | #define LINUX32_B200 0x00000006 |
| 193 | #define LINUX32_B300 0x00000007 |
| 194 | #define LINUX32_B600 0x00000008 |
| 195 | #define LINUX32_B1200 0x00000009 |
| 196 | #define LINUX32_B1800 0x0000000a |
| 197 | #define LINUX32_B2400 0x0000000b |
| 198 | #define LINUX32_B4800 0x0000000c |
| 199 | #define LINUX32_B9600 0x0000000d |
| 200 | #define LINUX32_B19200 0x0000000e |
| 201 | #define LINUX32_B38400 0x0000000f |
| 202 | #define LINUX32_EXTA LINUX32_B19200 |
| 203 | #define LINUX32_EXTB LINUX32_B38400 |
| 204 | #define LINUX32_CBAUDEX 0x00001000 |
| 205 | #define LINUX32_B57600 0x00001001 |
| 206 | #define LINUX32_B115200 0x00001002 |
| 207 | #define LINUX32_B230400 0x00001003 |
| 208 | |
| 209 | #define LINUX32_CSIZE 0x00000030 |
| 210 | #define LINUX32_CS5 0x00000000 |
| 211 | #define LINUX32_CS6 0x00000010 |
| 212 | #define LINUX32_CS7 0x00000020 |
| 213 | #define LINUX32_CS8 0x00000030 |
| 214 | #define LINUX32_CSTOPB 0x00000040 |
| 215 | #define LINUX32_CREAD 0x00000080 |
| 216 | #define LINUX32_PARENB 0x00000100 |
| 217 | #define LINUX32_PARODD 0x00000200 |
| 218 | #define LINUX32_HUPCL 0x00000400 |
| 219 | #define LINUX32_CLOCAL 0x00000800 |
| 220 | |
| 221 | #define LINUX32_CRTSCTS 0x80000000 |
| 222 | |
| 223 | /* Linux c_lflag masks */ |
| 224 | #define LINUX32_ISIG 0x00000001 |
| 225 | #define LINUX32_ICANON 0x00000002 |
| 226 | #define LINUX32_XCASE 0x00000004 |
| 227 | #define LINUX32_ECHO 0x00000008 |
| 228 | #define LINUX32_ECHOE 0x00000010 |
| 229 | #define LINUX32_ECHOK 0x00000020 |
| 230 | #define LINUX32_ECHONL 0x00000040 |
| 231 | #define LINUX32_NOFLSH 0x00000080 |
| 232 | #define LINUX32_TOSTOP 0x00000100 |
| 233 | #define LINUX32_ECHOCTL 0x00000200 |
| 234 | #define LINUX32_ECHOPRT 0x00000400 |
| 235 | #define LINUX32_ECHOKE 0x00000800 |
| 236 | #define LINUX32_FLUSHO 0x00001000 |
| 237 | #define LINUX32_PENDIN 0x00002000 |
| 238 | #define LINUX32_IEXTEN 0x00008000 |
| 239 | |
| 240 | #endif /* !_AMD64_LINUX32_TERMIOS_H */ |
| 241 | |