ibcs2_termios.h revision 139799
111394Sswallace/* $NetBSD: ibcs2_termios.h,v 1.3 1994/10/26 02:53:07 cgd Exp $ */ 2139799Simp/* $FreeBSD: head/sys/i386/ibcs2/ibcs2_termios.h 139799 2005-01-06 23:22:04Z imp $ */ 311394Sswallace 4139799Simp/*- 511394Sswallace * Copyright (c) 1994 Scott Bartram 611394Sswallace * All rights reserved. 711394Sswallace * 811394Sswallace * Redistribution and use in source and binary forms, with or without 911394Sswallace * modification, are permitted provided that the following conditions 1011394Sswallace * are met: 1111394Sswallace * 1. Redistributions of source code must retain the above copyright 1211394Sswallace * notice, this list of conditions and the following disclaimer. 1311394Sswallace * 2. Redistributions in binary form must reproduce the above copyright 1411394Sswallace * notice, this list of conditions and the following disclaimer in the 1511394Sswallace * documentation and/or other materials provided with the distribution. 1611394Sswallace * 3. All advertising materials mentioning features or use of this software 1711394Sswallace * must display the following acknowledgement: 1811394Sswallace * This product includes software developed by Scott Bartram. 1911394Sswallace * 4. The name of the author may not be used to endorse or promote products 2011394Sswallace * derived from this software without specific prior written permission 2111394Sswallace * 2211394Sswallace * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 2311394Sswallace * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 2411394Sswallace * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 2511394Sswallace * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 2611394Sswallace * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 2711394Sswallace * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2811394Sswallace * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2911394Sswallace * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 3011394Sswallace * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 3111394Sswallace * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3211394Sswallace */ 3311394Sswallace 3411394Sswallace#ifndef _IBCS2_TERMIOS_H 3511394Sswallace#define _IBCS2_TERMIOS_H 1 3611394Sswallace 3711397Sswallace#include <i386/ibcs2/ibcs2_types.h> 3811394Sswallace 3911394Sswallace#define IBCS2_NCC 8 4011394Sswallace#define IBCS2_NCCS 13 4111394Sswallace 4211394Sswallacetypedef u_short ibcs2_tcflag_t; 4311394Sswallacetypedef u_char ibcs2_cc_t; 4411394Sswallacetypedef u_long ibcs2_speed_t; 4511394Sswallace 4611394Sswallacestruct ibcs2_termio { 4711394Sswallace u_short c_iflag; 4811394Sswallace u_short c_oflag; 4911394Sswallace u_short c_cflag; 5011394Sswallace u_short c_lflag; 5111394Sswallace char c_line; 5211394Sswallace u_char c_cc[IBCS2_NCC]; 5311394Sswallace}; 5411394Sswallace 5511394Sswallacestruct ibcs2_termios { 5611394Sswallace ibcs2_tcflag_t c_iflag; 5711394Sswallace ibcs2_tcflag_t c_oflag; 5811394Sswallace ibcs2_tcflag_t c_cflag; 5911394Sswallace ibcs2_tcflag_t c_lflag; 6011394Sswallace char c_line; 6111394Sswallace ibcs2_cc_t c_cc[IBCS2_NCCS]; 6211394Sswallace char c_ispeed; 6311394Sswallace char c_ospeed; 6411394Sswallace}; 6511394Sswallace 6611394Sswallace#define IBCS2_VINTR 0 6711394Sswallace#define IBCS2_VQUIT 1 6811394Sswallace#define IBCS2_VERASE 2 6911394Sswallace#define IBCS2_VKILL 3 7011394Sswallace#define IBCS2_VEOF 4 7111394Sswallace#define IBCS2_VEOL 5 7211394Sswallace#define IBCS2_VEOL2 6 7311394Sswallace#define IBCS2_VMIN 4 7411394Sswallace#define IBCS2_VTIME 5 7511394Sswallace#define IBCS2_VSWTCH 7 7611394Sswallace#define IBCS2_VSUSP 10 7711394Sswallace#define IBCS2_VSTART 11 7811394Sswallace#define IBCS2_VSTOP 12 7911394Sswallace 8011394Sswallace#define IBCS2_CNUL 0 8111394Sswallace#define IBCS2_CDEL 0377 8211394Sswallace#define IBCS2_CESC '\\' 8311394Sswallace#define IBCS2_CINTR 0177 8411394Sswallace#define IBCS2_CQUIT 034 8511394Sswallace#define IBCS2_CERASE '#' 8611394Sswallace#define IBCS2_CKILL '@' 8711394Sswallace#define IBCS2_CSTART 021 8811394Sswallace#define IBCS2_CSTOP 023 8911394Sswallace#define IBCS2_CSWTCH 032 9011394Sswallace#define IBCS2_CNSWTCH 0 9111394Sswallace#define IBCS2_CSUSP 032 9211394Sswallace 9311394Sswallace#define IBCS2_IGNBRK 0000001 9411394Sswallace#define IBCS2_BRKINT 0000002 9511394Sswallace#define IBCS2_IGNPAR 0000004 9611394Sswallace#define IBCS2_PARMRK 0000010 9711394Sswallace#define IBCS2_INPCK 0000020 9811394Sswallace#define IBCS2_ISTRIP 0000040 9911394Sswallace#define IBCS2_INLCR 0000100 10011394Sswallace#define IBCS2_IGNCR 0000200 10111394Sswallace#define IBCS2_ICRNL 0000400 10211394Sswallace#define IBCS2_IUCLC 0001000 10311394Sswallace#define IBCS2_IXON 0002000 10411394Sswallace#define IBCS2_IXANY 0004000 10511394Sswallace#define IBCS2_IXOFF 0010000 10611394Sswallace#define IBCS2_IMAXBEL 0020000 10711394Sswallace#define IBCS2_DOSMODE 0100000 10811394Sswallace 10911394Sswallace#define IBCS2_OPOST 0000001 11011394Sswallace#define IBCS2_OLCUC 0000002 11111394Sswallace#define IBCS2_ONLCR 0000004 11211394Sswallace#define IBCS2_OCRNL 0000010 11311394Sswallace#define IBCS2_ONOCR 0000020 11411394Sswallace#define IBCS2_ONLRET 0000040 11511394Sswallace#define IBCS2_OFILL 0000100 11611394Sswallace#define IBCS2_OFDEL 0000200 11711394Sswallace#define IBCS2_NLDLY 0000400 11811394Sswallace#define IBCS2_NL0 0000000 11911394Sswallace#define IBCS2_NL1 0000400 12011394Sswallace#define IBCS2_CRDLY 0003000 12111394Sswallace#define IBCS2_CR0 0000000 12211394Sswallace#define IBCS2_CR1 0001000 12311394Sswallace#define IBCS2_CR2 0002000 12411394Sswallace#define IBCS2_CR3 0003000 12511394Sswallace#define IBCS2_TABDLY 0014000 12611394Sswallace#define IBCS2_TAB0 0000000 12711394Sswallace#define IBCS2_TAB1 0004000 12811394Sswallace#define IBCS2_TAB2 0010000 12911394Sswallace#define IBCS2_TAB3 0014000 13011394Sswallace#define IBCS2_BSDLY 0020000 13111394Sswallace#define IBCS2_BS0 0000000 13211394Sswallace#define IBCS2_BS1 0020000 13311394Sswallace#define IBCS2_VTDLY 0040000 13411394Sswallace#define IBCS2_VT0 0000000 13511394Sswallace#define IBCS2_VT1 0040000 13611394Sswallace#define IBCS2_FFDLY 0100000 13711394Sswallace#define IBCS2_FF0 0000000 13811394Sswallace#define IBCS2_FF1 0100000 13911394Sswallace 14011394Sswallace#define IBCS2_CBAUD 0000017 14111394Sswallace#define IBCS2_CSIZE 0000060 14211394Sswallace#define IBCS2_CS5 0000000 14311394Sswallace#define IBCS2_CS6 0000020 14411394Sswallace#define IBCS2_CS7 0000040 14511394Sswallace#define IBCS2_CS8 0000060 14611394Sswallace#define IBCS2_CSTOPB 0000100 14711394Sswallace#define IBCS2_CREAD 0000200 14811394Sswallace#define IBCS2_PARENB 0000400 14911394Sswallace#define IBCS2_PARODD 0001000 15011394Sswallace#define IBCS2_HUPCL 0002000 15111394Sswallace#define IBCS2_CLOCAL 0004000 15211394Sswallace#define IBCS2_RCV1EN 0010000 15311394Sswallace#define IBCS2_XMT1EN 0020000 15411394Sswallace#define IBCS2_LOBLK 0040000 15511394Sswallace#define IBCS2_XCLUDE 0100000 15611394Sswallace 15711394Sswallace#define IBCS2_ISIG 0000001 15811394Sswallace#define IBCS2_ICANON 0000002 15911394Sswallace#define IBCS2_XCASE 0000004 16011394Sswallace#define IBCS2_ECHO 0000010 16111394Sswallace#define IBCS2_ECHOE 0000020 16211394Sswallace#define IBCS2_ECHOK 0000040 16311394Sswallace#define IBCS2_ECHONL 0000100 16411394Sswallace#define IBCS2_NOFLSH 0000200 16511394Sswallace#define IBCS2_IEXTEN 0000400 16611394Sswallace#define IBCS2_TOSTOP 0001000 16711394Sswallace 16811394Sswallace#define IBCS2_XIOC (('i'<<24)|('X'<<16)) 16911394Sswallace#define IBCS2_XCGETA (IBCS2_XIOC|1) 17011394Sswallace#define IBCS2_XCSETA (IBCS2_XIOC|2) 17111394Sswallace#define IBCS2_XCSETAW (IBCS2_XIOC|3) 17211394Sswallace#define IBCS2_XCSETAF (IBCS2_XIOC|4) 17311394Sswallace 17411394Sswallace#define IBCS2_OXIOC ('x'<<8) 17511394Sswallace#define IBCS2_OXCGETA (IBCS2_OXIOC|1) 17611394Sswallace#define IBCS2_OXCSETA (IBCS2_OXIOC|2) 17711394Sswallace#define IBCS2_OXCSETAW (IBCS2_OXIOC|3) 17811394Sswallace#define IBCS2_OXCSETAF (IBCS2_OXIOC|4) 17911394Sswallace 18011394Sswallace#define IBCS2_TIOC ('T'<<8) 18111394Sswallace#define IBCS2_TCGETA (IBCS2_TIOC|1) 18211394Sswallace#define IBCS2_TCSETA (IBCS2_TIOC|2) 18311394Sswallace#define IBCS2_TCSETAW (IBCS2_TIOC|3) 18411394Sswallace#define IBCS2_TCSETAF (IBCS2_TIOC|4) 18511394Sswallace#define IBCS2_TCSBRK (IBCS2_TIOC|5) 18611394Sswallace#define IBCS2_TCXONC (IBCS2_TIOC|6) 18711394Sswallace#define IBCS2_TCFLSH (IBCS2_TIOC|7) 18811394Sswallace 18911394Sswallace#define IBCS2_TCGETSC (IBCS2_TIOC|34) 19011394Sswallace#define IBCS2_TCSETSC (IBCS2_TIOC|35) 19111394Sswallace 19211394Sswallace#define IBCS2_TIOCSWINSZ (IBCS2_TIOC|103) 19311394Sswallace#define IBCS2_TIOCGWINSZ (IBCS2_TIOC|104) 19411394Sswallace#define IBCS2_TIOCSPGRP (IBCS2_TIOC|118) 19511394Sswallace#define IBCS2_TIOCGPGRP (IBCS2_TIOC|119) 19611394Sswallace 19711394Sswallace#define IBCS2_TCSANOW IBCS2_XCSETA 19811394Sswallace#define IBCS2_TCSADRAIN IBCS2_XCSETAW 19911394Sswallace#define IBCS2_TCSAFLUSH IBCS2_XCSETAF 20011394Sswallace#define IBCS2_TCSADFLUSH IBCS2_XCSETAF 20111394Sswallace 20211394Sswallace#define IBCS2_TCIFLUSH 0 20311394Sswallace#define IBCS2_TCOFLUSH 1 20411394Sswallace#define IBCS2_TCIOFLUSH 2 20511394Sswallace 20611394Sswallace#define IBCS2_TCOOFF 0 20711394Sswallace#define IBCS2_TCOON 1 20811394Sswallace#define IBCS2_TCIOFF 2 20911394Sswallace#define IBCS2_TCION 3 21011394Sswallace 21111394Sswallace#define IBCS2_B0 0 21211394Sswallace#define IBCS2_B50 1 21311394Sswallace#define IBCS2_B75 2 21411394Sswallace#define IBCS2_B110 3 21511394Sswallace#define IBCS2_B134 4 21611394Sswallace#define IBCS2_B150 5 21711394Sswallace#define IBCS2_B200 6 21811394Sswallace#define IBCS2_B300 7 21911394Sswallace#define IBCS2_B600 8 22011394Sswallace#define IBCS2_B1200 9 22111394Sswallace#define IBCS2_B1800 10 22211394Sswallace#define IBCS2_B2400 11 22311394Sswallace#define IBCS2_B4800 12 22411394Sswallace#define IBCS2_B9600 13 22511394Sswallace#define IBCS2_B19200 14 22611394Sswallace#define IBCS2_B38400 15 22711394Sswallace 22811394Sswallacestruct ibcs2_winsize { 22911394Sswallace u_short ws_row; 23011394Sswallace u_short ws_col; 23111394Sswallace u_short ws_xpixel; 23211394Sswallace u_short ws_ypixel; 23311394Sswallace}; 23411394Sswallace 23511394Sswallace#endif /* _IBCS2_H_ */ 23611394Sswallace 237