Add qemu 2.4.0
[kvmfornfv.git] / qemu / linux-user / x86_64 / termbits.h
1 #define TARGET_NCCS 19
2
3 typedef unsigned char   target_cc_t;
4 typedef unsigned int    target_speed_t;
5 typedef unsigned int    target_tcflag_t;
6 struct target_termios {
7         target_tcflag_t c_iflag;                /* input mode flags */
8         target_tcflag_t c_oflag;                /* output mode flags */
9         target_tcflag_t c_cflag;                /* control mode flags */
10         target_tcflag_t c_lflag;                /* local mode flags */
11         target_cc_t c_line;                     /* line discipline */
12         target_cc_t c_cc[TARGET_NCCS];          /* control characters */
13 };
14
15 /* c_cc characters */
16 #define TARGET_VINTR 0
17 #define TARGET_VQUIT 1
18 #define TARGET_VERASE 2
19 #define TARGET_VKILL 3
20 #define TARGET_VEOF 4
21 #define TARGET_VTIME 5
22 #define TARGET_VMIN 6
23 #define TARGET_VSWTC 7
24 #define TARGET_VSTART 8
25 #define TARGET_VSTOP 9
26 #define TARGET_VSUSP 10
27 #define TARGET_VEOL 11
28 #define TARGET_VREPRINT 12
29 #define TARGET_VDISCARD 13
30 #define TARGET_VWERASE 14
31 #define TARGET_VLNEXT 15
32 #define TARGET_VEOL2 16
33
34 /* c_iflag bits */
35 #define TARGET_IGNBRK   0000001
36 #define TARGET_BRKINT   0000002
37 #define TARGET_IGNPAR   0000004
38 #define TARGET_PARMRK   0000010
39 #define TARGET_INPCK    0000020
40 #define TARGET_ISTRIP   0000040
41 #define TARGET_INLCR    0000100
42 #define TARGET_IGNCR    0000200
43 #define TARGET_ICRNL    0000400
44 #define TARGET_IUCLC    0001000
45 #define TARGET_IXON     0002000
46 #define TARGET_IXANY    0004000
47 #define TARGET_IXOFF    0010000
48 #define TARGET_IMAXBEL  0020000
49 #define TARGET_IUTF8    0040000
50
51 /* c_oflag bits */
52 #define TARGET_OPOST    0000001
53 #define TARGET_OLCUC    0000002
54 #define TARGET_ONLCR    0000004
55 #define TARGET_OCRNL    0000010
56 #define TARGET_ONOCR    0000020
57 #define TARGET_ONLRET   0000040
58 #define TARGET_OFILL    0000100
59 #define TARGET_OFDEL    0000200
60 #define TARGET_NLDLY    0000400
61 #define   TARGET_NL0    0000000
62 #define   TARGET_NL1    0000400
63 #define TARGET_CRDLY    0003000
64 #define   TARGET_CR0    0000000
65 #define   TARGET_CR1    0001000
66 #define   TARGET_CR2    0002000
67 #define   TARGET_CR3    0003000
68 #define TARGET_TABDLY   0014000
69 #define   TARGET_TAB0   0000000
70 #define   TARGET_TAB1   0004000
71 #define   TARGET_TAB2   0010000
72 #define   TARGET_TAB3   0014000
73 #define   TARGET_XTABS  0014000
74 #define TARGET_BSDLY    0020000
75 #define   TARGET_BS0    0000000
76 #define   TARGET_BS1    0020000
77 #define TARGET_VTDLY    0040000
78 #define   TARGET_VT0    0000000
79 #define   TARGET_VT1    0040000
80 #define TARGET_FFDLY    0100000
81 #define   TARGET_FF0    0000000
82 #define   TARGET_FF1    0100000
83
84 /* c_cflag bit meaning */
85 #define TARGET_CBAUD    0010017
86 #define  TARGET_B0      0000000         /* hang up */
87 #define  TARGET_B50     0000001
88 #define  TARGET_B75     0000002
89 #define  TARGET_B110    0000003
90 #define  TARGET_B134    0000004
91 #define  TARGET_B150    0000005
92 #define  TARGET_B200    0000006
93 #define  TARGET_B300    0000007
94 #define  TARGET_B600    0000010
95 #define  TARGET_B1200   0000011
96 #define  TARGET_B1800   0000012
97 #define  TARGET_B2400   0000013
98 #define  TARGET_B4800   0000014
99 #define  TARGET_B9600   0000015
100 #define  TARGET_B19200  0000016
101 #define  TARGET_B38400  0000017
102 #define TARGET_EXTA B19200
103 #define TARGET_EXTB B38400
104 #define TARGET_CSIZE    0000060
105 #define   TARGET_CS5    0000000
106 #define   TARGET_CS6    0000020
107 #define   TARGET_CS7    0000040
108 #define   TARGET_CS8    0000060
109 #define TARGET_CSTOPB   0000100
110 #define TARGET_CREAD    0000200
111 #define TARGET_PARENB   0000400
112 #define TARGET_PARODD   0001000
113 #define TARGET_HUPCL    0002000
114 #define TARGET_CLOCAL   0004000
115 #define TARGET_CBAUDEX 0010000
116 #define    TARGET_BOTHER 0010000                /* non standard rate */
117 #define    TARGET_B57600 0010001
118 #define   TARGET_B115200 0010002
119 #define   TARGET_B230400 0010003
120 #define   TARGET_B460800 0010004
121 #define   TARGET_B500000 0010005
122 #define   TARGET_B576000 0010006
123 #define   TARGET_B921600 0010007
124 #define  TARGET_B1000000 0010010
125 #define  TARGET_B1152000 0010011
126 #define  TARGET_B1500000 0010012
127 #define  TARGET_B2000000 0010013
128 #define  TARGET_B2500000 0010014
129 #define  TARGET_B3000000 0010015
130 #define  TARGET_B3500000 0010016
131 #define  TARGET_B4000000 0010017
132 #define TARGET_CIBAUD     002003600000  /* input baud rate */
133 #define TARGET_CMSPAR     010000000000          /* mark or space (stick) parity */
134 #define TARGET_CRTSCTS    020000000000          /* flow control */
135
136 #define TARGET_IBSHIFT    8             /* Shift from CBAUD to CIBAUD */
137
138 /* c_lflag bits */
139 #define TARGET_ISIG     0000001
140 #define TARGET_ICANON   0000002
141 #define TARGET_XCASE    0000004
142 #define TARGET_ECHO     0000010
143 #define TARGET_ECHOE    0000020
144 #define TARGET_ECHOK    0000040
145 #define TARGET_ECHONL   0000100
146 #define TARGET_NOFLSH   0000200
147 #define TARGET_TOSTOP   0000400
148 #define TARGET_ECHOCTL  0001000
149 #define TARGET_ECHOPRT  0002000
150 #define TARGET_ECHOKE   0004000
151 #define TARGET_FLUSHO   0010000
152 #define TARGET_PENDIN   0040000
153 #define TARGET_IEXTEN   0100000
154
155 /* tcflow() and TCXONC use these */
156 #define TARGET_TCOOFF           0
157 #define TARGET_TCOON            1
158 #define TARGET_TCIOFF           2
159 #define TARGET_TCION            3
160
161 /* tcflush() and TCFLSH use these */
162 #define TARGET_TCIFLUSH 0
163 #define TARGET_TCOFLUSH 1
164 #define TARGET_TCIOFLUSH        2
165
166 /* tcsetattr uses these */
167 #define TARGET_TCSANOW          0
168 #define TARGET_TCSADRAIN        1
169 #define TARGET_TCSAFLUSH        2
170
171 #define TARGET_TCGETS           0x5401
172 #define TARGET_TCSETS           0x5402
173 #define TARGET_TCSETSW          0x5403
174 #define TARGET_TCSETSF          0x5404
175 #define TARGET_TCGETA           0x5405
176 #define TARGET_TCSETA           0x5406
177 #define TARGET_TCSETAW          0x5407
178 #define TARGET_TCSETAF          0x5408
179 #define TARGET_TCSBRK           0x5409
180 #define TARGET_TCXONC           0x540A
181 #define TARGET_TCFLSH           0x540B
182 #define TARGET_TIOCEXCL 0x540C
183 #define TARGET_TIOCNXCL 0x540D
184 #define TARGET_TIOCSCTTY        0x540E
185 #define TARGET_TIOCGPGRP        0x540F
186 #define TARGET_TIOCSPGRP        0x5410
187 #define TARGET_TIOCOUTQ 0x5411
188 #define TARGET_TIOCSTI          0x5412
189 #define TARGET_TIOCGWINSZ       0x5413
190 #define TARGET_TIOCSWINSZ       0x5414
191 #define TARGET_TIOCMGET 0x5415
192 #define TARGET_TIOCMBIS 0x5416
193 #define TARGET_TIOCMBIC 0x5417
194 #define TARGET_TIOCMSET 0x5418
195 #define TARGET_TIOCGSOFTCAR     0x5419
196 #define TARGET_TIOCSSOFTCAR     0x541A
197 #define TARGET_FIONREAD 0x541B
198 #define TARGET_TIOCINQ          FIONREAD
199 #define TARGET_TIOCLINUX        0x541C
200 #define TARGET_TIOCCONS 0x541D
201 #define TARGET_TIOCGSERIAL      0x541E
202 #define TARGET_TIOCSSERIAL      0x541F
203 #define TARGET_TIOCPKT          0x5420
204 #define TARGET_FIONBIO          0x5421
205 #define TARGET_TIOCNOTTY        0x5422
206 #define TARGET_TIOCSETD 0x5423
207 #define TARGET_TIOCGETD 0x5424
208 #define TARGET_TCSBRKP          0x5425  /* Needed for POSIX tcsendbreak() */
209 #define TARGET_TIOCSBRK 0x5427  /* BSD compatibility */
210 #define TARGET_TIOCCBRK 0x5428  /* BSD compatibility */
211 #define TARGET_TIOCGSID 0x5429  /* Return the session ID of FD */
212 #define TARGET_TCGETS2          _IOR('T',0x2A, struct termios2)
213 #define TARGET_TCSETS2          _IOW('T',0x2B, struct termios2)
214 #define TARGET_TCSETSW2 _IOW('T',0x2C, struct termios2)
215 #define TARGET_TCSETSF2 _IOW('T',0x2D, struct termios2)
216 #define TARGET_TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
217 #define TARGET_TIOCSPTLCK       _IOW('T',0x31, int)  /* Lock/unlock Pty */
218
219 #define TARGET_FIONCLEX 0x5450  /* these numbers need to be adjusted. */
220 #define TARGET_FIOCLEX          0x5451
221 #define TARGET_FIOASYNC 0x5452
222 #define TARGET_TIOCSERCONFIG    0x5453
223 #define TARGET_TIOCSERGWILD     0x5454
224 #define TARGET_TIOCSERSWILD     0x5455
225 #define TARGET_TIOCGLCKTRMIOS   0x5456
226 #define TARGET_TIOCSLCKTRMIOS   0x5457
227 #define TARGET_TIOCSERGSTRUCT   0x5458 /* For debugging only */
228 #define TARGET_TIOCSERGETLSR   0x5459 /* Get line status register */
229 #define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config  */
230 #define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
231
232 #define TARGET_TIOCMIWAIT       0x545C  /* wait for a change on serial input line(s) */
233 #define TARGET_TIOCGICOUNT      0x545D  /* read serial port inline interrupt counts */
234 #define TARGET_TIOCGHAYESESP   0x545E  /* Get Hayes ESP configuration */
235 #define TARGET_TIOCSHAYESESP   0x545F  /* Set Hayes ESP configuration */
236 #define TARGET_FIOQSIZE       0x5460
237
238 /* Used for packet mode */
239 #define TARGET_TIOCPKT_DATA              0
240 #define TARGET_TIOCPKT_FLUSHREAD         1
241 #define TARGET_TIOCPKT_FLUSHWRITE        2
242 #define TARGET_TIOCPKT_STOP              4
243 #define TARGET_TIOCPKT_START             8
244 #define TARGET_TIOCPKT_NOSTOP           16
245 #define TARGET_TIOCPKT_DOSTOP           32
246
247 #define TARGET_TIOCSER_TEMT    0x01     /* Transmitter physically empty */