blob: 6d533b07aaf52daa3e1911df34fffcc6bf788d4d [file] [log] [blame]
jdl@freescale.coma37c8872005-09-07 15:27:09 -05001#ifndef _ASM_POWERPC_TERMBITS_H
2#define _ASM_POWERPC_TERMBITS_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
4/*
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version
8 * 2 of the License, or (at your option) any later version.
9 */
10
Linus Torvalds1da177e2005-04-16 15:20:36 -070011typedef unsigned char cc_t;
12typedef unsigned int speed_t;
13typedef unsigned int tcflag_t;
14
15/*
16 * termios type and macro definitions. Be careful about adding stuff
17 * to this file since it's used in GNU libc and there are strict rules
18 * concerning namespace pollution.
19 */
20
21#define NCCS 19
22struct termios {
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_cc[NCCS]; /* control characters */
28 cc_t c_line; /* line discipline (== c_cc[19]) */
29 speed_t c_ispeed; /* input speed */
30 speed_t c_ospeed; /* output speed */
31};
32
33/* c_cc characters */
34#define VINTR 0
35#define VQUIT 1
36#define VERASE 2
37#define VKILL 3
38#define VEOF 4
39#define VMIN 5
40#define VEOL 6
41#define VTIME 7
42#define VEOL2 8
43#define VSWTC 9
44#define VWERASE 10
45#define VREPRINT 11
46#define VSUSP 12
47#define VSTART 13
48#define VSTOP 14
49#define VLNEXT 15
50#define VDISCARD 16
51
52/* c_iflag bits */
53#define IGNBRK 0000001
54#define BRKINT 0000002
55#define IGNPAR 0000004
56#define PARMRK 0000010
57#define INPCK 0000020
58#define ISTRIP 0000040
59#define INLCR 0000100
60#define IGNCR 0000200
61#define ICRNL 0000400
62#define IXON 0001000
63#define IXOFF 0002000
64#define IXANY 0004000
65#define IUCLC 0010000
66#define IMAXBEL 0020000
67#define IUTF8 0040000
68
69/* c_oflag bits */
70#define OPOST 0000001
71#define ONLCR 0000002
72#define OLCUC 0000004
73
74#define OCRNL 0000010
75#define ONOCR 0000020
76#define ONLRET 0000040
77
78#define OFILL 00000100
79#define OFDEL 00000200
80#define NLDLY 00001400
81#define NL0 00000000
82#define NL1 00000400
83#define NL2 00001000
84#define NL3 00001400
85#define TABDLY 00006000
86#define TAB0 00000000
87#define TAB1 00002000
88#define TAB2 00004000
89#define TAB3 00006000
90#define XTABS 00006000 /* required by POSIX to == TAB3 */
91#define CRDLY 00030000
92#define CR0 00000000
93#define CR1 00010000
94#define CR2 00020000
95#define CR3 00030000
96#define FFDLY 00040000
97#define FF0 00000000
98#define FF1 00040000
99#define BSDLY 00100000
100#define BS0 00000000
101#define BS1 00100000
102#define VTDLY 00200000
103#define VT0 00000000
104#define VT1 00200000
105
106/* c_cflag bit meaning */
107#define CBAUD 0000377
108#define B0 0000000 /* hang up */
109#define B50 0000001
110#define B75 0000002
111#define B110 0000003
112#define B134 0000004
113#define B150 0000005
114#define B200 0000006
115#define B300 0000007
116#define B600 0000010
117#define B1200 0000011
118#define B1800 0000012
119#define B2400 0000013
120#define B4800 0000014
121#define B9600 0000015
122#define B19200 0000016
123#define B38400 0000017
124#define EXTA B19200
125#define EXTB B38400
126#define CBAUDEX 0000000
127#define B57600 00020
128#define B115200 00021
129#define B230400 00022
130#define B460800 00023
131#define B500000 00024
132#define B576000 00025
133#define B921600 00026
134#define B1000000 00027
135#define B1152000 00030
136#define B1500000 00031
137#define B2000000 00032
138#define B2500000 00033
139#define B3000000 00034
140#define B3500000 00035
141#define B4000000 00036
142
143#define CSIZE 00001400
144#define CS5 00000000
145#define CS6 00000400
146#define CS7 00001000
147#define CS8 00001400
148
149#define CSTOPB 00002000
150#define CREAD 00004000
151#define PARENB 00010000
152#define PARODD 00020000
153#define HUPCL 00040000
154
155#define CLOCAL 00100000
Paul Mackerras6bf08cb2006-05-25 18:44:17 -0700156#define CMSPAR 010000000000 /* mark or space (stick) parity */
Linus Torvalds1da177e2005-04-16 15:20:36 -0700157#define CRTSCTS 020000000000 /* flow control */
158
159/* c_lflag bits */
160#define ISIG 0x00000080
161#define ICANON 0x00000100
162#define XCASE 0x00004000
163#define ECHO 0x00000008
164#define ECHOE 0x00000002
165#define ECHOK 0x00000004
166#define ECHONL 0x00000010
167#define NOFLSH 0x80000000
168#define TOSTOP 0x00400000
169#define ECHOCTL 0x00000040
170#define ECHOPRT 0x00000020
171#define ECHOKE 0x00000001
172#define FLUSHO 0x00800000
173#define PENDIN 0x20000000
174#define IEXTEN 0x00000400
175
176/* Values for the ACTION argument to `tcflow'. */
177#define TCOOFF 0
178#define TCOON 1
179#define TCIOFF 2
180#define TCION 3
181
182/* Values for the QUEUE_SELECTOR argument to `tcflush'. */
183#define TCIFLUSH 0
184#define TCOFLUSH 1
185#define TCIOFLUSH 2
186
187/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'. */
188#define TCSANOW 0
189#define TCSADRAIN 1
190#define TCSAFLUSH 2
191
jdl@freescale.coma37c8872005-09-07 15:27:09 -0500192#endif /* _ASM_POWERPC_TERMBITS_H */