blob: 4531a511bde58ca49e1f051264051d10fa690d8d [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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
Alan Coxbe900382006-12-08 02:38:43 -080029struct 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
Linus Torvalds1da177e2005-04-16 15:20:36 -070040/* 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 */