1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2#ifndef __ARCH_PARISC_TERMBITS_H__ 3#define __ARCH_PARISC_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#define NCCS 19 12struct termios { 13 tcflag_t c_iflag; /* input mode flags */ 14 tcflag_t c_oflag; /* output mode flags */ 15 tcflag_t c_cflag; /* control mode flags */ 16 tcflag_t c_lflag; /* local mode flags */ 17 cc_t c_line; /* line discipline */ 18 cc_t c_cc[NCCS]; /* control characters */ 19}; 20 21struct termios2 { 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 speed_t c_ispeed; /* input speed */ 29 speed_t c_ospeed; /* output speed */ 30}; 31 32struct ktermios { 33 tcflag_t c_iflag; /* input mode flags */ 34 tcflag_t c_oflag; /* output mode flags */ 35 tcflag_t c_cflag; /* control mode flags */ 36 tcflag_t c_lflag; /* local mode flags */ 37 cc_t c_line; /* line discipline */ 38 cc_t c_cc[NCCS]; /* control characters */ 39 speed_t c_ispeed; /* input speed */ 40 speed_t c_ospeed; /* output speed */ 41}; 42 43/* c_cc characters */ 44#define VINTR 0 45#define VQUIT 1 46#define VERASE 2 47#define VKILL 3 48#define VEOF 4 49#define VTIME 5 50#define VMIN 6 51#define VSWTC 7 52#define VSTART 8 53#define VSTOP 9 54#define VSUSP 10 55#define VEOL 11 56#define VREPRINT 12 57#define VDISCARD 13 58#define VWERASE 14 59#define VLNEXT 15 60#define VEOL2 16 61 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 0040000 78#define IUTF8 0100000 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#define CBAUD 0010017 115#define B0 0000000 /* hang up */ 116#define B50 0000001 117#define B75 0000002 118#define B110 0000003 119#define B134 0000004 120#define B150 0000005 121#define B200 0000006 122#define B300 0000007 123#define B600 0000010 124#define B1200 0000011 125#define B1800 0000012 126#define B2400 0000013 127#define B4800 0000014 128#define B9600 0000015 129#define B19200 0000016 130#define B38400 0000017 131#define EXTA B19200 132#define EXTB B38400 133#define CSIZE 0000060 134#define CS5 0000000 135#define CS6 0000020 136#define CS7 0000040 137#define CS8 0000060 138#define CSTOPB 0000100 139#define CREAD 0000200 140#define PARENB 0000400 141#define PARODD 0001000 142#define HUPCL 0002000 143#define CLOCAL 0004000 144#define CBAUDEX 0010000 145#define BOTHER 0010000 146#define B57600 0010001 147#define B115200 0010002 148#define B230400 0010003 149#define B460800 0010004 150#define B500000 0010005 151#define B576000 0010006 152#define B921600 0010007 153#define B1000000 0010010 154#define B1152000 0010011 155#define B1500000 0010012 156#define B2000000 0010013 157#define B2500000 0010014 158#define B3000000 0010015 159#define B3500000 0010016 160#define B4000000 0010017 161#define CIBAUD 002003600000 /* input baud rate */ 162#define CMSPAR 010000000000 /* mark or space (stick) parity */ 163#define CRTSCTS 020000000000 /* flow control */ 164 165#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ 166 167 168/* c_lflag bits */ 169#define ISIG 0000001 170#define ICANON 0000002 171#define XCASE 0000004 172#define ECHO 0000010 173#define ECHOE 0000020 174#define ECHOK 0000040 175#define ECHONL 0000100 176#define NOFLSH 0000200 177#define TOSTOP 0000400 178#define ECHOCTL 0001000 179#define ECHOPRT 0002000 180#define ECHOKE 0004000 181#define FLUSHO 0010000 182#define PENDIN 0040000 183#define IEXTEN 0100000 184#define EXTPROC 0200000 185 186/* tcflow() and TCXONC use these */ 187#define TCOOFF 0 188#define TCOON 1 189#define TCIOFF 2 190#define TCION 3 191 192/* tcflush() and TCFLSH use these */ 193#define TCIFLUSH 0 194#define TCOFLUSH 1 195#define TCIOFLUSH 2 196 197/* tcsetattr uses these */ 198#define TCSANOW 0 199#define TCSADRAIN 1 200#define TCSAFLUSH 2 201 202#endif 203