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