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