Statistics
| Branch: | Revision:

root / linux-user / sparc64 / termbits.h @ 436d124b

History | View | Annotate | Download (11.2 kB)

1 a315a145 bellard
/* from asm/termbits.h */
2 a315a145 bellard
3 a315a145 bellard
#define TARGET_NCCS 19
4 a315a145 bellard
5 a315a145 bellard
struct target_termios {
6 a315a145 bellard
    unsigned int c_iflag;               /* input mode flags */
7 a315a145 bellard
    unsigned int c_oflag;               /* output mode flags */
8 a315a145 bellard
    unsigned int c_cflag;               /* control mode flags */
9 a315a145 bellard
    unsigned int c_lflag;               /* local mode flags */
10 a315a145 bellard
    unsigned char c_line;                    /* line discipline */
11 a315a145 bellard
    unsigned char c_cc[TARGET_NCCS];                /* control characters */
12 a315a145 bellard
};
13 a315a145 bellard
14 a315a145 bellard
/* c_cc characters */
15 a315a145 bellard
#define TARGET_VINTR    0
16 a315a145 bellard
#define TARGET_VQUIT    1
17 a315a145 bellard
#define TARGET_VERASE   2
18 a315a145 bellard
#define TARGET_VKILL    3
19 a315a145 bellard
#define TARGET_VEOF     4
20 a315a145 bellard
#define TARGET_VEOL     5
21 a315a145 bellard
#define TARGET_VEOL2    6
22 a315a145 bellard
#define TARGET_VSWTC    7
23 a315a145 bellard
#define TARGET_VSTART   8
24 a315a145 bellard
#define TARGET_VSTOP    9
25 a315a145 bellard
26 a315a145 bellard
#define TARGET_VSUSP    10
27 a315a145 bellard
#define TARGET_VDSUSP   11  /* SunOS POSIX nicety I do believe... */
28 a315a145 bellard
#define TARGET_VREPRINT 12
29 a315a145 bellard
#define TARGET_VDISCARD 13
30 a315a145 bellard
#define TARGET_VWERASE  14
31 a315a145 bellard
#define TARGET_VLNEXT   15
32 a315a145 bellard
33 a315a145 bellard
/* Kernel keeps vmin/vtime separated, user apps assume vmin/vtime is
34 a315a145 bellard
 * shared with eof/eol
35 a315a145 bellard
 */
36 a315a145 bellard
#define TARGET_VMIN     TARGET_VEOF
37 a315a145 bellard
#define TARGET_VTIME    TARGET_VEOL
38 a315a145 bellard
39 a315a145 bellard
/* c_iflag bits */
40 a315a145 bellard
#define TARGET_IGNBRK        0x00000001
41 a315a145 bellard
#define TARGET_BRKINT        0x00000002
42 a315a145 bellard
#define TARGET_IGNPAR        0x00000004
43 a315a145 bellard
#define TARGET_PARMRK        0x00000008
44 a315a145 bellard
#define TARGET_INPCK        0x00000010
45 a315a145 bellard
#define TARGET_ISTRIP        0x00000020
46 a315a145 bellard
#define TARGET_INLCR        0x00000040
47 a315a145 bellard
#define TARGET_IGNCR        0x00000080
48 a315a145 bellard
#define TARGET_ICRNL        0x00000100
49 a315a145 bellard
#define TARGET_IUCLC        0x00000200
50 a315a145 bellard
#define TARGET_IXON        0x00000400
51 a315a145 bellard
#define TARGET_IXANY        0x00000800
52 a315a145 bellard
#define TARGET_IXOFF        0x00001000
53 a315a145 bellard
#define TARGET_IMAXBEL        0x00002000
54 f05d35d2 ths
#define TARGET_IUTF8        0x00004000
55 a315a145 bellard
56 a315a145 bellard
/* c_oflag bits */
57 a315a145 bellard
#define TARGET_OPOST        0x00000001
58 a315a145 bellard
#define TARGET_OLCUC        0x00000002
59 a315a145 bellard
#define TARGET_ONLCR        0x00000004
60 a315a145 bellard
#define TARGET_OCRNL        0x00000008
61 a315a145 bellard
#define TARGET_ONOCR        0x00000010
62 a315a145 bellard
#define TARGET_ONLRET        0x00000020
63 a315a145 bellard
#define TARGET_OFILL        0x00000040
64 a315a145 bellard
#define TARGET_OFDEL        0x00000080
65 a315a145 bellard
#define TARGET_NLDLY        0x00000100
66 a315a145 bellard
#define   TARGET_NL0        0x00000000
67 a315a145 bellard
#define   TARGET_NL1        0x00000100
68 a315a145 bellard
#define TARGET_CRDLY        0x00000600
69 a315a145 bellard
#define   TARGET_CR0        0x00000000
70 a315a145 bellard
#define   TARGET_CR1        0x00000200
71 a315a145 bellard
#define   TARGET_CR2        0x00000400
72 a315a145 bellard
#define   TARGET_CR3        0x00000600
73 a315a145 bellard
#define TARGET_TABDLY        0x00001800
74 a315a145 bellard
#define   TARGET_TAB0        0x00000000
75 a315a145 bellard
#define   TARGET_TAB1        0x00000800
76 a315a145 bellard
#define   TARGET_TAB2        0x00001000
77 a315a145 bellard
#define   TARGET_TAB3        0x00001800
78 a315a145 bellard
#define   TARGET_XTABS        0x00001800
79 a315a145 bellard
#define TARGET_BSDLY        0x00002000
80 a315a145 bellard
#define   TARGET_BS0        0x00000000
81 a315a145 bellard
#define   TARGET_BS1        0x00002000
82 a315a145 bellard
#define TARGET_VTDLY        0x00004000
83 a315a145 bellard
#define   TARGET_VT0        0x00000000
84 a315a145 bellard
#define   TARGET_VT1        0x00004000
85 a315a145 bellard
#define TARGET_FFDLY        0x00008000
86 a315a145 bellard
#define   TARGET_FF0        0x00000000
87 a315a145 bellard
#define   TARGET_FF1        0x00008000
88 a315a145 bellard
#define TARGET_PAGEOUT 0x00010000  /* SUNOS specific */
89 a315a145 bellard
#define TARGET_WRAP    0x00020000  /* SUNOS specific */
90 a315a145 bellard
91 a315a145 bellard
/* c_cflag bit meaning */
92 a315a145 bellard
#define TARGET_CBAUD          0x0000100f
93 a315a145 bellard
#define  TARGET_B0          0x00000000   /* hang up */
94 a315a145 bellard
#define  TARGET_B50          0x00000001
95 a315a145 bellard
#define  TARGET_B75          0x00000002
96 a315a145 bellard
#define  TARGET_B110          0x00000003
97 a315a145 bellard
#define  TARGET_B134          0x00000004
98 a315a145 bellard
#define  TARGET_B150          0x00000005
99 a315a145 bellard
#define  TARGET_B200          0x00000006
100 a315a145 bellard
#define  TARGET_B300          0x00000007
101 a315a145 bellard
#define  TARGET_B600          0x00000008
102 a315a145 bellard
#define  TARGET_B1200          0x00000009
103 a315a145 bellard
#define  TARGET_B1800          0x0000000a
104 a315a145 bellard
#define  TARGET_B2400          0x0000000b
105 a315a145 bellard
#define  TARGET_B4800          0x0000000c
106 a315a145 bellard
#define  TARGET_B9600          0x0000000d
107 a315a145 bellard
#define  TARGET_B19200          0x0000000e
108 a315a145 bellard
#define  TARGET_B38400          0x0000000f
109 a315a145 bellard
#define TARGET_EXTA      B19200
110 a315a145 bellard
#define TARGET_EXTB      B38400
111 a315a145 bellard
#define  TARGET_CSIZE    0x00000030
112 a315a145 bellard
#define   TARGET_CS5          0x00000000
113 a315a145 bellard
#define   TARGET_CS6          0x00000010
114 a315a145 bellard
#define   TARGET_CS7          0x00000020
115 a315a145 bellard
#define   TARGET_CS8          0x00000030
116 a315a145 bellard
#define TARGET_CSTOPB          0x00000040
117 a315a145 bellard
#define TARGET_CREAD          0x00000080
118 a315a145 bellard
#define TARGET_PARENB          0x00000100
119 a315a145 bellard
#define TARGET_PARODD          0x00000200
120 a315a145 bellard
#define TARGET_HUPCL          0x00000400
121 a315a145 bellard
#define TARGET_CLOCAL          0x00000800
122 a315a145 bellard
#define TARGET_CBAUDEX   0x00001000
123 a315a145 bellard
/* We'll never see these speeds with the Zilogs, but for completeness... */
124 a315a145 bellard
#define  TARGET_B57600   0x00001001
125 a315a145 bellard
#define  TARGET_B115200  0x00001002
126 a315a145 bellard
#define  TARGET_B230400  0x00001003
127 a315a145 bellard
#define  TARGET_B460800  0x00001004
128 a315a145 bellard
/* This is what we can do with the Zilogs. */
129 a315a145 bellard
#define  TARGET_B76800   0x00001005
130 a315a145 bellard
/* This is what we can do with the SAB82532. */
131 a315a145 bellard
#define  TARGET_B153600  0x00001006
132 a315a145 bellard
#define  TARGET_B307200  0x00001007
133 a315a145 bellard
#define  TARGET_B614400  0x00001008
134 a315a145 bellard
#define  TARGET_B921600  0x00001009
135 a315a145 bellard
/* And these are the rest... */
136 a315a145 bellard
#define  TARGET_B500000  0x0000100a
137 a315a145 bellard
#define  TARGET_B576000  0x0000100b
138 a315a145 bellard
#define TARGET_B1000000  0x0000100c
139 a315a145 bellard
#define TARGET_B1152000  0x0000100d
140 a315a145 bellard
#define TARGET_B1500000  0x0000100e
141 a315a145 bellard
#define TARGET_B2000000  0x0000100f
142 a315a145 bellard
/* These have totally bogus values and nobody uses them
143 a315a145 bellard
   so far. Later on we'd have to use say 0x10000x and
144 a315a145 bellard
   adjust CBAUD constant and drivers accordingly.
145 a315a145 bellard
#define B2500000  0x00001010
146 a315a145 bellard
#define B3000000  0x00001011
147 a315a145 bellard
#define B3500000  0x00001012
148 a315a145 bellard
#define B4000000  0x00001013  */
149 a315a145 bellard
#define TARGET_CIBAUD          0x100f0000  /* input baud rate (not used) */
150 a315a145 bellard
#define TARGET_CMSPAR          0x40000000  /* mark or space (stick) parity */
151 a315a145 bellard
#define TARGET_CRTSCTS          0x80000000  /* flow control */
152 a315a145 bellard
153 a315a145 bellard
/* c_lflag bits */
154 a315a145 bellard
#define TARGET_ISIG        0x00000001
155 a315a145 bellard
#define TARGET_ICANON        0x00000002
156 a315a145 bellard
#define TARGET_XCASE        0x00000004
157 a315a145 bellard
#define TARGET_ECHO        0x00000008
158 a315a145 bellard
#define TARGET_ECHOE        0x00000010
159 a315a145 bellard
#define TARGET_ECHOK        0x00000020
160 a315a145 bellard
#define TARGET_ECHONL        0x00000040
161 a315a145 bellard
#define TARGET_NOFLSH        0x00000080
162 a315a145 bellard
#define TARGET_TOSTOP        0x00000100
163 a315a145 bellard
#define TARGET_ECHOCTL        0x00000200
164 a315a145 bellard
#define TARGET_ECHOPRT        0x00000400
165 a315a145 bellard
#define TARGET_ECHOKE        0x00000800
166 a315a145 bellard
#define TARGET_DEFECHO  0x00001000  /* SUNOS thing, what is it? */
167 a315a145 bellard
#define TARGET_FLUSHO        0x00002000
168 a315a145 bellard
#define TARGET_PENDIN        0x00004000
169 a315a145 bellard
#define TARGET_IEXTEN        0x00008000
170 a315a145 bellard
171 a315a145 bellard
/* ioctls */
172 a315a145 bellard
173 a315a145 bellard
/* Big T */
174 a315a145 bellard
#define TARGET_TCGETA                TARGET_IOR('T', 1, struct target_termio)
175 a315a145 bellard
#define TARGET_TCSETA                TARGET_IOW('T', 2, struct target_termio)
176 a315a145 bellard
#define TARGET_TCSETAW                TARGET_IOW('T', 3, struct target_termio)
177 a315a145 bellard
#define TARGET_TCSETAF                TARGET_IOW('T', 4, struct target_termio)
178 a315a145 bellard
#define TARGET_TCSBRK                TARGET_IO('T', 5)
179 a315a145 bellard
#define TARGET_TCXONC                TARGET_IO('T', 6)
180 a315a145 bellard
#define TARGET_TCFLSH                TARGET_IO('T', 7)
181 a315a145 bellard
#define TARGET_TCGETS                TARGET_IOR('T', 8, struct target_termios)
182 a315a145 bellard
#define TARGET_TCSETS                TARGET_IOW('T', 9, struct target_termios)
183 a315a145 bellard
#define TARGET_TCSETSW                TARGET_IOW('T', 10, struct target_termios)
184 a315a145 bellard
#define TARGET_TCSETSF                TARGET_IOW('T', 11, struct target_termios)
185 a315a145 bellard
186 5fafdf24 ths
/* Note that all the ioctls that are not available in Linux have a
187 a315a145 bellard
 * double underscore on the front to: a) avoid some programs to
188 a315a145 bellard
 * thing we support some ioctls under Linux (autoconfiguration stuff)
189 a315a145 bellard
 */
190 a315a145 bellard
/* Little t */
191 a315a145 bellard
#define TARGET_TIOCGETD        TARGET_IOR('t', 0, int)
192 a315a145 bellard
#define TARGET_TIOCSETD        TARGET_IOW('t', 1, int)
193 a315a145 bellard
//#define __TIOCHPCL        _IO('t', 2) /* SunOS Specific */
194 a315a145 bellard
//#define __TIOCMODG        _IOR('t', 3, int) /* SunOS Specific */
195 a315a145 bellard
//#define __TIOCMODS        _IOW('t', 4, int) /* SunOS Specific */
196 a315a145 bellard
//#define __TIOCGETP        _IOR('t', 8, struct sgttyb) /* SunOS Specific */
197 a315a145 bellard
//#define __TIOCSETP        _IOW('t', 9, struct sgttyb) /* SunOS Specific */
198 a315a145 bellard
//#define __TIOCSETN        _IOW('t', 10, struct sgttyb) /* SunOS Specific */
199 a315a145 bellard
#define TARGET_TIOCEXCL        TARGET_IO('t', 13)
200 a315a145 bellard
#define TARGET_TIOCNXCL        TARGET_IO('t', 14)
201 a315a145 bellard
//#define __TIOCFLUSH       _IOW('t', 16, int) /* SunOS Specific */
202 a315a145 bellard
//#define __TIOCSETC        _IOW('t', 17, struct tchars) /* SunOS Specific */
203 a315a145 bellard
//#define __TIOCGETC        _IOR('t', 18, struct tchars) /* SunOS Specific */
204 a315a145 bellard
//#define __TIOCTCNTL       _IOW('t', 32, int) /* SunOS Specific */
205 a315a145 bellard
//#define __TIOCSIGNAL      _IOW('t', 33, int) /* SunOS Specific */
206 a315a145 bellard
//#define __TIOCSETX        _IOW('t', 34, int) /* SunOS Specific */
207 a315a145 bellard
//#define __TIOCGETX        _IOR('t', 35, int) /* SunOS Specific */
208 a315a145 bellard
#define TARGET_TIOCCONS        TARGET_IO('t', 36)
209 a315a145 bellard
//#define __TIOCSSIZE     _IOW('t', 37, struct sunos_ttysize) /* SunOS Specific */
210 a315a145 bellard
//#define __TIOCGSIZE     _IOR('t', 38, struct sunos_ttysize) /* SunOS Specific */
211 a315a145 bellard
#define TARGET_TIOCGSOFTCAR        TARGET_IOR('t', 100, int)
212 a315a145 bellard
#define TARGET_TIOCSSOFTCAR        TARGET_IOW('t', 101, int)
213 a315a145 bellard
//#define __TIOCUCNTL       _IOW('t', 102, int) /* SunOS Specific */
214 a315a145 bellard
#define TARGET_TIOCSWINSZ        TARGET_IOW('t', 103, struct winsize)
215 a315a145 bellard
#define TARGET_TIOCGWINSZ        TARGET_IOR('t', 104, struct winsize)
216 a315a145 bellard
//#define __TIOCREMOTE      _IOW('t', 105, int) /* SunOS Specific */
217 a315a145 bellard
#define TARGET_TIOCMGET        TARGET_IOR('t', 106, int)
218 a315a145 bellard
#define TARGET_TIOCMBIC        TARGET_IOW('t', 107, int)
219 a315a145 bellard
#define TARGET_TIOCMBIS        TARGET_IOW('t', 108, int)
220 a315a145 bellard
#define TARGET_TIOCMSET        TARGET_IOW('t', 109, int)
221 a315a145 bellard
#define TARGET_TIOCSTART       TARGET_IO('t', 110)
222 a315a145 bellard
#define TARGET_TIOCSTOP        TARGET_IO('t', 111)
223 a315a145 bellard
#define TARGET_TIOCPKT                TARGET_IOW('t', 112, int)
224 a315a145 bellard
#define TARGET_TIOCNOTTY        TARGET_IO('t', 113)
225 a315a145 bellard
#define TARGET_TIOCSTI                TARGET_IOW('t', 114, char)
226 a315a145 bellard
#define TARGET_TIOCOUTQ        TARGET_IOR('t', 115, int)
227 a315a145 bellard
//#define __TIOCGLTC        _IOR('t', 116, struct ltchars) /* SunOS Specific */
228 a315a145 bellard
//#define __TIOCSLTC        _IOW('t', 117, struct ltchars) /* SunOS Specific */
229 a315a145 bellard
/* 118 is the non-posix setpgrp tty ioctl */
230 a315a145 bellard
/* 119 is the non-posix getpgrp tty ioctl */
231 a315a145 bellard
//#define __TIOCCDTR        TARGET_IO('t', 120) /* SunOS Specific */
232 a315a145 bellard
//#define __TIOCSDTR        TARGET_IO('t', 121) /* SunOS Specific */
233 a315a145 bellard
#define TARGET_TIOCCBRK        TARGET_IO('t', 122)
234 a315a145 bellard
#define TARGET_TIOCSBRK        TARGET_IO('t', 123)
235 a315a145 bellard
//#define __TIOCLGET        TARGET_IOW('t', 124, int) /* SunOS Specific */
236 a315a145 bellard
//#define __TIOCLSET        TARGET_IOW('t', 125, int) /* SunOS Specific */
237 a315a145 bellard
//#define __TIOCLBIC        TARGET_IOW('t', 126, int) /* SunOS Specific */
238 a315a145 bellard
//#define __TIOCLBIS        TARGET_IOW('t', 127, int) /* SunOS Specific */
239 a315a145 bellard
//#define __TIOCISPACE      TARGET_IOR('t', 128, int) /* SunOS Specific */
240 a315a145 bellard
//#define __TIOCISIZE       TARGET_IOR('t', 129, int) /* SunOS Specific */
241 a315a145 bellard
#define TARGET_TIOCSPGRP        TARGET_IOW('t', 130, int)
242 a315a145 bellard
#define TARGET_TIOCGPGRP        TARGET_IOR('t', 131, int)
243 a315a145 bellard
#define TARGET_TIOCSCTTY        TARGET_IO('t', 132)
244 a315a145 bellard
#define TARGET_TIOCGSID        TARGET_IOR('t', 133, int)
245 a315a145 bellard
/* Get minor device of a pty master's FD -- Solaris equiv is ISPTM */
246 a315a145 bellard
#define TARGET_TIOCGPTN        TARGET_IOR('t', 134, unsigned int) /* Get Pty Number */
247 a315a145 bellard
#define TARGET_TIOCSPTLCK        TARGET_IOW('t', 135, int) /* Lock/unlock PTY */
248 a315a145 bellard
249 a315a145 bellard
/* Little f */
250 a315a145 bellard
#define TARGET_FIOCLEX                TARGET_IO('f', 1)
251 a315a145 bellard
#define TARGET_FIONCLEX        TARGET_IO('f', 2)
252 a315a145 bellard
#define TARGET_FIOASYNC        TARGET_IOW('f', 125, int)
253 a315a145 bellard
#define TARGET_FIONBIO                TARGET_IOW('f', 126, int)
254 a315a145 bellard
#define TARGET_FIONREAD        TARGET_IOR('f', 127, int)
255 a315a145 bellard
#define TARGET_TIOCINQ                TARGET_FIONREAD
256 a315a145 bellard
257 a315a145 bellard
/* SCARY Rutgers local SunOS kernel hackery, perhaps I will support it
258 a315a145 bellard
 * someday.  This is completely bogus, I know...
259 a315a145 bellard
 */
260 a315a145 bellard
//#define __TCGETSTAT       TARGET_IO('T', 200) /* Rutgers specific */
261 a315a145 bellard
//#define __TCSETSTAT       TARGET_IO('T', 201) /* Rutgers specific */
262 a315a145 bellard
263 a315a145 bellard
/* Linux specific, no SunOS equivalent. */
264 a315a145 bellard
#define TARGET_TIOCLINUX        0x541C
265 a315a145 bellard
#define TARGET_TIOCGSERIAL        0x541E
266 a315a145 bellard
#define TARGET_TIOCSSERIAL        0x541F
267 a315a145 bellard
#define TARGET_TCSBRKP                0x5425
268 a315a145 bellard
#define TARGET_TIOCTTYGSTRUCT        0x5426
269 a315a145 bellard
#define TARGET_TIOCSERCONFIG        0x5453
270 a315a145 bellard
#define TARGET_TIOCSERGWILD        0x5454
271 a315a145 bellard
#define TARGET_TIOCSERSWILD        0x5455
272 a315a145 bellard
#define TARGET_TIOCGLCKTRMIOS        0x5456
273 a315a145 bellard
#define TARGET_TIOCSLCKTRMIOS        0x5457
274 a315a145 bellard
#define TARGET_TIOCSERGSTRUCT        0x5458 /* For debugging only */
275 a315a145 bellard
#define TARGET_TIOCSERGETLSR   0x5459 /* Get line status register */
276 a315a145 bellard
#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config  */
277 a315a145 bellard
#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
278 a315a145 bellard
#define TARGET_TIOCMIWAIT        0x545C /* Wait input */
279 a315a145 bellard
#define TARGET_TIOCGICOUNT        0x545D /* Read serial port inline interrupt counts */