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