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