111394Sswallace/*	$NetBSD: ibcs2_termios.h,v 1.3 1994/10/26 02:53:07 cgd Exp $	*/
2139799Simp/* $FreeBSD: releng/11.0/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