Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v3.7-rc5 235 lines 5.8 kB view raw
1/* $Id: termbits.h,v 1.1 2000/07/10 16:32:31 bjornw 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 * 3 2 1 116 * 10 987 654 321 098 765 432 109 876 543 210 117 * | | ||| CBAUD 118 * obaud 119 * 120 * ||CSIZE 121 * 122 * |CSTOP 123 * |CREAD 124 * |CPARENB 125 * 126 * |CPARODD 127 * |HUPCL 128 * |CLOCAL 129 * |CBAUDEX 130 * 10 987 654 321 098 765 432 109 876 543 210 131 * | || || CIBAUD, IBSHIFT=16 132 * ibaud 133 * |CMSPAR 134 * | CRTSCTS 135 * x x xxx xxx x x xx Free bits 136 */ 137 138#define CBAUD 0010017 139#define B0 0000000 /* hang up */ 140#define B50 0000001 141#define B75 0000002 142#define B110 0000003 143#define B134 0000004 144#define B150 0000005 145#define B200 0000006 146#define B300 0000007 147#define B600 0000010 148#define B1200 0000011 149#define B1800 0000012 150#define B2400 0000013 151#define B4800 0000014 152#define B9600 0000015 153#define B19200 0000016 154#define B38400 0000017 155#define EXTA B19200 156#define EXTB B38400 157#define CSIZE 0000060 158#define CS5 0000000 159#define CS6 0000020 160#define CS7 0000040 161#define CS8 0000060 162#define CSTOPB 0000100 163#define CREAD 0000200 164#define PARENB 0000400 165#define PARODD 0001000 166#define HUPCL 0002000 167#define CLOCAL 0004000 168#define CBAUDEX 0010000 169#define BOTHER 0010000 170#define B57600 0010001 171#define B115200 0010002 172#define B230400 0010003 173#define B460800 0010004 174 175/* Unsupported rates, but needed to avoid compile error. */ 176#define B500000 0010005 177#define B576000 0010006 178#define B1000000 0010010 179#define B1152000 0010011 180#define B1500000 0010012 181#define B2000000 0010013 182#define B2500000 0010014 183#define B3000000 0010015 184#define B3500000 0010016 185#define B4000000 0010017 186 187/* etrax supports these additional three baud rates */ 188#define B921600 0010005 189#define B1843200 0010006 190#define B6250000 0010007 191/* ETRAX FS supports this as well */ 192#define B12500000 0010010 193#define CIBAUD 002003600000 /* input baud rate (used in v32) */ 194/* The values for CIBAUD bits are the same as the values for CBAUD and CBAUDEX 195 * shifted left IBSHIFT bits. 196 */ 197#define IBSHIFT 16 198#define CMSPAR 010000000000 /* mark or space (stick) parity - PARODD=space*/ 199#define CRTSCTS 020000000000 /* flow control */ 200 201/* c_lflag bits */ 202#define ISIG 0000001 203#define ICANON 0000002 204#define XCASE 0000004 205#define ECHO 0000010 206#define ECHOE 0000020 207#define ECHOK 0000040 208#define ECHONL 0000100 209#define NOFLSH 0000200 210#define TOSTOP 0000400 211#define ECHOCTL 0001000 212#define ECHOPRT 0002000 213#define ECHOKE 0004000 214#define FLUSHO 0010000 215#define PENDIN 0040000 216#define IEXTEN 0100000 217#define EXTPROC 0200000 218 219/* tcflow() and TCXONC use these */ 220#define TCOOFF 0 221#define TCOON 1 222#define TCIOFF 2 223#define TCION 3 224 225/* tcflush() and TCFLSH use these */ 226#define TCIFLUSH 0 227#define TCOFLUSH 1 228#define TCIOFLUSH 2 229 230/* tcsetattr uses these */ 231#define TCSANOW 0 232#define TCSADRAIN 1 233#define TCSAFLUSH 2 234 235#endif