1c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#ifndef _ASM_X86_TERMBITS_H 2c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define _ASM_X86_TERMBITS_H 3c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 4c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#include <linux/posix_types.h> 5c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 6c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Querutypedef unsigned char cc_t; 7c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Querutypedef unsigned int speed_t; 8c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Querutypedef unsigned int tcflag_t; 9c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 10c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define NCCS 19 11c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Querustruct termios { 12c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_iflag; /* input mode flags */ 13c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_oflag; /* output mode flags */ 14c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_cflag; /* control mode flags */ 15c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_lflag; /* local mode flags */ 16c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru cc_t c_line; /* line discipline */ 17c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru cc_t c_cc[NCCS]; /* control characters */ 18c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru}; 19c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 20c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Querustruct termios2 { 21c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_iflag; /* input mode flags */ 22c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_oflag; /* output mode flags */ 23c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_cflag; /* control mode flags */ 24c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_lflag; /* local mode flags */ 25c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru cc_t c_line; /* line discipline */ 26c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru cc_t c_cc[NCCS]; /* control characters */ 27c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru speed_t c_ispeed; /* input speed */ 28c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru speed_t c_ospeed; /* output speed */ 29c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru}; 30c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 31c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Querustruct ktermios { 32c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_iflag; /* input mode flags */ 33c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_oflag; /* output mode flags */ 34c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_cflag; /* control mode flags */ 35c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru tcflag_t c_lflag; /* local mode flags */ 36c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru cc_t c_line; /* line discipline */ 37c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru cc_t c_cc[NCCS]; /* control characters */ 38c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru speed_t c_ispeed; /* input speed */ 39c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru speed_t c_ospeed; /* output speed */ 40c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru}; 41c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 42c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru/* c_cc characters */ 43c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VINTR 0 44c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VQUIT 1 45c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VERASE 2 46c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VKILL 3 47c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VEOF 4 48c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VTIME 5 49c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VMIN 6 50c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VSWTC 7 51c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VSTART 8 52c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VSTOP 9 53c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VSUSP 10 54c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VEOL 11 55c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VREPRINT 12 56c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VDISCARD 13 57c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VWERASE 14 58c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VLNEXT 15 59c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VEOL2 16 60c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 61c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru/* c_iflag bits */ 62c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define IGNBRK 0000001 63c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define BRKINT 0000002 64c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define IGNPAR 0000004 65c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define PARMRK 0000010 66c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define INPCK 0000020 67c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ISTRIP 0000040 68c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define INLCR 0000100 69c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define IGNCR 0000200 70c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ICRNL 0000400 71c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define IUCLC 0001000 72c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define IXON 0002000 73c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define IXANY 0004000 74c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define IXOFF 0010000 75c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define IMAXBEL 0020000 76c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define IUTF8 0040000 77c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 78c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru/* c_oflag bits */ 79c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define OPOST 0000001 80c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define OLCUC 0000002 81c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ONLCR 0000004 82c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define OCRNL 0000010 83c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ONOCR 0000020 84c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ONLRET 0000040 85c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define OFILL 0000100 86c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define OFDEL 0000200 87c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define NLDLY 0000400 88c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define NL0 0000000 89c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define NL1 0000400 90c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CRDLY 0003000 91c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CR0 0000000 92c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CR1 0001000 93c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CR2 0002000 94c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CR3 0003000 95c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TABDLY 0014000 96c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TAB0 0000000 97c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TAB1 0004000 98c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TAB2 0010000 99c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TAB3 0014000 100c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define XTABS 0014000 101c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define BSDLY 0020000 102c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define BS0 0000000 103c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define BS1 0020000 104c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VTDLY 0040000 105c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VT0 0000000 106c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define VT1 0040000 107c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define FFDLY 0100000 108c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define FF0 0000000 109c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define FF1 0100000 110c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 111c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru/* c_cflag bit meaning */ 112c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CBAUD 0010017 113c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B0 0000000 /* hang up */ 114c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B50 0000001 115c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B75 0000002 116c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B110 0000003 117c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B134 0000004 118c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B150 0000005 119c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B200 0000006 120c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B300 0000007 121c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B600 0000010 122c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B1200 0000011 123c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B1800 0000012 124c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B2400 0000013 125c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B4800 0000014 126c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B9600 0000015 127c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B19200 0000016 128c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B38400 0000017 129c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define EXTA B19200 130c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define EXTB B38400 131c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CSIZE 0000060 132c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CS5 0000000 133c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CS6 0000020 134c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CS7 0000040 135c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CS8 0000060 136c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CSTOPB 0000100 137c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CREAD 0000200 138c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define PARENB 0000400 139c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define PARODD 0001000 140c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define HUPCL 0002000 141c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CLOCAL 0004000 142c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CBAUDEX 0010000 143c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define BOTHER 0010000 /* non standard rate */ 144c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B57600 0010001 145c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B115200 0010002 146c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B230400 0010003 147c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B460800 0010004 148c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B500000 0010005 149c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B576000 0010006 150c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B921600 0010007 151c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B1000000 0010010 152c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B1152000 0010011 153c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B1500000 0010012 154c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B2000000 0010013 155c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B2500000 0010014 156c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B3000000 0010015 157c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B3500000 0010016 158c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define B4000000 0010017 159c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CIBAUD 002003600000 /* input baud rate */ 160c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CMSPAR 010000000000 /* mark or space (stick) parity */ 161c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define CRTSCTS 020000000000 /* flow control */ 162c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 163c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ 164c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 165c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru/* c_lflag bits */ 166c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ISIG 0000001 167c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ICANON 0000002 168c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define XCASE 0000004 169c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ECHO 0000010 170c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ECHOE 0000020 171c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ECHOK 0000040 172c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ECHONL 0000100 173c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define NOFLSH 0000200 174c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TOSTOP 0000400 175c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ECHOCTL 0001000 176c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ECHOPRT 0002000 177c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define ECHOKE 0004000 178c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define FLUSHO 0010000 179c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define PENDIN 0040000 180c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define IEXTEN 0100000 181c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 182c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru/* tcflow() and TCXONC use these */ 183c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TCOOFF 0 184c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TCOON 1 185c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TCIOFF 2 186c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TCION 3 187c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 188c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru/* tcflush() and TCFLSH use these */ 189c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TCIFLUSH 0 190c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TCOFLUSH 1 191c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TCIOFLUSH 2 192c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 193c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru/* tcsetattr uses these */ 194c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TCSANOW 0 195c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TCSADRAIN 1 196c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define TCSAFLUSH 2 197c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 198c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#endif /* _ASM_X86_TERMBITS_H */ 199