1 | /* emulated ioctl list */ |
2 | |
3 | IOCTL(TCGETS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_termios))) |
4 | IOCTL(TCSETS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios))) |
5 | IOCTL(TCSETSF, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios))) |
6 | IOCTL(TCSETSW, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios))) |
7 | IOCTL(TIOCGWINSZ, IOC_R, MK_PTR(MK_STRUCT(STRUCT_winsize))) |
8 | IOCTL(TIOCSWINSZ, IOC_W, MK_PTR(MK_STRUCT(STRUCT_winsize))) |
9 | IOCTL(FIONREAD, IOC_R, MK_PTR(TYPE_INT)) |
10 | IOCTL(TCGETA, IOC_R, MK_PTR(TYPE_INT)) |
11 | IOCTL(TCSETA, IOC_W, MK_PTR(TYPE_INT)) |
12 | IOCTL(TCSETAW, IOC_W, MK_PTR(TYPE_INT)) |
13 | IOCTL(TCSETAF, IOC_W, MK_PTR(TYPE_INT)) |
14 | IOCTL(TCSBRK, 0, TYPE_INT) |
15 | IOCTL(TCSBRKP, 0, TYPE_INT) |
16 | IOCTL(TCXONC, 0, TYPE_INT) |
17 | IOCTL(TCFLSH, 0, TYPE_INT) |
18 | IOCTL(TIOCEXCL, 0, TYPE_NULL) |
19 | IOCTL(TIOCNXCL, 0, TYPE_NULL) |
20 | IOCTL(TIOCSCTTY, 0, TYPE_INT) |
21 | IOCTL(TIOCGPGRP, IOC_R, MK_PTR(TYPE_INT)) |
22 | IOCTL(TIOCSPGRP, IOC_W, MK_PTR(TYPE_INT)) |
23 | IOCTL(TIOCGSID, IOC_W, MK_PTR(TYPE_INT)) |
24 | IOCTL(TIOCOUTQ, IOC_R, MK_PTR(TYPE_INT)) |
25 | IOCTL(TIOCSTI, IOC_W, MK_PTR(TYPE_INT)) |
26 | IOCTL(TIOCMGET, IOC_R, MK_PTR(TYPE_INT)) |
27 | IOCTL(TIOCMBIS, IOC_W, MK_PTR(TYPE_INT)) |
28 | IOCTL(TIOCMBIC, IOC_W, MK_PTR(TYPE_INT)) |
29 | IOCTL(TIOCMSET, IOC_W, MK_PTR(TYPE_INT)) |
30 | IOCTL(TIOCGSOFTCAR, IOC_R, MK_PTR(TYPE_INT)) |
31 | IOCTL(TIOCSSOFTCAR, IOC_W, MK_PTR(TYPE_INT)) |
32 | IOCTL(TIOCLINUX, IOC_R | IOC_W, MK_PTR(TYPE_INT)) |
33 | IOCTL(TIOCCONS, 0, TYPE_NULL) |
34 | IOCTL(TIOCGSERIAL, IOC_R, MK_PTR(TYPE_INT)) |
35 | IOCTL(TIOCSSERIAL, IOC_W, MK_PTR(TYPE_INT)) |
36 | IOCTL(TIOCPKT, IOC_W, MK_PTR(TYPE_INT)) |
37 | IOCTL(FIONBIO, IOC_W, MK_PTR(TYPE_INT)) |
38 | IOCTL(TIOCNOTTY, 0, TYPE_NULL) |
39 | IOCTL(TIOCGETD, IOC_R, MK_PTR(TYPE_INT)) |
40 | IOCTL(TIOCSETD, IOC_W, MK_PTR(TYPE_INT)) |
41 | IOCTL(TIOCGPTN, IOC_R, MK_PTR(TYPE_INT)) |
42 | IOCTL(TIOCSPTLCK, IOC_W, MK_PTR(TYPE_INT)) |
43 | #ifdef TIOCGPTPEER |
44 | IOCTL_SPECIAL(TIOCGPTPEER, 0, do_ioctl_tiocgptpeer, TYPE_INT) |
45 | #endif |
46 | IOCTL(FIOCLEX, 0, TYPE_NULL) |
47 | IOCTL(FIONCLEX, 0, TYPE_NULL) |
48 | IOCTL(FIOASYNC, IOC_W, MK_PTR(TYPE_INT)) |
49 | IOCTL(TIOCGLCKTRMIOS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_termios))) |
50 | IOCTL(TIOCSLCKTRMIOS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios))) |
51 | IOCTL(TIOCSERCONFIG, 0, TYPE_NULL) |
52 | IOCTL(TIOCSERGETLSR, IOC_R, MK_PTR(TYPE_INT)) |
53 | IOCTL(TIOCSERGETMULTI, IOC_R, MK_PTR(MK_STRUCT(STRUCT_serial_multiport_struct))) |
54 | IOCTL(TIOCSERSETMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_serial_multiport_struct))) |
55 | IOCTL(TIOCMIWAIT, 0, TYPE_INT) |
56 | IOCTL(TIOCGICOUNT, IOC_R, MK_PTR(MK_STRUCT(STRUCT_serial_icounter_struct))) |
57 | |
58 | IOCTL(KIOCSOUND, 0, TYPE_INT) |
59 | IOCTL(KDMKTONE, 0, TYPE_INT) |
60 | IOCTL(KDSETMODE, 0, TYPE_INT) |
61 | IOCTL(KDGKBTYPE, IOC_R, MK_PTR(TYPE_CHAR)) |
62 | IOCTL(KDGKBMODE, IOC_R, MK_PTR(TYPE_INT)) |
63 | IOCTL(KDSKBMODE, 0, TYPE_INT) |
64 | IOCTL(KDGKBENT, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_kbentry))) |
65 | IOCTL(KDGKBSENT, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_kbsentry))) |
66 | IOCTL(KDGKBLED, 0, TYPE_INT) |
67 | IOCTL(KDSKBLED, 0, TYPE_INT) |
68 | IOCTL(KDGETLED, 0, TYPE_INT) |
69 | IOCTL(KDSETLED, 0, TYPE_INT) |
70 | IOCTL_SPECIAL(KDSIGACCEPT, 0, do_ioctl_kdsigaccept, TYPE_INT) |
71 | |
72 | IOCTL(BLKROSET, IOC_W, MK_PTR(TYPE_INT)) |
73 | IOCTL(BLKROGET, IOC_R, MK_PTR(TYPE_INT)) |
74 | IOCTL(BLKRRPART, 0, TYPE_NULL) |
75 | IOCTL(BLKGETSIZE, IOC_R, MK_PTR(TYPE_ULONG)) |
76 | #ifdef BLKGETSIZE64 |
77 | IOCTL(BLKGETSIZE64, IOC_R, MK_PTR(TYPE_ULONGLONG)) |
78 | #endif |
79 | IOCTL(BLKFLSBUF, 0, TYPE_NULL) |
80 | IOCTL(BLKRASET, 0, TYPE_INT) |
81 | IOCTL(BLKRAGET, IOC_R, MK_PTR(TYPE_LONG)) |
82 | IOCTL(BLKSSZGET, IOC_R, MK_PTR(TYPE_INT)) |
83 | IOCTL(BLKBSZGET, IOC_R, MK_PTR(TYPE_INT)) |
84 | IOCTL_SPECIAL(BLKPG, IOC_W, do_ioctl_blkpg, |
85 | MK_PTR(MK_STRUCT(STRUCT_blkpg_ioctl_arg))) |
86 | |
87 | #ifdef BLKDISCARD |
88 | IOCTL(BLKDISCARD, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) |
89 | #endif |
90 | #ifdef BLKIOMIN |
91 | IOCTL(BLKIOMIN, IOC_R, MK_PTR(TYPE_INT)) |
92 | #endif |
93 | #ifdef BLKIOOPT |
94 | IOCTL(BLKIOOPT, IOC_R, MK_PTR(TYPE_INT)) |
95 | #endif |
96 | #ifdef BLKALIGNOFF |
97 | IOCTL(BLKALIGNOFF, IOC_R, MK_PTR(TYPE_INT)) |
98 | #endif |
99 | #ifdef BLKPBSZGET |
100 | IOCTL(BLKPBSZGET, IOC_R, MK_PTR(TYPE_INT)) |
101 | #endif |
102 | #ifdef BLKDISCARDZEROES |
103 | IOCTL(BLKDISCARDZEROES, IOC_R, MK_PTR(TYPE_INT)) |
104 | #endif |
105 | #ifdef BLKSECDISCARD |
106 | IOCTL(BLKSECDISCARD, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) |
107 | #endif |
108 | #ifdef BLKROTATIONAL |
109 | IOCTL(BLKROTATIONAL, IOC_R, MK_PTR(TYPE_SHORT)) |
110 | #endif |
111 | #ifdef BLKZEROOUT |
112 | IOCTL(BLKZEROOUT, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) |
113 | #endif |
114 | |
115 | #ifdef FIBMAP |
116 | IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG)) |
117 | #endif |
118 | #ifdef FICLONE |
119 | IOCTL(FICLONE, IOC_W, TYPE_INT) |
120 | IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range))) |
121 | #endif |
122 | |
123 | #ifdef FIGETBSZ |
124 | IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG)) |
125 | #endif |
126 | #ifdef CONFIG_FIEMAP |
127 | IOCTL_SPECIAL(FS_IOC_FIEMAP, IOC_W | IOC_R, do_ioctl_fs_ioc_fiemap, |
128 | MK_PTR(MK_STRUCT(STRUCT_fiemap))) |
129 | #endif |
130 | |
131 | IOCTL(FS_IOC_GETFLAGS, IOC_R, MK_PTR(TYPE_INT)) |
132 | IOCTL(FS_IOC_SETFLAGS, IOC_W, MK_PTR(TYPE_INT)) |
133 | |
134 | #ifdef CONFIG_USBFS |
135 | /* USB ioctls */ |
136 | IOCTL(USBDEVFS_CONTROL, IOC_RW, |
137 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_ctrltransfer))) |
138 | IOCTL(USBDEVFS_BULK, IOC_RW, |
139 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_bulktransfer))) |
140 | IOCTL(USBDEVFS_RESETEP, IOC_W, MK_PTR(TYPE_INT)) |
141 | IOCTL(USBDEVFS_SETINTERFACE, IOC_W, |
142 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_setinterface))) |
143 | IOCTL(USBDEVFS_SETCONFIGURATION, IOC_W, MK_PTR(TYPE_INT)) |
144 | IOCTL(USBDEVFS_GETDRIVER, IOC_R, |
145 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_getdriver))) |
146 | IOCTL_SPECIAL(USBDEVFS_SUBMITURB, IOC_W, do_ioctl_usbdevfs_submiturb, |
147 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_urb))) |
148 | IOCTL_SPECIAL(USBDEVFS_DISCARDURB, IOC_RW, do_ioctl_usbdevfs_discardurb, |
149 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_urb))) |
150 | IOCTL_SPECIAL(USBDEVFS_REAPURB, IOC_R, do_ioctl_usbdevfs_reapurb, |
151 | MK_PTR(TYPE_PTRVOID)) |
152 | IOCTL_SPECIAL(USBDEVFS_REAPURBNDELAY, IOC_R, do_ioctl_usbdevfs_reapurb, |
153 | MK_PTR(TYPE_PTRVOID)) |
154 | IOCTL(USBDEVFS_DISCSIGNAL, IOC_W, |
155 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_disconnectsignal))) |
156 | IOCTL(USBDEVFS_CLAIMINTERFACE, IOC_W, MK_PTR(TYPE_INT)) |
157 | IOCTL(USBDEVFS_RELEASEINTERFACE, IOC_W, MK_PTR(TYPE_INT)) |
158 | IOCTL(USBDEVFS_CONNECTINFO, IOC_R, |
159 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_connectinfo))) |
160 | IOCTL(USBDEVFS_IOCTL, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_usbdevfs_ioctl))) |
161 | IOCTL(USBDEVFS_HUB_PORTINFO, IOC_R, |
162 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_hub_portinfo))) |
163 | IOCTL(USBDEVFS_RESET, 0, TYPE_NULL) |
164 | IOCTL(USBDEVFS_CLEAR_HALT, IOC_W, MK_PTR(TYPE_INT)) |
165 | IOCTL(USBDEVFS_DISCONNECT, 0, TYPE_NULL) |
166 | IOCTL(USBDEVFS_CONNECT, 0, TYPE_NULL) |
167 | IOCTL(USBDEVFS_CLAIM_PORT, IOC_W, MK_PTR(TYPE_INT)) |
168 | IOCTL(USBDEVFS_RELEASE_PORT, IOC_W, MK_PTR(TYPE_INT)) |
169 | IOCTL(USBDEVFS_GET_CAPABILITIES, IOC_R, MK_PTR(TYPE_INT)) |
170 | IOCTL(USBDEVFS_DISCONNECT_CLAIM, IOC_W, |
171 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_disconnect_claim))) |
172 | #ifdef USBDEVFS_DROP_PRIVILEGES |
173 | IOCTL(USBDEVFS_DROP_PRIVILEGES, IOC_W, MK_PTR(TYPE_INT)) |
174 | #endif |
175 | #ifdef USBDEVFS_GET_SPEED |
176 | IOCTL(USBDEVFS_GET_SPEED, 0, TYPE_NULL) |
177 | #endif |
178 | #endif /* CONFIG_USBFS */ |
179 | |
180 | IOCTL(SIOCATMARK, IOC_R, MK_PTR(TYPE_INT)) |
181 | IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) |
182 | IOCTL(SIOCGIFFLAGS, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) |
183 | IOCTL(SIOCSIFFLAGS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) |
184 | IOCTL(SIOCGIFADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
185 | IOCTL(SIOCSIFADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
186 | IOCTL(SIOCGIFBRDADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
187 | IOCTL(SIOCSIFBRDADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
188 | IOCTL(SIOCGIFDSTADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
189 | IOCTL(SIOCSIFDSTADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
190 | IOCTL(SIOCGIFNETMASK, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
191 | IOCTL(SIOCSIFNETMASK, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
192 | IOCTL(SIOCGIFHWADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
193 | IOCTL(SIOCSIFHWADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
194 | IOCTL(SIOCGIFTXQLEN, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
195 | IOCTL(SIOCSIFTXQLEN, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
196 | IOCTL(SIOCGIFMETRIC, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) |
197 | IOCTL(SIOCSIFMETRIC, IOC_W, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) |
198 | IOCTL(SIOCGIFMTU, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) |
199 | IOCTL(SIOCSIFMTU, IOC_W, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) |
200 | IOCTL(SIOCGIFMAP, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_ifmap_ifreq))) |
201 | IOCTL(SIOCSIFMAP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_ifmap_ifreq))) |
202 | IOCTL(SIOCGIFSLAVE, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_char_ifreq))) |
203 | IOCTL(SIOCSIFSLAVE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_char_ifreq))) |
204 | IOCTL(SIOCGIFMEM, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_ptr_ifreq))) |
205 | IOCTL(SIOCSIFMEM, IOC_W, MK_PTR(MK_STRUCT(STRUCT_ptr_ifreq))) |
206 | IOCTL(SIOCADDMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
207 | IOCTL(SIOCDELMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) |
208 | IOCTL(SIOCGIFINDEX, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) |
209 | IOCTL(SIOCSIFPFLAGS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) |
210 | IOCTL(SIOCGIFPFLAGS, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) |
211 | IOCTL(SIOCSIFLINK, 0, TYPE_NULL) |
212 | IOCTL_SPECIAL(SIOCGIFCONF, IOC_W | IOC_R, do_ioctl_ifconf, |
213 | MK_PTR(MK_STRUCT(STRUCT_ifconf))) |
214 | IOCTL(SIOCGIFENCAP, IOC_RW, MK_PTR(TYPE_INT)) |
215 | IOCTL(SIOCSIFENCAP, IOC_W, MK_PTR(TYPE_INT)) |
216 | IOCTL(SIOCDARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) |
217 | IOCTL(SIOCSARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) |
218 | IOCTL(SIOCGARP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_arpreq))) |
219 | IOCTL(SIOCDRARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) |
220 | IOCTL(SIOCSRARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) |
221 | IOCTL(SIOCGRARP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_arpreq))) |
222 | IOCTL(SIOCGIWNAME, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_char_ifreq))) |
223 | IOCTL(SIOCSPGRP, IOC_W, MK_PTR(TYPE_INT)) /* pid_t */ |
224 | IOCTL(SIOCGPGRP, IOC_R, MK_PTR(TYPE_INT)) /* pid_t */ |
225 | |
226 | /* |
227 | * We can't use IOCTL_SPECIAL() because it will set |
228 | * host_cmd to XXX_OLD and XXX_NEW and these macros |
229 | * are not defined with kernel prior to 5.2. |
230 | * We must set host_cmd to the same value as in target_cmd |
231 | * otherwise the consistency check in syscall_init() |
232 | * will trigger an error. |
233 | * host_cmd is ignored by the do_ioctl_XXX() helpers. |
234 | * FIXME: create a macro to define this kind of entry |
235 | */ |
236 | { TARGET_SIOCGSTAMP_OLD, TARGET_SIOCGSTAMP_OLD, |
237 | "SIOCGSTAMP_OLD" , IOC_R, do_ioctl_SIOCGSTAMP }, |
238 | { TARGET_SIOCGSTAMPNS_OLD, TARGET_SIOCGSTAMPNS_OLD, |
239 | "SIOCGSTAMPNS_OLD" , IOC_R, do_ioctl_SIOCGSTAMPNS }, |
240 | { TARGET_SIOCGSTAMP_NEW, TARGET_SIOCGSTAMP_NEW, |
241 | "SIOCGSTAMP_NEW" , IOC_R, do_ioctl_SIOCGSTAMP }, |
242 | { TARGET_SIOCGSTAMPNS_NEW, TARGET_SIOCGSTAMPNS_NEW, |
243 | "SIOCGSTAMPNS_NEW" , IOC_R, do_ioctl_SIOCGSTAMPNS }, |
244 | |
245 | IOCTL(RNDGETENTCNT, IOC_R, MK_PTR(TYPE_INT)) |
246 | IOCTL(RNDADDTOENTCNT, IOC_W, MK_PTR(TYPE_INT)) |
247 | IOCTL(RNDZAPENTCNT, 0, TYPE_NULL) |
248 | IOCTL(RNDCLEARPOOL, 0, TYPE_NULL) |
249 | |
250 | IOCTL(CDROMPAUSE, 0, TYPE_NULL) |
251 | IOCTL(CDROMSTART, 0, TYPE_NULL) |
252 | IOCTL(CDROMSTOP, 0, TYPE_NULL) |
253 | IOCTL(CDROMRESUME, 0, TYPE_NULL) |
254 | IOCTL(CDROMEJECT, 0, TYPE_NULL) |
255 | IOCTL(CDROMEJECT_SW, 0, TYPE_INT) |
256 | IOCTL(CDROMCLOSETRAY, 0, TYPE_NULL) |
257 | IOCTL(CDROMRESET, 0, TYPE_NULL) |
258 | IOCTL(CDROMPLAYMSF, IOC_W, MK_PTR(TYPE_INT)) |
259 | IOCTL(CDROMPLAYTRKIND, IOC_W, MK_PTR(TYPE_INT)) |
260 | IOCTL(CDROMREADTOCHDR, IOC_R, MK_PTR(TYPE_INT)) |
261 | IOCTL(CDROMREADTOCENTRY, IOC_RW, MK_PTR(TYPE_INT)) |
262 | IOCTL(CDROMVOLCTRL, IOC_W, MK_PTR(TYPE_INT)) |
263 | IOCTL(CDROMSUBCHNL, IOC_RW, MK_PTR(TYPE_INT)) |
264 | /* XXX: incorrect (need specific handling) */ |
265 | IOCTL(CDROMREADAUDIO, IOC_W, MK_PTR(MK_STRUCT(STRUCT_cdrom_read_audio))) |
266 | IOCTL(CDROMREADCOOKED, IOC_RW, MK_PTR(TYPE_INT)) |
267 | IOCTL(CDROMREADRAW, IOC_RW, MK_PTR(TYPE_INT)) |
268 | IOCTL(CDROMREADMODE1, IOC_RW, MK_PTR(TYPE_INT)) |
269 | IOCTL(CDROMREADMODE2, IOC_RW, MK_PTR(TYPE_INT)) |
270 | IOCTL(CDROMREADALL, IOC_RW, MK_PTR(TYPE_INT)) |
271 | IOCTL(CDROMMULTISESSION, IOC_RW, MK_PTR(TYPE_INT)) |
272 | IOCTL(CDROM_GET_UPC, IOC_R, MK_PTR(TYPE_INT)) |
273 | IOCTL(CDROMVOLREAD, IOC_R, MK_PTR(TYPE_INT)) |
274 | IOCTL(CDROMSEEK, IOC_W, MK_PTR(TYPE_INT)) |
275 | IOCTL(CDROMPLAYBLK, IOC_W, MK_PTR(TYPE_INT)) |
276 | IOCTL(CDROM_MEDIA_CHANGED, 0, TYPE_NULL) |
277 | IOCTL(CDROM_SET_OPTIONS, 0, TYPE_INT) |
278 | IOCTL(CDROM_CLEAR_OPTIONS, 0, TYPE_INT) |
279 | IOCTL(CDROM_SELECT_SPEED, 0, TYPE_INT) |
280 | IOCTL(CDROM_SELECT_DISC, 0, TYPE_INT) |
281 | IOCTL(CDROM_DRIVE_STATUS, 0, TYPE_NULL) |
282 | IOCTL(CDROM_DISC_STATUS, 0, TYPE_NULL) |
283 | IOCTL(CDROMAUDIOBUFSIZ, 0, TYPE_INT) |
284 | |
285 | #if 0 |
286 | IOCTL(SNDCTL_COPR_HALT, IOC_RW, MK_PTR(TYPE_INT)) |
287 | IOCTL(SNDCTL_COPR_LOAD, IOC_RW, MK_PTR(TYPE_INT)) |
288 | IOCTL(SNDCTL_COPR_RCODE, IOC_RW, MK_PTR(TYPE_INT)) |
289 | IOCTL(SNDCTL_COPR_RCVMSG, IOC_R, MK_PTR(TYPE_INT)) |
290 | IOCTL(SNDCTL_COPR_RDATA, IOC_RW, MK_PTR(TYPE_INT)) |
291 | IOCTL(SNDCTL_COPR_RESET, 0, TYPE_NULL) |
292 | IOCTL(SNDCTL_COPR_RUN, IOC_RW, MK_PTR(TYPE_INT)) |
293 | IOCTL(SNDCTL_COPR_SENDMSG, IOC_RW, MK_PTR(TYPE_INT)) |
294 | IOCTL(SNDCTL_COPR_WCODE, IOC_W, MK_PTR(TYPE_INT)) |
295 | IOCTL(SNDCTL_COPR_WDATA, IOC_W, MK_PTR(TYPE_INT)) |
296 | #endif |
297 | IOCTL(SNDCTL_DSP_CHANNELS, IOC_RW, MK_PTR(TYPE_INT)) |
298 | IOCTL(SNDCTL_DSP_GETBLKSIZE, IOC_RW, MK_PTR(TYPE_INT)) |
299 | IOCTL(SNDCTL_DSP_GETCAPS, IOC_R, MK_PTR(TYPE_INT)) |
300 | IOCTL(SNDCTL_DSP_GETFMTS, IOC_R, MK_PTR(TYPE_INT)) |
301 | IOCTL(SNDCTL_DSP_GETIPTR, IOC_R, MK_PTR(MK_STRUCT(STRUCT_count_info))) |
302 | IOCTL(SNDCTL_DSP_GETOPTR, IOC_R, MK_PTR(MK_STRUCT(STRUCT_count_info))) |
303 | IOCTL(SNDCTL_DSP_GETISPACE, IOC_R, MK_PTR(MK_STRUCT(STRUCT_audio_buf_info))) |
304 | IOCTL(SNDCTL_DSP_GETOSPACE, IOC_R, MK_PTR(MK_STRUCT(STRUCT_audio_buf_info))) |
305 | IOCTL(SNDCTL_DSP_GETTRIGGER, IOC_R, MK_PTR(TYPE_INT)) |
306 | IOCTL(SNDCTL_DSP_MAPINBUF, IOC_R, MK_PTR(MK_STRUCT(STRUCT_buffmem_desc))) |
307 | IOCTL(SNDCTL_DSP_MAPOUTBUF, IOC_R, MK_PTR(MK_STRUCT(STRUCT_buffmem_desc))) |
308 | IOCTL(SNDCTL_DSP_NONBLOCK, 0, TYPE_NULL) |
309 | IOCTL(SNDCTL_DSP_POST, 0, TYPE_NULL) |
310 | IOCTL(SNDCTL_DSP_RESET, 0, TYPE_NULL) |
311 | IOCTL(SNDCTL_DSP_SETDUPLEX, 0, TYPE_NULL) |
312 | IOCTL(SNDCTL_DSP_SETFMT, IOC_RW, MK_PTR(TYPE_INT)) |
313 | IOCTL(SNDCTL_DSP_SETFRAGMENT, IOC_RW, MK_PTR(TYPE_INT)) |
314 | IOCTL(SNDCTL_DSP_SETSYNCRO, 0, TYPE_NULL) |
315 | IOCTL(SNDCTL_DSP_SETTRIGGER, IOC_W, MK_PTR(TYPE_INT)) |
316 | IOCTL(SNDCTL_DSP_SPEED, IOC_RW, MK_PTR(TYPE_INT)) |
317 | IOCTL(SNDCTL_DSP_STEREO, IOC_RW, MK_PTR(TYPE_INT)) |
318 | IOCTL(SNDCTL_DSP_SUBDIVIDE, IOC_RW, MK_PTR(TYPE_INT)) |
319 | IOCTL(SNDCTL_DSP_SYNC, 0, TYPE_NULL) |
320 | #if 0 |
321 | IOCTL(SNDCTL_FM_4OP_ENABLE, IOC_W, MK_PTR(TYPE_INT)) |
322 | IOCTL(SNDCTL_FM_LOAD_INSTR, IOC_W, MK_PTR(TYPE_INT)) |
323 | IOCTL(SNDCTL_MIDI_INFO, IOC_RW, MK_PTR(TYPE_INT)) |
324 | IOCTL(SNDCTL_MIDI_MPUCMD, IOC_RW, MK_PTR(TYPE_INT)) |
325 | IOCTL(SNDCTL_MIDI_MPUMODE, IOC_RW, MK_PTR(TYPE_INT)) |
326 | IOCTL(SNDCTL_MIDI_PRETIME, IOC_RW, MK_PTR(TYPE_INT)) |
327 | IOCTL(SNDCTL_SEQ_CTRLRATE, IOC_RW, MK_PTR(TYPE_INT)) |
328 | IOCTL(SNDCTL_SEQ_GETINCOUNT, IOC_R, MK_PTR(TYPE_INT)) |
329 | IOCTL(SNDCTL_SEQ_GETOUTCOUNT, IOC_R, MK_PTR(TYPE_INT)) |
330 | IOCTL(SNDCTL_SEQ_NRMIDIS, IOC_R, MK_PTR(TYPE_INT)) |
331 | IOCTL(SNDCTL_SEQ_NRSYNTHS, IOC_R, MK_PTR(TYPE_INT)) |
332 | IOCTL(SNDCTL_SEQ_OUTOFBAND, IOC_W, MK_PTR(TYPE_INT)) |
333 | IOCTL(SNDCTL_SEQ_PANIC, 0, TYPE_NULL) |
334 | IOCTL(SNDCTL_SEQ_PERCMODE, IOC_W, MK_PTR(TYPE_INT)) |
335 | IOCTL(SNDCTL_SEQ_RESET, 0, TYPE_NULL) |
336 | IOCTL(SNDCTL_SEQ_RESETSAMPLES, IOC_W, MK_PTR(TYPE_INT)) |
337 | IOCTL(SNDCTL_SEQ_SYNC, 0, TYPE_NULL) |
338 | IOCTL(SNDCTL_SEQ_TESTMIDI, IOC_W, MK_PTR(TYPE_INT)) |
339 | IOCTL(SNDCTL_SEQ_THRESHOLD, IOC_W, MK_PTR(TYPE_INT)) |
340 | IOCTL(SNDCTL_SYNTH_INFO, IOC_RW, MK_PTR(TYPE_INT)) |
341 | IOCTL(SNDCTL_SYNTH_MEMAVL, IOC_RW, MK_PTR(TYPE_INT)) |
342 | IOCTL(SNDCTL_TMR_CONTINUE, 0, TYPE_NULL) |
343 | IOCTL(SNDCTL_TMR_METRONOME, IOC_W, MK_PTR(TYPE_INT)) |
344 | IOCTL(SNDCTL_TMR_SELECT, IOC_W, MK_PTR(TYPE_INT)) |
345 | IOCTL(SNDCTL_TMR_SOURCE, IOC_RW, MK_PTR(TYPE_INT)) |
346 | #if 0 |
347 | /* we invalidate these defines because they have a same number as |
348 | termios ioctls */ |
349 | IOCTL(SNDCTL_TMR_START, 0, TYPE_NULL) |
350 | IOCTL(SNDCTL_TMR_STOP, 0, TYPE_NULL) |
351 | #endif |
352 | IOCTL(SNDCTL_TMR_TEMPO, IOC_RW, MK_PTR(TYPE_INT)) |
353 | IOCTL(SNDCTL_TMR_TIMEBASE, IOC_RW, MK_PTR(TYPE_INT)) |
354 | |
355 | IOCTL(SOUND_PCM_WRITE_FILTER, IOC_W | IOC_R, MK_PTR(TYPE_INT)) |
356 | IOCTL(SOUND_PCM_READ_RATE, IOC_R, MK_PTR(TYPE_INT)) |
357 | IOCTL(SOUND_PCM_READ_CHANNELS, IOC_R, MK_PTR(TYPE_INT)) |
358 | IOCTL(SOUND_PCM_READ_BITS, IOC_R, MK_PTR(TYPE_INT)) |
359 | IOCTL(SOUND_PCM_READ_FILTER, IOC_R, MK_PTR(TYPE_INT)) |
360 | #endif |
361 | IOCTL(SOUND_MIXER_INFO, IOC_R, MK_PTR(TYPE_INT)) |
362 | IOCTL(SOUND_MIXER_ACCESS, 0, TYPE_PTRVOID) |
363 | IOCTL(SOUND_MIXER_PRIVATE1, IOC_RW, MK_PTR(TYPE_INT)) |
364 | IOCTL(SOUND_MIXER_PRIVATE2, IOC_RW, MK_PTR(TYPE_INT)) |
365 | IOCTL(SOUND_MIXER_PRIVATE3, IOC_RW, MK_PTR(TYPE_INT)) |
366 | IOCTL(SOUND_MIXER_PRIVATE4, IOC_RW, MK_PTR(TYPE_INT)) |
367 | IOCTL(SOUND_MIXER_PRIVATE5, IOC_RW, MK_PTR(TYPE_INT)) |
368 | IOCTL(SOUND_MIXER_READ_VOLUME, IOC_R, MK_PTR(TYPE_INT)) |
369 | IOCTL(SOUND_MIXER_READ_BASS, IOC_R, MK_PTR(TYPE_INT)) |
370 | IOCTL(SOUND_MIXER_READ_TREBLE, IOC_R, MK_PTR(TYPE_INT)) |
371 | IOCTL(SOUND_MIXER_READ_SYNTH, IOC_R, MK_PTR(TYPE_INT)) |
372 | IOCTL(SOUND_MIXER_READ_PCM, IOC_R, MK_PTR(TYPE_INT)) |
373 | IOCTL(SOUND_MIXER_READ_SPEAKER, IOC_R, MK_PTR(TYPE_INT)) |
374 | IOCTL(SOUND_MIXER_READ_LINE, IOC_R, MK_PTR(TYPE_INT)) |
375 | IOCTL(SOUND_MIXER_READ_MIC, IOC_R, MK_PTR(TYPE_INT)) |
376 | IOCTL(SOUND_MIXER_READ_CD, IOC_R, MK_PTR(TYPE_INT)) |
377 | IOCTL(SOUND_MIXER_READ_IMIX, IOC_R, MK_PTR(TYPE_INT)) |
378 | IOCTL(SOUND_MIXER_READ_ALTPCM, IOC_R, MK_PTR(TYPE_INT)) |
379 | IOCTL(SOUND_MIXER_READ_RECLEV, IOC_R, MK_PTR(TYPE_INT)) |
380 | IOCTL(SOUND_MIXER_READ_IGAIN, IOC_R, MK_PTR(TYPE_INT)) |
381 | IOCTL(SOUND_MIXER_READ_OGAIN, IOC_R, MK_PTR(TYPE_INT)) |
382 | IOCTL(SOUND_MIXER_READ_LINE1, IOC_R, MK_PTR(TYPE_INT)) |
383 | IOCTL(SOUND_MIXER_READ_LINE2, IOC_R, MK_PTR(TYPE_INT)) |
384 | IOCTL(SOUND_MIXER_READ_LINE3, IOC_R, MK_PTR(TYPE_INT)) |
385 | IOCTL(SOUND_MIXER_READ_MUTE, IOC_R, MK_PTR(TYPE_INT)) |
386 | IOCTL(SOUND_MIXER_READ_ENHANCE, IOC_R, MK_PTR(TYPE_INT)) |
387 | IOCTL(SOUND_MIXER_READ_LOUD, IOC_R, MK_PTR(TYPE_INT)) |
388 | IOCTL(SOUND_MIXER_READ_RECSRC, IOC_R, MK_PTR(TYPE_INT)) |
389 | IOCTL(SOUND_MIXER_READ_DEVMASK, IOC_R, MK_PTR(TYPE_INT)) |
390 | IOCTL(SOUND_MIXER_READ_RECMASK, IOC_R, MK_PTR(TYPE_INT)) |
391 | IOCTL(SOUND_MIXER_READ_STEREODEVS, IOC_R, MK_PTR(TYPE_INT)) |
392 | IOCTL(SOUND_MIXER_READ_CAPS, IOC_R, MK_PTR(TYPE_INT)) |
393 | |
394 | IOCTL(SOUND_MIXER_WRITE_VOLUME, IOC_W, MK_PTR(TYPE_INT)) |
395 | IOCTL(SOUND_MIXER_WRITE_BASS, IOC_W, MK_PTR(TYPE_INT)) |
396 | IOCTL(SOUND_MIXER_WRITE_TREBLE, IOC_W, MK_PTR(TYPE_INT)) |
397 | IOCTL(SOUND_MIXER_WRITE_SYNTH, IOC_W, MK_PTR(TYPE_INT)) |
398 | IOCTL(SOUND_MIXER_WRITE_PCM, IOC_W, MK_PTR(TYPE_INT)) |
399 | IOCTL(SOUND_MIXER_WRITE_SPEAKER, IOC_W, MK_PTR(TYPE_INT)) |
400 | IOCTL(SOUND_MIXER_WRITE_LINE, IOC_W, MK_PTR(TYPE_INT)) |
401 | IOCTL(SOUND_MIXER_WRITE_MIC, IOC_W, MK_PTR(TYPE_INT)) |
402 | IOCTL(SOUND_MIXER_WRITE_CD, IOC_W, MK_PTR(TYPE_INT)) |
403 | IOCTL(SOUND_MIXER_WRITE_IMIX, IOC_W, MK_PTR(TYPE_INT)) |
404 | IOCTL(SOUND_MIXER_WRITE_ALTPCM, IOC_W, MK_PTR(TYPE_INT)) |
405 | IOCTL(SOUND_MIXER_WRITE_RECLEV, IOC_W, MK_PTR(TYPE_INT)) |
406 | IOCTL(SOUND_MIXER_WRITE_IGAIN, IOC_W, MK_PTR(TYPE_INT)) |
407 | IOCTL(SOUND_MIXER_WRITE_OGAIN, IOC_W, MK_PTR(TYPE_INT)) |
408 | IOCTL(SOUND_MIXER_WRITE_LINE1, IOC_W, MK_PTR(TYPE_INT)) |
409 | IOCTL(SOUND_MIXER_WRITE_LINE2, IOC_W, MK_PTR(TYPE_INT)) |
410 | IOCTL(SOUND_MIXER_WRITE_LINE3, IOC_W, MK_PTR(TYPE_INT)) |
411 | IOCTL(SOUND_MIXER_WRITE_MUTE, IOC_W, MK_PTR(TYPE_INT)) |
412 | IOCTL(SOUND_MIXER_WRITE_ENHANCE, IOC_W, MK_PTR(TYPE_INT)) |
413 | IOCTL(SOUND_MIXER_WRITE_LOUD, IOC_W, MK_PTR(TYPE_INT)) |
414 | IOCTL(SOUND_MIXER_WRITE_RECSRC, IOC_W, MK_PTR(TYPE_INT)) |
415 | |
416 | IOCTL(HDIO_GETGEO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_hd_geometry))) |
417 | IOCTL(HDIO_GET_UNMASKINTR, IOC_R, MK_PTR(TYPE_INT)) |
418 | IOCTL(HDIO_GET_MULTCOUNT, IOC_R, MK_PTR(TYPE_INT)) |
419 | IOCTL(HDIO_GET_IDENTITY, IOC_R, MK_PTR(TYPE_INT)) |
420 | IOCTL(HDIO_GET_KEEPSETTINGS, IOC_R, MK_PTR(TYPE_INT)) |
421 | IOCTL(HDIO_GET_NOWERR, IOC_R, MK_PTR(TYPE_INT)) |
422 | IOCTL(HDIO_GET_DMA, IOC_R, MK_PTR(TYPE_INT)) |
423 | IOCTL(HDIO_GET_32BIT, IOC_R, MK_PTR(TYPE_INT)) |
424 | IOCTL(HDIO_DRIVE_CMD, IOC_R, MK_PTR(TYPE_INT)) |
425 | IOCTL(HDIO_SET_UNMASKINTR, 0, TYPE_INT) |
426 | IOCTL(HDIO_SET_MULTCOUNT, 0, TYPE_INT) |
427 | IOCTL(HDIO_SET_KEEPSETTINGS, 0, TYPE_INT) |
428 | IOCTL(HDIO_SET_NOWERR, 0, TYPE_INT) |
429 | IOCTL(HDIO_SET_DMA, 0, TYPE_INT) |
430 | IOCTL(HDIO_SET_32BIT, 0, TYPE_INT) |
431 | IOCTL(HDIO_SET_PIO_MODE, 0, TYPE_INT) |
432 | |
433 | IOCTL(VFAT_IOCTL_READDIR_BOTH, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2))) |
434 | IOCTL(VFAT_IOCTL_READDIR_SHORT, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2))) |
435 | |
436 | IOCTL(LOOP_SET_FD, 0, TYPE_INT) |
437 | IOCTL(LOOP_CLR_FD, 0, TYPE_INT) |
438 | IOCTL(LOOP_SET_STATUS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info))) |
439 | IOCTL(LOOP_GET_STATUS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_loop_info))) |
440 | IOCTL(LOOP_SET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64))) |
441 | IOCTL(LOOP_GET_STATUS64, IOC_R, MK_PTR(MK_STRUCT(STRUCT_loop_info64))) |
442 | IOCTL(LOOP_CHANGE_FD, 0, TYPE_INT) |
443 | |
444 | IOCTL(LOOP_CTL_ADD, 0, TYPE_INT) |
445 | IOCTL(LOOP_CTL_REMOVE, 0, TYPE_INT) |
446 | IOCTL(LOOP_CTL_GET_FREE, 0, TYPE_NULL) |
447 | |
448 | IOCTL(MTIOCTOP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_mtop))) |
449 | IOCTL(MTIOCGET, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtget))) |
450 | IOCTL(MTIOCPOS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtpos))) |
451 | |
452 | IOCTL(FBIOGET_FSCREENINFO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_fb_fix_screeninfo))) |
453 | IOCTL(FBIOGET_VSCREENINFO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_fb_var_screeninfo))) |
454 | IOCTL(FBIOPUT_VSCREENINFO, IOC_W, MK_PTR(MK_STRUCT(STRUCT_fb_var_screeninfo))) |
455 | IOCTL(FBIOGETCMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_cmap))) |
456 | IOCTL(FBIOPUTCMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_cmap))) |
457 | IOCTL(FBIOPAN_DISPLAY, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_var_screeninfo))) |
458 | IOCTL(FBIOGET_CON2FBMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_con2fbmap))) |
459 | IOCTL(FBIOPUT_CON2FBMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_con2fbmap))) |
460 | |
461 | IOCTL(VT_OPENQRY, IOC_R, MK_PTR(TYPE_INT)) |
462 | IOCTL(VT_GETSTATE, IOC_R, MK_PTR(MK_STRUCT(STRUCT_vt_stat))) |
463 | IOCTL(VT_ACTIVATE, 0, TYPE_INT) |
464 | IOCTL(VT_WAITACTIVE, 0, TYPE_INT) |
465 | IOCTL(VT_LOCKSWITCH, 0, TYPE_INT) |
466 | IOCTL(VT_UNLOCKSWITCH, 0, TYPE_INT) |
467 | IOCTL(VT_GETMODE, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_vt_mode))) |
468 | IOCTL(VT_SETMODE, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_vt_mode))) |
469 | IOCTL(VT_RELDISP, 0, TYPE_INT) |
470 | IOCTL(VT_DISALLOCATE, 0, TYPE_INT) |
471 | |
472 | IOCTL(DM_VERSION, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
473 | IOCTL_SPECIAL(DM_REMOVE_ALL, IOC_RW, do_ioctl_dm, |
474 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
475 | IOCTL_SPECIAL(DM_LIST_DEVICES, IOC_RW, do_ioctl_dm, |
476 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
477 | IOCTL_SPECIAL(DM_DEV_CREATE, IOC_RW, do_ioctl_dm, |
478 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
479 | IOCTL_SPECIAL(DM_DEV_REMOVE, IOC_RW, do_ioctl_dm, |
480 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
481 | IOCTL_SPECIAL(DM_DEV_RENAME, IOC_RW, do_ioctl_dm, |
482 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
483 | IOCTL_SPECIAL(DM_DEV_SUSPEND, IOC_RW, do_ioctl_dm, |
484 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
485 | IOCTL_SPECIAL(DM_DEV_STATUS, IOC_RW, do_ioctl_dm, |
486 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
487 | IOCTL_SPECIAL(DM_DEV_WAIT, IOC_RW, do_ioctl_dm, |
488 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
489 | IOCTL_SPECIAL(DM_TABLE_LOAD, IOC_RW, do_ioctl_dm, |
490 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
491 | IOCTL_SPECIAL(DM_TABLE_CLEAR, IOC_RW, do_ioctl_dm, |
492 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
493 | IOCTL_SPECIAL(DM_TABLE_DEPS, IOC_RW, do_ioctl_dm, |
494 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
495 | IOCTL_SPECIAL(DM_TABLE_STATUS, IOC_RW, do_ioctl_dm, |
496 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
497 | IOCTL_SPECIAL(DM_LIST_VERSIONS,IOC_RW, do_ioctl_dm, |
498 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
499 | IOCTL_SPECIAL(DM_TARGET_MSG, IOC_RW, do_ioctl_dm, |
500 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
501 | IOCTL_SPECIAL(DM_DEV_SET_GEOMETRY, IOC_RW, do_ioctl_dm, |
502 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) |
503 | IOCTL_SPECIAL(SIOCADDRT, IOC_W, do_ioctl_rt, |
504 | MK_PTR(MK_STRUCT(STRUCT_rtentry))) |
505 | IOCTL_SPECIAL(SIOCDELRT, IOC_W, do_ioctl_rt, |
506 | MK_PTR(MK_STRUCT(STRUCT_rtentry))) |
507 | |
508 | #ifdef TARGET_TIOCSTART |
509 | IOCTL_IGNORE(TIOCSTART) |
510 | IOCTL_IGNORE(TIOCSTOP) |
511 | #endif |
512 | |