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