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