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