/* $NetBSD: ibcs2_termios.h,v 1.4 2000/08/11 22:20:10 matt Exp $ */ /* * Copyright (c) 1994 Scott Bartram * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Scott Bartram. * 4. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _IBCS2_TERMIOS_H #define _IBCS2_TERMIOS_H 1 #include #define IBCS2_NCC 8 #define IBCS2_NCCS 13 typedef u_short ibcs2_tcflag_t; typedef u_char ibcs2_cc_t; typedef u_long ibcs2_speed_t; struct ibcs2_termio { u_short c_iflag; u_short c_oflag; u_short c_cflag; u_short c_lflag; char c_line; u_char c_cc[IBCS2_NCC]; }; struct ibcs2_termios { ibcs2_tcflag_t c_iflag; ibcs2_tcflag_t c_oflag; ibcs2_tcflag_t c_cflag; ibcs2_tcflag_t c_lflag; char c_line; ibcs2_cc_t c_cc[IBCS2_NCCS]; char c_ispeed; char c_ospeed; }; #define IBCS2_VINTR 0 #define IBCS2_VQUIT 1 #define IBCS2_VERASE 2 #define IBCS2_VKILL 3 #define IBCS2_VEOF 4 #define IBCS2_VEOL 5 #define IBCS2_VEOL2 6 #define IBCS2_VMIN 4 #define IBCS2_VTIME 5 #define IBCS2_VSWTCH 7 #define IBCS2_VSUSP 10 #define IBCS2_VSTART 11 #define IBCS2_VSTOP 12 #define IBCS2_CNUL 0 #define IBCS2_CDEL 0377 #define IBCS2_CESC '\\' #define IBCS2_CINTR 0177 #define IBCS2_CQUIT 034 #define IBCS2_CERASE '#' #define IBCS2_CKILL '@' #define IBCS2_CSTART 021 #define IBCS2_CSTOP 023 #define IBCS2_CSWTCH 032 #define IBCS2_CNSWTCH 0 #define IBCS2_CSUSP 032 #define IBCS2_IGNBRK 0000001 #define IBCS2_BRKINT 0000002 #define IBCS2_IGNPAR 0000004 #define IBCS2_PARMRK 0000010 #define IBCS2_INPCK 0000020 #define IBCS2_ISTRIP 0000040 #define IBCS2_INLCR 0000100 #define IBCS2_IGNCR 0000200 #define IBCS2_ICRNL 0000400 #define IBCS2_IUCLC 0001000 #define IBCS2_IXON 0002000 #define IBCS2_IXANY 0004000 #define IBCS2_IXOFF 0010000 #define IBCS2_IMAXBEL 0020000 #define IBCS2_DOSMODE 0100000 #define IBCS2_OPOST 0000001 #define IBCS2_OLCUC 0000002 #define IBCS2_ONLCR 0000004 #define IBCS2_OCRNL 0000010 #define IBCS2_ONOCR 0000020 #define IBCS2_ONLRET 0000040 #define IBCS2_OFILL 0000100 #define IBCS2_OFDEL 0000200 #define IBCS2_NLDLY 0000400 #define IBCS2_NL0 0000000 #define IBCS2_NL1 0000400 #define IBCS2_CRDLY 0003000 #define IBCS2_CR0 0000000 #define IBCS2_CR1 0001000 #define IBCS2_CR2 0002000 #define IBCS2_CR3 0003000 #define IBCS2_TABDLY 0014000 #define IBCS2_TAB0 0000000 #define IBCS2_TAB1 0004000 #define IBCS2_TAB2 0010000 #define IBCS2_TAB3 0014000 #define IBCS2_BSDLY 0020000 #define IBCS2_BS0 0000000 #define IBCS2_BS1 0020000 #define IBCS2_VTDLY 0040000 #define IBCS2_VT0 0000000 #define IBCS2_VT1 0040000 #define IBCS2_FFDLY 0100000 #define IBCS2_FF0 0000000 #define IBCS2_FF1 0100000 #define IBCS2_CBAUD 0000017 #define IBCS2_CSIZE 0000060 #define IBCS2_CS5 0000000 #define IBCS2_CS6 0000020 #define IBCS2_CS7 0000040 #define IBCS2_CS8 0000060 #define IBCS2_CSTOPB 0000100 #define IBCS2_CREAD 0000200 #define IBCS2_PARENB 0000400 #define IBCS2_PARODD 0001000 #define IBCS2_HUPCL 0002000 #define IBCS2_CLOCAL 0004000 #define IBCS2_RCV1EN 0010000 #define IBCS2_XMT1EN 0020000 #define IBCS2_LOBLK 0040000 #define IBCS2_XCLUDE 0100000 #define IBCS2_ISIG 0000001 #define IBCS2_ICANON 0000002 #define IBCS2_XCASE 0000004 #define IBCS2_ECHO 0000010 #define IBCS2_ECHOE 0000020 #define IBCS2_ECHOK 0000040 #define IBCS2_ECHONL 0000100 #define IBCS2_NOFLSH 0000200 #define IBCS2_IEXTEN 0000400 #define IBCS2_TOSTOP 0001000 #define IBCS2_XIOC (('i'<<24)|('X'<<16)) #define IBCS2_XCGETA (IBCS2_XIOC|1) #define IBCS2_XCSETA (IBCS2_XIOC|2) #define IBCS2_XCSETAW (IBCS2_XIOC|3) #define IBCS2_XCSETAF (IBCS2_XIOC|4) #define IBCS2_OXIOC ('x'<<8) #define IBCS2_OXCGETA (IBCS2_OXIOC|1) #define IBCS2_OXCSETA (IBCS2_OXIOC|2) #define IBCS2_OXCSETAW (IBCS2_OXIOC|3) #define IBCS2_OXCSETAF (IBCS2_OXIOC|4) #define IBCS2_TIOC ('T'<<8) #define IBCS2_TCGETA (IBCS2_TIOC|1) #define IBCS2_TCSETA (IBCS2_TIOC|2) #define IBCS2_TCSETAW (IBCS2_TIOC|3) #define IBCS2_TCSETAF (IBCS2_TIOC|4) #define IBCS2_TCSBRK (IBCS2_TIOC|5) #define IBCS2_TCXONC (IBCS2_TIOC|6) #define IBCS2_TCFLSH (IBCS2_TIOC|7) #define IBCS2_TCGETSC (IBCS2_TIOC|34) #define IBCS2_TCSETSC (IBCS2_TIOC|35) #define IBCS2_TIOCSWINSZ (IBCS2_TIOC|103) #define IBCS2_TIOCGWINSZ (IBCS2_TIOC|104) #define IBCS2_TIOCSPGRP (IBCS2_TIOC|118) #define IBCS2_TIOCGPGRP (IBCS2_TIOC|119) #define IBCS2_TCSANOW IBCS2_XCSETA #define IBCS2_TCSADRAIN IBCS2_XCSETAW #define IBCS2_TCSAFLUSH IBCS2_XCSETAF #define IBCS2_TCSADFLUSH IBCS2_XCSETAF #define IBCS2_TCIFLUSH 0 #define IBCS2_TCOFLUSH 1 #define IBCS2_TCIOFLUSH 2 #define IBCS2_TCOOFF 0 #define IBCS2_TCOON 1 #define IBCS2_TCIOFF 2 #define IBCS2_TCION 3 #define IBCS2_B0 0 #define IBCS2_B50 1 #define IBCS2_B75 2 #define IBCS2_B110 3 #define IBCS2_B134 4 #define IBCS2_B150 5 #define IBCS2_B200 6 #define IBCS2_B300 7 #define IBCS2_B600 8 #define IBCS2_B1200 9 #define IBCS2_B1800 10 #define IBCS2_B2400 11 #define IBCS2_B4800 12 #define IBCS2_B9600 13 #define IBCS2_B19200 14 #define IBCS2_B38400 15 struct ibcs2_winsize { u_short ws_row; u_short ws_col; u_short ws_xpixel; u_short ws_ypixel; }; #define IBCS2_GHUPCL 0x0001 #define IBCS2_GXTABS 0x0002 #define IBCS2_GLCASE 0x0004 #define IBCS2_GECHO 0x0008 #define IBCS2_GCRMOD 0x0010 #define IBCS2_GRAW 0x0020 #define IBCS2_GODDP 0x0040 #define IBCS2_GEVENP 0x0080 #define IBCS2_GANYP 0x00C0 #define IBCS2_GNLDELAY 0x0300 #define IBCS2_GTBDELAY 0x0400 #define IBCS2_GCRDELAY 0x3000 #define IBCS2_GVTDELAY 0x4000 #define IBCS2_GBSDELAY 0x8000 #define IBCS2_GALLDELAY 0xFF00 struct ibcs2_sgttyb { char sg_ispeed; char sg_ospeed; char sg_erase; char sg_kill; int sg_flags; }; #endif /* _IBCS2_H_ */