1/* $Id: termbits.h,v 1.1 2000/07/10 16:32:31 Exp $ */ 2 3#ifndef __ARCH_ETRAX100_TERMBITS_H__ 4#define __ARCH_ETRAX100_TERMBITS_H__ 5 6#include <linux/posix_types.h> 7 8typedef unsigned char cc_t; 9typedef unsigned int speed_t; 10typedef unsigned int tcflag_t; 11 12#define NCCS 19 13struct termios { 14 tcflag_t c_iflag; /* input mode flags */ 15 tcflag_t c_oflag; /* output mode flags */ 16 tcflag_t c_cflag; /* control mode flags */ 17 tcflag_t c_lflag; /* local mode flags */ 18 cc_t c_line; /* line discipline */ 19 cc_t c_cc[NCCS]; /* control characters */ 20}; 21 22struct termios2 { 23 tcflag_t c_iflag; /* input mode flags */ 24 tcflag_t c_oflag; /* output mode flags */ 25 tcflag_t c_cflag; /* control mode flags */ 26 tcflag_t c_lflag; /* local mode flags */ 27 cc_t c_line; /* line discipline */ 28 cc_t c_cc[NCCS]; /* control characters */ 29 speed_t c_ispeed; /* input speed */ 30 speed_t c_ospeed; /* output speed */ 31}; 32 33struct ktermios { 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 44/* c_cc characters */ 45#define VINTR 0 46#define VQUIT 1 47#define VERASE 2 48#define VKILL 3 49#define VEOF 4 50#define VTIME 5 51#define VMIN 6 52#define VSWTC 7 53#define VSTART 8 54#define VSTOP 9 55#define VSUSP 10 56#define VEOL 11 57#define VREPRINT 12 58#define VDISCARD 13 59#define VWERASE 14 60#define VLNEXT 15 61#define VEOL2 16 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 0020000 78#define IUTF8 0040000 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 115#define CBAUD 0010017 116#define B0 0000000 /* hang up */ 117#define B50 0000001 118#define B75 0000002 119#define B110 0000003 120#define B134 0000004 121#define B150 0000005 122#define B200 0000006 123#define B300 0000007 124#define B600 0000010 125#define B1200 0000011 126#define B1800 0000012 127#define B2400 0000013 128#define B4800 0000014 129#define B9600 0000015 130#define B19200 0000016 131#define B38400 0000017 132#define EXTA B19200 133#define EXTB B38400 134#define CSIZE 0000060 135#define CS5 0000000 136#define CS6 0000020 137#define CS7 0000040 138#define CS8 0000060 139#define CSTOPB 0000100 140#define CREAD 0000200 141#define PARENB 0000400 142#define PARODD 0001000 143#define HUPCL 0002000 144#define CLOCAL 0004000 145#define CBAUDEX 0010000 146#define BOTHER 0010000 147#define B57600 0010001 148#define B115200 0010002 149#define B230400 0010003 150#define B460800 0010004 151 152/* Unsupported rates, but needed to avoid compile error. */ 153#define B500000 0010005 154#define B576000 0010006 155#define B1000000 0010010 156#define B1152000 0010011 157#define B1500000 0010012 158#define B2000000 0010013 159#define B2500000 0010014 160#define B3000000 0010015 161#define B3500000 0010016 162#define B4000000 0010017 163 164/* etrax supports these additional three baud rates */ 165#define B921600 0010005 166#define B1843200 0010006 167#define B6250000 0010007 168/* ETRAX FS supports this as well */ 169#define B12500000 0010010 170#define CIBAUD 002003600000 /* input baud rate (used in v32) */ 171/* The values for CIBAUD bits are the same as the values for CBAUD and CBAUDEX 172 * shifted left IBSHIFT bits. 173 */ 174#define IBSHIFT 16 175#define CMSPAR 010000000000 /* mark or space (stick) parity - PARODD=space*/ 176#define CRTSCTS 020000000000 /* flow control */ 177 178/* c_lflag bits */ 179#define ISIG 0000001 180#define ICANON 0000002 181#define XCASE 0000004 182#define ECHO 0000010 183#define ECHOE 0000020 184#define ECHOK 0000040 185#define ECHONL 0000100 186#define NOFLSH 0000200 187#define TOSTOP 0000400 188#define ECHOCTL 0001000 189#define ECHOPRT 0002000 190#define ECHOKE 0004000 191#define FLUSHO 0010000 192#define PENDIN 0040000 193#define IEXTEN 0100000 194#define EXTPROC 0200000 195 196/* tcflow() and TCXONC use these */ 197#define TCOOFF 0 198#define TCOON 1 199#define TCIOFF 2 200#define TCION 3 201 202/* tcflush() and TCFLSH use these */ 203#define TCIFLUSH 0 204#define TCOFLUSH 1 205#define TCIOFLUSH 2 206 207/* tcsetattr uses these */ 208#define TCSANOW 0 209#define TCSADRAIN 1 210#define TCSAFLUSH 2 211 212#endif 213