ibcs2_termios.h revision 11394
1/* $NetBSD: ibcs2_termios.h,v 1.3 1994/10/26 02:53:07 cgd Exp $ */ 2 3/* 4 * Copyright (c) 1994 Scott Bartram 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 3. All advertising materials mentioning features or use of this software 16 * must display the following acknowledgement: 17 * This product includes software developed by Scott Bartram. 18 * 4. The name of the author may not be used to endorse or promote products 19 * derived from this software without specific prior written permission 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 22 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 23 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 24 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 26 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 33#ifndef _IBCS2_TERMIOS_H 34#define _IBCS2_TERMIOS_H 1 35 36#include <compat/ibcs2/ibcs2_types.h> 37 38#define IBCS2_NCC 8 39#define IBCS2_NCCS 13 40 41typedef u_short ibcs2_tcflag_t; 42typedef u_char ibcs2_cc_t; 43typedef u_long ibcs2_speed_t; 44 45struct ibcs2_termio { 46 u_short c_iflag; 47 u_short c_oflag; 48 u_short c_cflag; 49 u_short c_lflag; 50 char c_line; 51 u_char c_cc[IBCS2_NCC]; 52}; 53 54struct ibcs2_termios { 55 ibcs2_tcflag_t c_iflag; 56 ibcs2_tcflag_t c_oflag; 57 ibcs2_tcflag_t c_cflag; 58 ibcs2_tcflag_t c_lflag; 59 char c_line; 60 ibcs2_cc_t c_cc[IBCS2_NCCS]; 61 char c_ispeed; 62 char c_ospeed; 63}; 64 65#define IBCS2_VINTR 0 66#define IBCS2_VQUIT 1 67#define IBCS2_VERASE 2 68#define IBCS2_VKILL 3 69#define IBCS2_VEOF 4 70#define IBCS2_VEOL 5 71#define IBCS2_VEOL2 6 72#define IBCS2_VMIN 4 73#define IBCS2_VTIME 5 74#define IBCS2_VSWTCH 7 75#define IBCS2_VSUSP 10 76#define IBCS2_VSTART 11 77#define IBCS2_VSTOP 12 78 79#define IBCS2_CNUL 0 80#define IBCS2_CDEL 0377 81#define IBCS2_CESC '\\' 82#define IBCS2_CINTR 0177 83#define IBCS2_CQUIT 034 84#define IBCS2_CERASE '#' 85#define IBCS2_CKILL '@' 86#define IBCS2_CSTART 021 87#define IBCS2_CSTOP 023 88#define IBCS2_CSWTCH 032 89#define IBCS2_CNSWTCH 0 90#define IBCS2_CSUSP 032 91 92#define IBCS2_IGNBRK 0000001 93#define IBCS2_BRKINT 0000002 94#define IBCS2_IGNPAR 0000004 95#define IBCS2_PARMRK 0000010 96#define IBCS2_INPCK 0000020 97#define IBCS2_ISTRIP 0000040 98#define IBCS2_INLCR 0000100 99#define IBCS2_IGNCR 0000200 100#define IBCS2_ICRNL 0000400 101#define IBCS2_IUCLC 0001000 102#define IBCS2_IXON 0002000 103#define IBCS2_IXANY 0004000 104#define IBCS2_IXOFF 0010000 105#define IBCS2_IMAXBEL 0020000 106#define IBCS2_DOSMODE 0100000 107 108#define IBCS2_OPOST 0000001 109#define IBCS2_OLCUC 0000002 110#define IBCS2_ONLCR 0000004 111#define IBCS2_OCRNL 0000010 112#define IBCS2_ONOCR 0000020 113#define IBCS2_ONLRET 0000040 114#define IBCS2_OFILL 0000100 115#define IBCS2_OFDEL 0000200 116#define IBCS2_NLDLY 0000400 117#define IBCS2_NL0 0000000 118#define IBCS2_NL1 0000400 119#define IBCS2_CRDLY 0003000 120#define IBCS2_CR0 0000000 121#define IBCS2_CR1 0001000 122#define IBCS2_CR2 0002000 123#define IBCS2_CR3 0003000 124#define IBCS2_TABDLY 0014000 125#define IBCS2_TAB0 0000000 126#define IBCS2_TAB1 0004000 127#define IBCS2_TAB2 0010000 128#define IBCS2_TAB3 0014000 129#define IBCS2_BSDLY 0020000 130#define IBCS2_BS0 0000000 131#define IBCS2_BS1 0020000 132#define IBCS2_VTDLY 0040000 133#define IBCS2_VT0 0000000 134#define IBCS2_VT1 0040000 135#define IBCS2_FFDLY 0100000 136#define IBCS2_FF0 0000000 137#define IBCS2_FF1 0100000 138 139#define IBCS2_CBAUD 0000017 140#define IBCS2_CSIZE 0000060 141#define IBCS2_CS5 0000000 142#define IBCS2_CS6 0000020 143#define IBCS2_CS7 0000040 144#define IBCS2_CS8 0000060 145#define IBCS2_CSTOPB 0000100 146#define IBCS2_CREAD 0000200 147#define IBCS2_PARENB 0000400 148#define IBCS2_PARODD 0001000 149#define IBCS2_HUPCL 0002000 150#define IBCS2_CLOCAL 0004000 151#define IBCS2_RCV1EN 0010000 152#define IBCS2_XMT1EN 0020000 153#define IBCS2_LOBLK 0040000 154#define IBCS2_XCLUDE 0100000 155 156#define IBCS2_ISIG 0000001 157#define IBCS2_ICANON 0000002 158#define IBCS2_XCASE 0000004 159#define IBCS2_ECHO 0000010 160#define IBCS2_ECHOE 0000020 161#define IBCS2_ECHOK 0000040 162#define IBCS2_ECHONL 0000100 163#define IBCS2_NOFLSH 0000200 164#define IBCS2_IEXTEN 0000400 165#define IBCS2_TOSTOP 0001000 166 167#define IBCS2_XIOC (('i'<<24)|('X'<<16)) 168#define IBCS2_XCGETA (IBCS2_XIOC|1) 169#define IBCS2_XCSETA (IBCS2_XIOC|2) 170#define IBCS2_XCSETAW (IBCS2_XIOC|3) 171#define IBCS2_XCSETAF (IBCS2_XIOC|4) 172 173#define IBCS2_OXIOC ('x'<<8) 174#define IBCS2_OXCGETA (IBCS2_OXIOC|1) 175#define IBCS2_OXCSETA (IBCS2_OXIOC|2) 176#define IBCS2_OXCSETAW (IBCS2_OXIOC|3) 177#define IBCS2_OXCSETAF (IBCS2_OXIOC|4) 178 179#define IBCS2_TIOC ('T'<<8) 180#define IBCS2_TCGETA (IBCS2_TIOC|1) 181#define IBCS2_TCSETA (IBCS2_TIOC|2) 182#define IBCS2_TCSETAW (IBCS2_TIOC|3) 183#define IBCS2_TCSETAF (IBCS2_TIOC|4) 184#define IBCS2_TCSBRK (IBCS2_TIOC|5) 185#define IBCS2_TCXONC (IBCS2_TIOC|6) 186#define IBCS2_TCFLSH (IBCS2_TIOC|7) 187 188#define IBCS2_TCGETSC (IBCS2_TIOC|34) 189#define IBCS2_TCSETSC (IBCS2_TIOC|35) 190 191#define IBCS2_TIOCSWINSZ (IBCS2_TIOC|103) 192#define IBCS2_TIOCGWINSZ (IBCS2_TIOC|104) 193#define IBCS2_TIOCSPGRP (IBCS2_TIOC|118) 194#define IBCS2_TIOCGPGRP (IBCS2_TIOC|119) 195 196#define IBCS2_TCSANOW IBCS2_XCSETA 197#define IBCS2_TCSADRAIN IBCS2_XCSETAW 198#define IBCS2_TCSAFLUSH IBCS2_XCSETAF 199#define IBCS2_TCSADFLUSH IBCS2_XCSETAF 200 201#define IBCS2_TCIFLUSH 0 202#define IBCS2_TCOFLUSH 1 203#define IBCS2_TCIOFLUSH 2 204 205#define IBCS2_TCOOFF 0 206#define IBCS2_TCOON 1 207#define IBCS2_TCIOFF 2 208#define IBCS2_TCION 3 209 210#define IBCS2_B0 0 211#define IBCS2_B50 1 212#define IBCS2_B75 2 213#define IBCS2_B110 3 214#define IBCS2_B134 4 215#define IBCS2_B150 5 216#define IBCS2_B200 6 217#define IBCS2_B300 7 218#define IBCS2_B600 8 219#define IBCS2_B1200 9 220#define IBCS2_B1800 10 221#define IBCS2_B2400 11 222#define IBCS2_B4800 12 223#define IBCS2_B9600 13 224#define IBCS2_B19200 14 225#define IBCS2_B38400 15 226 227struct ibcs2_winsize { 228 u_short ws_row; 229 u_short ws_col; 230 u_short ws_xpixel; 231 u_short ws_ypixel; 232}; 233 234#endif /* _IBCS2_H_ */ 235 236