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