linux/include/uapi/asm-generic/termbits.h
<<
>>
Prefs
   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