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