Statistics
| Branch: | Revision:

root / linux-user / sparc64 / termbits.h @ 5fafdf24

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