130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef __ASM_GENERIC_TERMBITS_H 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define __ASM_GENERIC_TERMBITS_H 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/posix_types.h> 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 630692c65c4174412c90e79489e98ab85c1a7412fBen Chengtypedef unsigned char cc_t; 730692c65c4174412c90e79489e98ab85c1a7412fBen Chengtypedef unsigned int speed_t; 830692c65c4174412c90e79489e98ab85c1a7412fBen Chengtypedef unsigned int tcflag_t; 930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NCCS 19 1130692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct termios { 1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_iflag; /* input mode flags */ 1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_oflag; /* output mode flags */ 1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_cflag; /* control mode flags */ 1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_lflag; /* local mode flags */ 1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng cc_t c_line; /* line discipline */ 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng cc_t c_cc[NCCS]; /* control characters */ 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2030692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct termios2 { 2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_iflag; /* input mode flags */ 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_oflag; /* output mode flags */ 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_cflag; /* control mode flags */ 2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_lflag; /* local mode flags */ 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng cc_t c_line; /* line discipline */ 2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng cc_t c_cc[NCCS]; /* control characters */ 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng speed_t c_ispeed; /* input speed */ 2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng speed_t c_ospeed; /* output speed */ 2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3130692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct ktermios { 3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_iflag; /* input mode flags */ 3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_oflag; /* output mode flags */ 3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_cflag; /* control mode flags */ 3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng tcflag_t c_lflag; /* local mode flags */ 3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng cc_t c_line; /* line discipline */ 3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng cc_t c_cc[NCCS]; /* control characters */ 3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng speed_t c_ispeed; /* input speed */ 3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng speed_t c_ospeed; /* output speed */ 4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* c_cc characters */ 4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VINTR 0 4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VQUIT 1 4530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VERASE 2 4630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VKILL 3 4730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VEOF 4 4830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VTIME 5 4930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VMIN 6 5030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VSWTC 7 5130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VSTART 8 5230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VSTOP 9 5330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VSUSP 10 5430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VEOL 11 5530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VREPRINT 12 5630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VDISCARD 13 5730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VWERASE 14 5830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VLNEXT 15 5930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VEOL2 16 6030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 6130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* c_iflag bits */ 6230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IGNBRK 0000001 6330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define BRKINT 0000002 6430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IGNPAR 0000004 6530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PARMRK 0000010 6630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define INPCK 0000020 6730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ISTRIP 0000040 6830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define INLCR 0000100 6930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IGNCR 0000200 7030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ICRNL 0000400 7130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IUCLC 0001000 7230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IXON 0002000 7330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IXANY 0004000 7430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IXOFF 0010000 7530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IMAXBEL 0020000 7630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IUTF8 0040000 7730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 7830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* c_oflag bits */ 7930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define OPOST 0000001 8030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define OLCUC 0000002 8130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ONLCR 0000004 8230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define OCRNL 0000010 8330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ONOCR 0000020 8430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ONLRET 0000040 8530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define OFILL 0000100 8630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define OFDEL 0000200 8730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NLDLY 0000400 8830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NL0 0000000 8930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NL1 0000400 9030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CRDLY 0003000 9130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CR0 0000000 9230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CR1 0001000 9330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CR2 0002000 9430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CR3 0003000 9530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TABDLY 0014000 9630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TAB0 0000000 9730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TAB1 0004000 9830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TAB2 0010000 9930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TAB3 0014000 10030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define XTABS 0014000 10130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define BSDLY 0020000 10230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define BS0 0000000 10330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define BS1 0020000 10430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VTDLY 0040000 10530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VT0 0000000 10630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define VT1 0040000 10730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FFDLY 0100000 10830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FF0 0000000 10930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FF1 0100000 11030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 11130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* c_cflag bit meaning */ 11230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CBAUD 0010017 11330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B0 0000000 /* hang up */ 11430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B50 0000001 11530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B75 0000002 11630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B110 0000003 11730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B134 0000004 11830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B150 0000005 11930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B200 0000006 12030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B300 0000007 12130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B600 0000010 12230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B1200 0000011 12330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B1800 0000012 12430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B2400 0000013 12530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B4800 0000014 12630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B9600 0000015 12730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B19200 0000016 12830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B38400 0000017 12930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EXTA B19200 13030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EXTB B38400 13130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CSIZE 0000060 13230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CS5 0000000 13330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CS6 0000020 13430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CS7 0000040 13530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CS8 0000060 13630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CSTOPB 0000100 13730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CREAD 0000200 13830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PARENB 0000400 13930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PARODD 0001000 14030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define HUPCL 0002000 14130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CLOCAL 0004000 14230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CBAUDEX 0010000 14330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define BOTHER 0010000 14430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B57600 0010001 14530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B115200 0010002 14630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B230400 0010003 14730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B460800 0010004 14830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B500000 0010005 14930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B576000 0010006 15030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B921600 0010007 15130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B1000000 0010010 15230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B1152000 0010011 15330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B1500000 0010012 15430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B2000000 0010013 15530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B2500000 0010014 15630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B3000000 0010015 15730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B3500000 0010016 15830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define B4000000 0010017 15930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CIBAUD 002003600000 /* input baud rate */ 16030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CMSPAR 010000000000 /* mark or space (stick) parity */ 16130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CRTSCTS 020000000000 /* flow control */ 16230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 16330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ 16430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 16530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* c_lflag bits */ 16630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ISIG 0000001 16730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ICANON 0000002 16830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define XCASE 0000004 16930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ECHO 0000010 17030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ECHOE 0000020 17130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ECHOK 0000040 17230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ECHONL 0000100 17330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NOFLSH 0000200 17430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TOSTOP 0000400 17530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ECHOCTL 0001000 17630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ECHOPRT 0002000 17730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ECHOKE 0004000 17830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FLUSHO 0010000 17930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PENDIN 0040000 18030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IEXTEN 0100000 18130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EXTPROC 0200000 18230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 18330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* tcflow() and TCXONC use these */ 18430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCOOFF 0 18530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCOON 1 18630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCIOFF 2 18730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCION 3 18830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 18930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* tcflush() and TCFLSH use these */ 19030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCIFLUSH 0 19130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCOFLUSH 1 19230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCIOFLUSH 2 19330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 19430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* tcsetattr uses these */ 19530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCSANOW 0 19630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCSADRAIN 1 19730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCSAFLUSH 2 19830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 19930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* __ASM_GENERIC_TERMBITS_H */ 200