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