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