11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef __ARCH_PARISC_TERMBITS_H__
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define __ARCH_PARISC_TERMBITS_H__
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/posix_types.h>
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef unsigned char	cc_t;
71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef unsigned int	speed_t;
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef unsigned int	tcflag_t;
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define NCCS 19
111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsstruct termios {
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tcflag_t c_iflag;		/* input mode flags */
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tcflag_t c_oflag;		/* output mode flags */
141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tcflag_t c_cflag;		/* control mode flags */
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tcflag_t c_lflag;		/* local mode flags */
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	cc_t c_line;			/* line discipline */
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	cc_t c_cc[NCCS];		/* control characters */
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds};
191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
204eb6bf6bfb580afaf1e1a1d30cba17a078530cf4Alan Coxstruct termios2 {
214eb6bf6bfb580afaf1e1a1d30cba17a078530cf4Alan Cox	tcflag_t c_iflag;		/* input mode flags */
224eb6bf6bfb580afaf1e1a1d30cba17a078530cf4Alan Cox	tcflag_t c_oflag;		/* output mode flags */
234eb6bf6bfb580afaf1e1a1d30cba17a078530cf4Alan Cox	tcflag_t c_cflag;		/* control mode flags */
244eb6bf6bfb580afaf1e1a1d30cba17a078530cf4Alan Cox	tcflag_t c_lflag;		/* local mode flags */
254eb6bf6bfb580afaf1e1a1d30cba17a078530cf4Alan Cox	cc_t c_line;			/* line discipline */
264eb6bf6bfb580afaf1e1a1d30cba17a078530cf4Alan Cox	cc_t c_cc[NCCS];		/* control characters */
274eb6bf6bfb580afaf1e1a1d30cba17a078530cf4Alan Cox	speed_t c_ispeed;		/* input speed */
284eb6bf6bfb580afaf1e1a1d30cba17a078530cf4Alan Cox	speed_t c_ospeed;		/* output speed */
294eb6bf6bfb580afaf1e1a1d30cba17a078530cf4Alan Cox};
304eb6bf6bfb580afaf1e1a1d30cba17a078530cf4Alan Cox
31be90038a24c814dc98bc5a813f41855779000018Alan Coxstruct ktermios {
32be90038a24c814dc98bc5a813f41855779000018Alan Cox	tcflag_t c_iflag;		/* input mode flags */
33be90038a24c814dc98bc5a813f41855779000018Alan Cox	tcflag_t c_oflag;		/* output mode flags */
34be90038a24c814dc98bc5a813f41855779000018Alan Cox	tcflag_t c_cflag;		/* control mode flags */
35be90038a24c814dc98bc5a813f41855779000018Alan Cox	tcflag_t c_lflag;		/* local mode flags */
36be90038a24c814dc98bc5a813f41855779000018Alan Cox	cc_t c_line;			/* line discipline */
37be90038a24c814dc98bc5a813f41855779000018Alan Cox	cc_t c_cc[NCCS];		/* control characters */
38be90038a24c814dc98bc5a813f41855779000018Alan Cox	speed_t c_ispeed;		/* input speed */
39be90038a24c814dc98bc5a813f41855779000018Alan Cox	speed_t c_ospeed;		/* output speed */
40be90038a24c814dc98bc5a813f41855779000018Alan Cox};
41be90038a24c814dc98bc5a813f41855779000018Alan Cox
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* c_cc characters */
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VINTR 0
441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VQUIT 1
451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VERASE 2
461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VKILL 3
471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VEOF 4
481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VTIME 5
491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VMIN 6
501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VSWTC 7
511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VSTART 8
521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VSTOP 9
531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VSUSP 10
541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VEOL 11
551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VREPRINT 12
561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VDISCARD 13
571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VWERASE 14
581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VLNEXT 15
591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VEOL2 16
601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* c_iflag bits */
631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IGNBRK	0000001
641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define BRKINT	0000002
651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IGNPAR	0000004
661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define PARMRK	0000010
671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define INPCK	0000020
681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ISTRIP	0000040
691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define INLCR	0000100
701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IGNCR	0000200
711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ICRNL	0000400
721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IUCLC	0001000
731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IXON	0002000
741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IXANY	0004000
751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IXOFF	0010000
761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IMAXBEL	0040000
771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IUTF8	0100000
781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* c_oflag bits */
801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define OPOST	0000001
811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define OLCUC	0000002
821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ONLCR	0000004
831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define OCRNL	0000010
841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ONOCR	0000020
851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ONLRET	0000040
861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define OFILL	0000100
871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define OFDEL	0000200
881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define NLDLY	0000400
891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   NL0	0000000
901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   NL1	0000400
911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CRDLY	0003000
921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   CR0	0000000
931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   CR1	0001000
941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   CR2	0002000
951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   CR3	0003000
961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define TABDLY	0014000
971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   TAB0	0000000
981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   TAB1	0004000
991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   TAB2	0010000
1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   TAB3	0014000
1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   XTABS	0014000
1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define BSDLY	0020000
1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   BS0	0000000
1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   BS1	0020000
1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VTDLY	0040000
1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   VT0	0000000
1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   VT1	0040000
1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define FFDLY	0100000
1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   FF0	0000000
1101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   FF1	0100000
1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* c_cflag bit meaning */
1131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CBAUD   0010017
1141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B0     0000000         /* hang up */
1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B50    0000001
1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B75    0000002
1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B110   0000003
1181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B134   0000004
1191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B150   0000005
1201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B200   0000006
1211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B300   0000007
1221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B600   0000010
1231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B1200  0000011
1241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B1800  0000012
1251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B2400  0000013
1261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B4800  0000014
1271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B9600  0000015
1281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B19200 0000016
1291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B38400 0000017
1301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EXTA B19200
1311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EXTB B38400
1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CSIZE   0000060
1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   CS5   0000000
1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   CS6   0000020
1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   CS7   0000040
1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   CS8   0000060
1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CSTOPB  0000100
1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CREAD   0000200
1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define PARENB  0000400
1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define PARODD  0001000
1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HUPCL   0002000
1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CLOCAL  0004000
1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CBAUDEX 0010000
1449e491e54f0589cc26e2c096664e9d95493b1af29Alan Cox#define    BOTHER 0010000
1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define    B57600 0010001
1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   B115200 0010002
1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   B230400 0010003
1481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   B460800 0010004
1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   B500000 0010005
1501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   B576000 0010006
1511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define   B921600 0010007
1521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B1000000 0010010
1531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B1152000 0010011
1541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B1500000 0010012
1551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B2000000 0010013
1561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B2500000 0010014
1571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B3000000 0010015
1581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B3500000 0010016
1591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define  B4000000 0010017
1609e491e54f0589cc26e2c096664e9d95493b1af29Alan Cox#define CIBAUD    002003600000		/* input baud rate */
1611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CMSPAR    010000000000          /* mark or space (stick) parity */
1621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CRTSCTS   020000000000          /* flow control */
1631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1649e491e54f0589cc26e2c096664e9d95493b1af29Alan Cox#define IBSHIFT	16		/* Shift from CBAUD to CIBAUD */
1659e491e54f0589cc26e2c096664e9d95493b1af29Alan Cox
1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* c_lflag bits */
1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ISIG    0000001
1691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ICANON  0000002
1701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define XCASE   0000004
1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ECHO    0000010
1721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ECHOE   0000020
1731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ECHOK   0000040
1741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ECHONL  0000100
1751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define NOFLSH  0000200
1761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define TOSTOP  0000400
1771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ECHOCTL 0001000
1781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ECHOPRT 0002000
1791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ECHOKE  0004000
1801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define FLUSHO  0010000
1811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define PENDIN  0040000
1821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IEXTEN  0100000
18326df6d13406d1a53b0bda08bd712f1924affd7cdhyc@symas.com#define EXTPROC	0200000
1841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* tcflow() and TCXONC use these */
1861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define	TCOOFF		0
1871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define	TCOON		1
1881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define	TCIOFF		2
1891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define	TCION		3
1901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* tcflush() and TCFLSH use these */
1921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define	TCIFLUSH	0
1931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define	TCOFLUSH	1
1941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define	TCIOFLUSH	2
1951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* tcsetattr uses these */
1971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define	TCSANOW		0
1981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define	TCSADRAIN	1
1991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define	TCSAFLUSH	2
2001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif
202