linux/arch/alpha/include/uapi/asm/termbits.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2#ifndef _ALPHA_TERMBITS_H
   3#define _ALPHA_TERMBITS_H
   4
   5#include <linux/posix_types.h>
   6
   7typedef unsigned char   cc_t;
   8typedef unsigned int    speed_t;
   9typedef unsigned int    tcflag_t;
  10
  11/*
  12 * termios type and macro definitions.  Be careful about adding stuff
  13 * to this file since it's used in GNU libc and there are strict rules
  14 * concerning namespace pollution.
  15 */
  16
  17#define NCCS 19
  18struct termios {
  19        tcflag_t c_iflag;               /* input mode flags */
  20        tcflag_t c_oflag;               /* output mode flags */
  21        tcflag_t c_cflag;               /* control mode flags */
  22        tcflag_t c_lflag;               /* local mode flags */
  23        cc_t c_cc[NCCS];                /* control characters */
  24        cc_t c_line;                    /* line discipline (== c_cc[19]) */
  25        speed_t c_ispeed;               /* input speed */
  26        speed_t c_ospeed;               /* output speed */
  27};
  28
  29/* Alpha has identical termios and termios2 */
  30
  31struct termios2 {
  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_cc[NCCS];                /* control characters */
  37        cc_t c_line;                    /* line discipline (== c_cc[19]) */
  38        speed_t c_ispeed;               /* input speed */
  39        speed_t c_ospeed;               /* output speed */
  40};
  41
  42/* Alpha has matching termios and ktermios */
  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_cc[NCCS];                /* control characters */
  50        cc_t c_line;                    /* line discipline (== c_cc[19]) */
  51        speed_t c_ispeed;               /* input speed */
  52        speed_t c_ospeed;               /* output speed */
  53};
  54
  55/* c_cc characters */
  56#define VEOF 0
  57#define VEOL 1
  58#define VEOL2 2
  59#define VERASE 3
  60#define VWERASE 4
  61#define VKILL 5
  62#define VREPRINT 6
  63#define VSWTC 7
  64#define VINTR 8
  65#define VQUIT 9
  66#define VSUSP 10
  67#define VSTART 12
  68#define VSTOP 13
  69#define VLNEXT 14
  70#define VDISCARD 15
  71#define VMIN 16
  72#define VTIME 17
  73
  74/* c_iflag bits */
  75#define IGNBRK  0000001
  76#define BRKINT  0000002
  77#define IGNPAR  0000004
  78#define PARMRK  0000010
  79#define INPCK   0000020
  80#define ISTRIP  0000040
  81#define INLCR   0000100
  82#define IGNCR   0000200
  83#define ICRNL   0000400
  84#define IXON    0001000
  85#define IXOFF   0002000
  86#define IXANY   0004000
  87#define IUCLC   0010000
  88#define IMAXBEL 0020000
  89#define IUTF8   0040000
  90
  91/* c_oflag bits */
  92#define OPOST   0000001
  93#define ONLCR   0000002
  94#define OLCUC   0000004
  95
  96#define OCRNL   0000010
  97#define ONOCR   0000020
  98#define ONLRET  0000040
  99
 100#define OFILL   00000100
 101#define OFDEL   00000200
 102#define NLDLY   00001400
 103#define   NL0   00000000
 104#define   NL1   00000400
 105#define   NL2   00001000
 106#define   NL3   00001400
 107#define TABDLY  00006000
 108#define   TAB0  00000000
 109#define   TAB1  00002000
 110#define   TAB2  00004000
 111#define   TAB3  00006000
 112#define CRDLY   00030000
 113#define   CR0   00000000
 114#define   CR1   00010000
 115#define   CR2   00020000
 116#define   CR3   00030000
 117#define FFDLY   00040000
 118#define   FF0   00000000
 119#define   FF1   00040000
 120#define BSDLY   00100000
 121#define   BS0   00000000
 122#define   BS1   00100000
 123#define VTDLY   00200000
 124#define   VT0   00000000
 125#define   VT1   00200000
 126/*
 127 * Should be equivalent to TAB3, see description of TAB3 in
 128 * POSIX.1-2008, Ch. 11.2.3 "Output Modes"
 129 */
 130#define XTABS   TAB3
 131
 132/* c_cflag bit meaning */
 133#define CBAUD   0000037
 134#define  B0     0000000         /* hang up */
 135#define  B50    0000001
 136#define  B75    0000002
 137#define  B110   0000003
 138#define  B134   0000004
 139#define  B150   0000005
 140#define  B200   0000006
 141#define  B300   0000007
 142#define  B600   0000010
 143#define  B1200  0000011
 144#define  B1800  0000012
 145#define  B2400  0000013
 146#define  B4800  0000014
 147#define  B9600  0000015
 148#define  B19200 0000016
 149#define  B38400 0000017
 150#define EXTA B19200
 151#define EXTB B38400
 152#define CBAUDEX 0000000
 153#define  B57600   00020
 154#define  B115200  00021
 155#define  B230400  00022
 156#define  B460800  00023
 157#define  B500000  00024
 158#define  B576000  00025
 159#define  B921600  00026
 160#define B1000000  00027
 161#define B1152000  00030
 162#define B1500000  00031
 163#define B2000000  00032
 164#define B2500000  00033
 165#define B3000000  00034
 166#define B3500000  00035
 167#define B4000000  00036
 168#define BOTHER    00037
 169
 170#define CSIZE   00001400
 171#define   CS5   00000000
 172#define   CS6   00000400
 173#define   CS7   00001000
 174#define   CS8   00001400
 175
 176#define CSTOPB  00002000
 177#define CREAD   00004000
 178#define PARENB  00010000
 179#define PARODD  00020000
 180#define HUPCL   00040000
 181
 182#define CLOCAL  00100000
 183#define CMSPAR    010000000000          /* mark or space (stick) parity */
 184#define CRTSCTS   020000000000          /* flow control */
 185
 186#define CIBAUD  07600000
 187#define IBSHIFT 16
 188
 189/* c_lflag bits */
 190#define ISIG    0x00000080
 191#define ICANON  0x00000100
 192#define XCASE   0x00004000
 193#define ECHO    0x00000008
 194#define ECHOE   0x00000002
 195#define ECHOK   0x00000004
 196#define ECHONL  0x00000010
 197#define NOFLSH  0x80000000
 198#define TOSTOP  0x00400000
 199#define ECHOCTL 0x00000040
 200#define ECHOPRT 0x00000020
 201#define ECHOKE  0x00000001
 202#define FLUSHO  0x00800000
 203#define PENDIN  0x20000000
 204#define IEXTEN  0x00000400
 205#define EXTPROC 0x10000000
 206
 207/* Values for the ACTION argument to `tcflow'.  */
 208#define TCOOFF          0
 209#define TCOON           1
 210#define TCIOFF          2
 211#define TCION           3
 212
 213/* Values for the QUEUE_SELECTOR argument to `tcflush'.  */
 214#define TCIFLUSH        0
 215#define TCOFLUSH        1
 216#define TCIOFLUSH       2
 217
 218/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
 219#define TCSANOW         0
 220#define TCSADRAIN       1
 221#define TCSAFLUSH       2
 222
 223#endif /* _ALPHA_TERMBITS_H */
 224