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