]>
Commit | Line | Data |
---|---|---|
31e31b8a FB |
1 | /* emulated ioctl list */ |
2 | ||
3 | IOCTL(TCGETS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_termios))) | |
9de5e440 | 4 | IOCTL(TCSETS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios))) |
31e31b8a FB |
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)) | |
bd00c74c | 23 | IOCTL(TIOCGSID, IOC_W, MK_PTR(TYPE_INT)) |
31e31b8a FB |
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)) | |
f29042b5 FB |
41 | IOCTL(TIOCGPTN, IOC_R, MK_PTR(TYPE_INT)) |
42 | IOCTL(TIOCSPTLCK, IOC_W, MK_PTR(TYPE_INT)) | |
2b74f621 AS |
43 | #ifdef TIOCGPTPEER |
44 | IOCTL_SPECIAL(TIOCGPTPEER, 0, do_ioctl_tiocgptpeer, TYPE_INT) | |
45 | #endif | |
31e31b8a FB |
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 | ||
0221cfcd FB |
58 | IOCTL(KIOCSOUND, 0, TYPE_INT) |
59 | IOCTL(KDMKTONE, 0, TYPE_INT) | |
f7680a55 | 60 | IOCTL(KDSETMODE, 0, TYPE_INT) |
0221cfcd | 61 | IOCTL(KDGKBTYPE, IOC_R, MK_PTR(TYPE_CHAR)) |
f7680a55 UH |
62 | IOCTL(KDGKBMODE, IOC_R, MK_PTR(TYPE_INT)) |
63 | IOCTL(KDSKBMODE, 0, TYPE_INT) | |
0221cfcd | 64 | IOCTL(KDGKBENT, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_kbentry))) |
53a5960a | 65 | IOCTL(KDGKBSENT, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_kbsentry))) |
e6fe18fb CV |
66 | IOCTL(KDGKBLED, 0, TYPE_INT) |
67 | IOCTL(KDSKBLED, 0, TYPE_INT) | |
68 | IOCTL(KDGETLED, 0, TYPE_INT) | |
69 | IOCTL(KDSETLED, 0, TYPE_INT) | |
ca56f5b5 | 70 | IOCTL_SPECIAL(KDSIGACCEPT, 0, do_ioctl_kdsigaccept, TYPE_INT) |
8e5a0667 | 71 | |
68365f96 FB |
72 | IOCTL(RTC_AIE_ON, 0, TYPE_NULL) |
73 | IOCTL(RTC_AIE_OFF, 0, TYPE_NULL) | |
74 | IOCTL(RTC_UIE_ON, 0, TYPE_NULL) | |
75 | IOCTL(RTC_UIE_OFF, 0, TYPE_NULL) | |
76 | IOCTL(RTC_PIE_ON, 0, TYPE_NULL) | |
77 | IOCTL(RTC_PIE_OFF, 0, TYPE_NULL) | |
78 | IOCTL(RTC_WIE_ON, 0, TYPE_NULL) | |
79 | IOCTL(RTC_WIE_OFF, 0, TYPE_NULL) | |
178b14a0 FB |
80 | IOCTL(RTC_ALM_READ, IOC_R, MK_PTR(MK_STRUCT(STRUCT_rtc_time))) |
81 | IOCTL(RTC_ALM_SET, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtc_time))) | |
82 | IOCTL(RTC_RD_TIME, IOC_R, MK_PTR(MK_STRUCT(STRUCT_rtc_time))) | |
83 | IOCTL(RTC_SET_TIME, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtc_time))) | |
fa857eb5 FB |
84 | IOCTL(RTC_IRQP_READ, IOC_R, MK_PTR(TYPE_ULONG)) |
85 | IOCTL(RTC_IRQP_SET, IOC_W, TYPE_ULONG) | |
86 | IOCTL(RTC_EPOCH_READ, IOC_R, MK_PTR(TYPE_ULONG)) | |
87 | IOCTL(RTC_EPOCH_SET, IOC_W, TYPE_ULONG) | |
abc81bf6 FB |
88 | IOCTL(RTC_WKALM_RD, IOC_R, MK_PTR(MK_STRUCT(STRUCT_rtc_wkalrm))) |
89 | IOCTL(RTC_WKALM_SET, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtc_wkalrm))) | |
373b067f FB |
90 | IOCTL(RTC_PLL_GET, IOC_R, MK_PTR(MK_STRUCT(STRUCT_rtc_pll_info))) |
91 | IOCTL(RTC_PLL_SET, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtc_pll_info))) | |
a7b09746 FB |
92 | IOCTL(RTC_VL_READ, IOC_R, MK_PTR(TYPE_INT)) |
93 | IOCTL(RTC_VL_CLR, 0, TYPE_NULL) | |
68365f96 | 94 | |
31e31b8a FB |
95 | IOCTL(BLKROSET, IOC_W, MK_PTR(TYPE_INT)) |
96 | IOCTL(BLKROGET, IOC_R, MK_PTR(TYPE_INT)) | |
97 | IOCTL(BLKRRPART, 0, TYPE_NULL) | |
98 | IOCTL(BLKGETSIZE, IOC_R, MK_PTR(TYPE_ULONG)) | |
31e31b8a | 99 | IOCTL(BLKGETSIZE64, IOC_R, MK_PTR(TYPE_ULONGLONG)) |
31e31b8a FB |
100 | IOCTL(BLKFLSBUF, 0, TYPE_NULL) |
101 | IOCTL(BLKRASET, 0, TYPE_INT) | |
102 | IOCTL(BLKRAGET, IOC_R, MK_PTR(TYPE_LONG)) | |
a4a2c51f | 103 | IOCTL(BLKSSZGET, IOC_R, MK_PTR(TYPE_INT)) |
354a0008 | 104 | IOCTL(BLKBSZGET, IOC_R, MK_PTR(TYPE_INT)) |
a59b5e35 AG |
105 | IOCTL_SPECIAL(BLKPG, IOC_W, do_ioctl_blkpg, |
106 | MK_PTR(MK_STRUCT(STRUCT_blkpg_ioctl_arg))) | |
4715856a | 107 | |
4715856a | 108 | IOCTL(BLKDISCARD, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) |
4715856a | 109 | IOCTL(BLKIOMIN, IOC_R, MK_PTR(TYPE_INT)) |
4715856a | 110 | IOCTL(BLKIOOPT, IOC_R, MK_PTR(TYPE_INT)) |
4715856a | 111 | IOCTL(BLKALIGNOFF, IOC_R, MK_PTR(TYPE_INT)) |
4715856a | 112 | IOCTL(BLKPBSZGET, IOC_R, MK_PTR(TYPE_INT)) |
4715856a | 113 | IOCTL(BLKDISCARDZEROES, IOC_R, MK_PTR(TYPE_INT)) |
4715856a | 114 | IOCTL(BLKSECDISCARD, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) |
4715856a | 115 | IOCTL(BLKROTATIONAL, IOC_R, MK_PTR(TYPE_SHORT)) |
4715856a | 116 | IOCTL(BLKZEROOUT, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) |
4715856a | 117 | |
7e35fc8b AM |
118 | IOCTL(FDMSGON, 0, TYPE_NULL) |
119 | IOCTL(FDMSGOFF, 0, TYPE_NULL) | |
81eb1a36 | 120 | IOCTL(FDSETEMSGTRESH, 0, TYPE_NULL) |
08e3ce59 AM |
121 | IOCTL(FDFMTBEG, 0, TYPE_NULL) |
122 | IOCTL(FDFMTTRK, IOC_W, MK_PTR(MK_STRUCT(STRUCT_format_descr))) | |
123 | IOCTL(FDFMTEND, 0, TYPE_NULL) | |
ab22b4dd | 124 | IOCTL(FDFLUSH, 0, TYPE_NULL) |
81eb1a36 AM |
125 | IOCTL(FDSETMAXERRS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_floppy_max_errors))) |
126 | IOCTL(FDGETMAXERRS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_floppy_max_errors))) | |
5eea9429 AM |
127 | IOCTL(FDRESET, 0, TYPE_NULL) |
128 | IOCTL(FDRAWCMD, 0, TYPE_NULL) | |
129 | IOCTL(FDTWADDLE, 0, TYPE_NULL) | |
130 | IOCTL(FDEJECT, 0, TYPE_NULL) | |
ab22b4dd | 131 | |
31e31b8a | 132 | IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG)) |
21992cb6 HD |
133 | #ifdef FICLONE |
134 | IOCTL(FICLONE, IOC_W, TYPE_INT) | |
135 | IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range))) | |
136 | #endif | |
137 | ||
31e31b8a | 138 | IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG)) |
dace20dc | 139 | #ifdef CONFIG_FIEMAP |
285da2b9 PM |
140 | IOCTL_SPECIAL(FS_IOC_FIEMAP, IOC_W | IOC_R, do_ioctl_fs_ioc_fiemap, |
141 | MK_PTR(MK_STRUCT(STRUCT_fiemap))) | |
142 | #endif | |
31e31b8a | 143 | |
60807231 PM |
144 | IOCTL(FS_IOC_GETFLAGS, IOC_R, MK_PTR(TYPE_INT)) |
145 | IOCTL(FS_IOC_SETFLAGS, IOC_W, MK_PTR(TYPE_INT)) | |
5ae774a9 AM |
146 | IOCTL(FS_IOC_GETVERSION, IOC_R, MK_PTR(TYPE_INT)) |
147 | IOCTL(FS_IOC_SETVERSION, IOC_W, MK_PTR(TYPE_INT)) | |
0b471ba6 AM |
148 | IOCTL(FS_IOC32_GETFLAGS, IOC_R, MK_PTR(TYPE_INT)) |
149 | IOCTL(FS_IOC32_SETFLAGS, IOC_W, MK_PTR(TYPE_INT)) | |
0d899cd6 AM |
150 | IOCTL(FS_IOC32_GETVERSION, IOC_R, MK_PTR(TYPE_INT)) |
151 | IOCTL(FS_IOC32_SETVERSION, IOC_W, MK_PTR(TYPE_INT)) | |
60807231 | 152 | |
527e8d8f FB |
153 | #ifdef BTRFS_IOC_SNAP_CREATE |
154 | IOCTL(BTRFS_IOC_SNAP_CREATE, IOC_W, | |
155 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) | |
156 | #endif | |
9bbd60e7 FB |
157 | #ifdef BTRFS_IOC_SCAN_DEV |
158 | IOCTL(BTRFS_IOC_SCAN_DEV, IOC_W, | |
159 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) | |
160 | #endif | |
161 | #ifdef BTRFS_IOC_FORGET_DEV | |
162 | IOCTL(BTRFS_IOC_FORGET_DEV, IOC_W, | |
163 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) | |
164 | #endif | |
165 | #ifdef BTRFS_IOC_ADD_DEV | |
166 | IOCTL(BTRFS_IOC_ADD_DEV, IOC_W, | |
167 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) | |
168 | #endif | |
169 | #ifdef BTRFS_IOC_RM_DEV | |
170 | IOCTL(BTRFS_IOC_RM_DEV, IOC_W, | |
171 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) | |
172 | #endif | |
d6092e08 FB |
173 | #ifdef BTRFS_IOC_SUBVOL_CREATE |
174 | IOCTL(BTRFS_IOC_SUBVOL_CREATE, IOC_W, | |
175 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) | |
176 | #endif | |
527e8d8f FB |
177 | #ifdef BTRFS_IOC_SNAP_DESTROY |
178 | IOCTL(BTRFS_IOC_SNAP_DESTROY, IOC_W, | |
179 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) | |
180 | #endif | |
0ff496a0 FB |
181 | #ifdef BTRFS_IOC_INO_LOOKUP |
182 | IOCTL(BTRFS_IOC_INO_LOOKUP, IOC_RW, | |
183 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_ino_lookup_args))) | |
184 | #endif | |
784c08c8 FB |
185 | #ifdef BTRFS_IOC_DEFAULT_SUBVOL |
186 | IOCTL(BTRFS_IOC_DEFAULT_SUBVOL, IOC_W, MK_PTR(TYPE_ULONGLONG)) | |
187 | #endif | |
d6092e08 FB |
188 | #ifdef BTRFS_IOC_SUBVOL_GETFLAGS |
189 | IOCTL(BTRFS_IOC_SUBVOL_GETFLAGS, IOC_R, MK_PTR(TYPE_ULONGLONG)) | |
190 | #endif | |
191 | #ifdef BTRFS_IOC_SUBVOL_SETFLAGS | |
192 | IOCTL(BTRFS_IOC_SUBVOL_SETFLAGS, IOC_W, MK_PTR(TYPE_ULONGLONG)) | |
193 | #endif | |
9a5a5a05 FB |
194 | #ifdef BTRFS_IOC_SCRUB |
195 | IOCTL(BTRFS_IOC_SCRUB, IOC_RW, | |
196 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_scrub_args))) | |
197 | #endif | |
198 | #ifdef BTRFS_IOC_SCRUB_CANCEL | |
199 | IOCTL(BTRFS_IOC_SCRUB_CANCEL, 0, TYPE_NULL) | |
200 | #endif | |
201 | #ifdef BTRFS_IOC_SCRUB_PROGRESS | |
202 | IOCTL(BTRFS_IOC_SCRUB_PROGRESS, IOC_RW, | |
203 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_scrub_args))) | |
204 | #endif | |
9bbd60e7 FB |
205 | #ifdef BTRFS_IOC_DEV_INFO |
206 | IOCTL(BTRFS_IOC_DEV_INFO, IOC_RW, | |
207 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_dev_info_args))) | |
208 | #endif | |
0ff496a0 FB |
209 | #ifdef BTRFS_IOC_INO_PATHS |
210 | IOCTL(BTRFS_IOC_INO_PATHS, IOC_RW, | |
211 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_ino_path_args))) | |
212 | #endif | |
213 | #ifdef BTRFS_IOC_LOGICAL_INO | |
214 | IOCTL(BTRFS_IOC_LOGICAL_INO, IOC_RW, | |
215 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_logical_ino_args))) | |
216 | #endif | |
53906f68 FB |
217 | #ifdef BTRFS_IOC_QUOTA_CTL |
218 | IOCTL(BTRFS_IOC_QUOTA_CTL, IOC_RW, | |
219 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_quota_ctl_args))) | |
220 | #endif | |
221 | #ifdef BTRFS_IOC_QGROUP_ASSIGN | |
222 | IOCTL(BTRFS_IOC_QGROUP_ASSIGN, IOC_W, | |
223 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_qgroup_assign_args))) | |
224 | #endif | |
225 | #ifdef BTRFS_IOC_QGROUP_CREATE | |
226 | IOCTL(BTRFS_IOC_QGROUP_CREATE, IOC_W, | |
227 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_qgroup_create_args))) | |
228 | #endif | |
229 | #ifdef BTRFS_IOC_QGROUP_LIMIT | |
230 | IOCTL(BTRFS_IOC_QGROUP_LIMIT, IOC_R, | |
231 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_qgroup_limit_args))) | |
232 | #endif | |
233 | #ifdef BTRFS_IOC_QUOTA_RESCAN | |
234 | IOCTL(BTRFS_IOC_QUOTA_RESCAN, IOC_W, | |
235 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_quota_rescan_args))) | |
236 | #endif | |
237 | #ifdef BTRFS_IOC_QUOTA_RESCAN_STATUS | |
238 | IOCTL(BTRFS_IOC_QUOTA_RESCAN_STATUS, IOC_R, | |
239 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_quota_rescan_args))) | |
240 | #endif | |
241 | #ifdef BTRFS_IOC_QUOTA_RESCAN_WAIT | |
242 | IOCTL(BTRFS_IOC_QUOTA_RESCAN_WAIT, 0, TYPE_NULL) | |
243 | #endif | |
9bbd60e7 FB |
244 | #ifdef BTRFS_IOC_GET_DEV_STATS |
245 | IOCTL(BTRFS_IOC_GET_DEV_STATS, IOC_RW, | |
246 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_get_dev_stats))) | |
247 | #endif | |
49b422a8 FB |
248 | #ifdef BTRFS_IOC_GET_FEATURES |
249 | IOCTL(BTRFS_IOC_GET_FEATURES, IOC_R, | |
250 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_feature_flags))) | |
251 | #endif | |
252 | #ifdef BTRFS_IOC_SET_FEATURES | |
253 | IOCTL(BTRFS_IOC_SET_FEATURES, IOC_W, | |
254 | MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_btrfs_ioctl_feature_flags), 2))) | |
255 | #endif | |
256 | #ifdef BTRFS_IOC_GET_SUPPORTED_FEATURES | |
257 | IOCTL(BTRFS_IOC_GET_SUPPORTED_FEATURES, IOC_R, | |
258 | MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_btrfs_ioctl_feature_flags), 3))) | |
259 | #endif | |
0ff496a0 FB |
260 | #ifdef BTRFS_IOC_LOGICAL_INO_V2 |
261 | IOCTL(BTRFS_IOC_LOGICAL_INO_V2, IOC_RW, | |
262 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_logical_ino_args))) | |
263 | #endif | |
d6092e08 FB |
264 | #ifdef BTRFS_IOC_GET_SUBVOL_INFO |
265 | IOCTL(BTRFS_IOC_GET_SUBVOL_INFO, IOC_R, | |
266 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_get_subvol_info_args))) | |
267 | #endif | |
784c08c8 FB |
268 | #ifdef BTRFS_IOC_GET_SUBVOL_ROOTREF |
269 | IOCTL(BTRFS_IOC_GET_SUBVOL_ROOTREF, IOC_RW, | |
270 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_get_subvol_rootref_args))) | |
271 | #endif | |
0ff496a0 FB |
272 | #ifdef BTRFS_IOC_INO_LOOKUP_USER |
273 | IOCTL(BTRFS_IOC_INO_LOOKUP_USER, IOC_RW, | |
274 | MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_ino_lookup_user_args))) | |
275 | #endif | |
d6092e08 | 276 | |
6c753a63 CT |
277 | #ifdef CONFIG_USBFS |
278 | /* USB ioctls */ | |
279 | IOCTL(USBDEVFS_CONTROL, IOC_RW, | |
280 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_ctrltransfer))) | |
281 | IOCTL(USBDEVFS_BULK, IOC_RW, | |
282 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_bulktransfer))) | |
283 | IOCTL(USBDEVFS_RESETEP, IOC_W, MK_PTR(TYPE_INT)) | |
284 | IOCTL(USBDEVFS_SETINTERFACE, IOC_W, | |
285 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_setinterface))) | |
286 | IOCTL(USBDEVFS_SETCONFIGURATION, IOC_W, MK_PTR(TYPE_INT)) | |
287 | IOCTL(USBDEVFS_GETDRIVER, IOC_R, | |
288 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_getdriver))) | |
a133367e CT |
289 | IOCTL_SPECIAL(USBDEVFS_SUBMITURB, IOC_W, do_ioctl_usbdevfs_submiturb, |
290 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_urb))) | |
291 | IOCTL_SPECIAL(USBDEVFS_DISCARDURB, IOC_RW, do_ioctl_usbdevfs_discardurb, | |
292 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_urb))) | |
293 | IOCTL_SPECIAL(USBDEVFS_REAPURB, IOC_R, do_ioctl_usbdevfs_reapurb, | |
294 | MK_PTR(TYPE_PTRVOID)) | |
295 | IOCTL_SPECIAL(USBDEVFS_REAPURBNDELAY, IOC_R, do_ioctl_usbdevfs_reapurb, | |
296 | MK_PTR(TYPE_PTRVOID)) | |
6c753a63 CT |
297 | IOCTL(USBDEVFS_DISCSIGNAL, IOC_W, |
298 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_disconnectsignal))) | |
299 | IOCTL(USBDEVFS_CLAIMINTERFACE, IOC_W, MK_PTR(TYPE_INT)) | |
300 | IOCTL(USBDEVFS_RELEASEINTERFACE, IOC_W, MK_PTR(TYPE_INT)) | |
301 | IOCTL(USBDEVFS_CONNECTINFO, IOC_R, | |
302 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_connectinfo))) | |
303 | IOCTL(USBDEVFS_IOCTL, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_usbdevfs_ioctl))) | |
304 | IOCTL(USBDEVFS_HUB_PORTINFO, IOC_R, | |
305 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_hub_portinfo))) | |
306 | IOCTL(USBDEVFS_RESET, 0, TYPE_NULL) | |
307 | IOCTL(USBDEVFS_CLEAR_HALT, IOC_W, MK_PTR(TYPE_INT)) | |
308 | IOCTL(USBDEVFS_DISCONNECT, 0, TYPE_NULL) | |
309 | IOCTL(USBDEVFS_CONNECT, 0, TYPE_NULL) | |
310 | IOCTL(USBDEVFS_CLAIM_PORT, IOC_W, MK_PTR(TYPE_INT)) | |
311 | IOCTL(USBDEVFS_RELEASE_PORT, IOC_W, MK_PTR(TYPE_INT)) | |
312 | IOCTL(USBDEVFS_GET_CAPABILITIES, IOC_R, MK_PTR(TYPE_INT)) | |
313 | IOCTL(USBDEVFS_DISCONNECT_CLAIM, IOC_W, | |
314 | MK_PTR(MK_STRUCT(STRUCT_usbdevfs_disconnect_claim))) | |
315 | #ifdef USBDEVFS_DROP_PRIVILEGES | |
316 | IOCTL(USBDEVFS_DROP_PRIVILEGES, IOC_W, MK_PTR(TYPE_INT)) | |
317 | #endif | |
318 | #ifdef USBDEVFS_GET_SPEED | |
319 | IOCTL(USBDEVFS_GET_SPEED, 0, TYPE_NULL) | |
320 | #endif | |
321 | #endif /* CONFIG_USBFS */ | |
322 | ||
4e4b173f AM |
323 | IOCTL(FIOGETOWN, IOC_R, MK_PTR(TYPE_INT)) |
324 | IOCTL(FIOSETOWN, IOC_W, MK_PTR(TYPE_INT)) | |
a57f1f8f | 325 | IOCTL(SIOCATMARK, IOC_R, MK_PTR(TYPE_INT)) |
43330b71 | 326 | IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) |
31e31b8a FB |
327 | IOCTL(SIOCGIFFLAGS, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) |
328 | IOCTL(SIOCSIFFLAGS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) | |
329 | IOCTL(SIOCGIFADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
330 | IOCTL(SIOCSIFADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
331 | IOCTL(SIOCGIFBRDADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
332 | IOCTL(SIOCSIFBRDADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
333 | IOCTL(SIOCGIFDSTADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
334 | IOCTL(SIOCSIFDSTADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
335 | IOCTL(SIOCGIFNETMASK, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
336 | IOCTL(SIOCSIFNETMASK, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
337 | IOCTL(SIOCGIFHWADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
338 | IOCTL(SIOCSIFHWADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
339 | IOCTL(SIOCGIFTXQLEN, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
340 | IOCTL(SIOCSIFTXQLEN, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
341 | IOCTL(SIOCGIFMETRIC, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) | |
342 | IOCTL(SIOCSIFMETRIC, IOC_W, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) | |
343 | IOCTL(SIOCGIFMTU, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) | |
344 | IOCTL(SIOCSIFMTU, IOC_W, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) | |
345 | IOCTL(SIOCGIFMAP, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_ifmap_ifreq))) | |
346 | IOCTL(SIOCSIFMAP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_ifmap_ifreq))) | |
347 | IOCTL(SIOCGIFSLAVE, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_char_ifreq))) | |
348 | IOCTL(SIOCSIFSLAVE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_char_ifreq))) | |
349 | IOCTL(SIOCGIFMEM, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_ptr_ifreq))) | |
350 | IOCTL(SIOCSIFMEM, IOC_W, MK_PTR(MK_STRUCT(STRUCT_ptr_ifreq))) | |
351 | IOCTL(SIOCADDMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
352 | IOCTL(SIOCDELMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) | |
27a07827 | 353 | IOCTL(SIOCGIFINDEX, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) |
4bdcd79e NC |
354 | IOCTL(SIOCSIFPFLAGS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) |
355 | IOCTL(SIOCGIFPFLAGS, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) | |
31e31b8a | 356 | IOCTL(SIOCSIFLINK, 0, TYPE_NULL) |
059c2f2c LV |
357 | IOCTL_SPECIAL(SIOCGIFCONF, IOC_W | IOC_R, do_ioctl_ifconf, |
358 | MK_PTR(MK_STRUCT(STRUCT_ifconf))) | |
31e31b8a FB |
359 | IOCTL(SIOCGIFENCAP, IOC_RW, MK_PTR(TYPE_INT)) |
360 | IOCTL(SIOCSIFENCAP, IOC_W, MK_PTR(TYPE_INT)) | |
361 | IOCTL(SIOCDARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) | |
362 | IOCTL(SIOCSARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) | |
363 | IOCTL(SIOCGARP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_arpreq))) | |
364 | IOCTL(SIOCDRARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) | |
365 | IOCTL(SIOCSRARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) | |
366 | IOCTL(SIOCGRARP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_arpreq))) | |
86fcd946 | 367 | IOCTL(SIOCGIWNAME, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_char_ifreq))) |
c495a793 | 368 | IOCTL(SIOCSPGRP, IOC_W, MK_PTR(TYPE_INT)) /* pid_t */ |
405b4915 | 369 | IOCTL(SIOCGPGRP, IOC_R, MK_PTR(TYPE_INT)) /* pid_t */ |
6d5d5dde DB |
370 | |
371 | /* | |
372 | * We can't use IOCTL_SPECIAL() because it will set | |
373 | * host_cmd to XXX_OLD and XXX_NEW and these macros | |
374 | * are not defined with kernel prior to 5.2. | |
375 | * We must set host_cmd to the same value as in target_cmd | |
376 | * otherwise the consistency check in syscall_init() | |
377 | * will trigger an error. | |
378 | * host_cmd is ignored by the do_ioctl_XXX() helpers. | |
379 | * FIXME: create a macro to define this kind of entry | |
380 | */ | |
381 | { TARGET_SIOCGSTAMP_OLD, TARGET_SIOCGSTAMP_OLD, | |
a20a7c26 FB |
382 | "SIOCGSTAMP_OLD", IOC_R, do_ioctl_SIOCGSTAMP, |
383 | { MK_PTR(MK_STRUCT(STRUCT_timeval)) } }, | |
6d5d5dde | 384 | { TARGET_SIOCGSTAMPNS_OLD, TARGET_SIOCGSTAMPNS_OLD, |
a20a7c26 FB |
385 | "SIOCGSTAMPNS_OLD", IOC_R, do_ioctl_SIOCGSTAMPNS, |
386 | { MK_PTR(MK_STRUCT(STRUCT_timespec)) } }, | |
6d5d5dde | 387 | { TARGET_SIOCGSTAMP_NEW, TARGET_SIOCGSTAMP_NEW, |
a20a7c26 FB |
388 | "SIOCGSTAMP_NEW", IOC_R, do_ioctl_SIOCGSTAMP, |
389 | { MK_PTR(MK_STRUCT(STRUCT__kernel_sock_timeval)) } }, | |
6d5d5dde | 390 | { TARGET_SIOCGSTAMPNS_NEW, TARGET_SIOCGSTAMPNS_NEW, |
a20a7c26 FB |
391 | "SIOCGSTAMPNS_NEW", IOC_R, do_ioctl_SIOCGSTAMPNS, |
392 | { MK_PTR(MK_STRUCT(STRUCT__kernel_timespec)) } }, | |
31e31b8a | 393 | |
d6d6d6fe MB |
394 | IOCTL(RNDGETENTCNT, IOC_R, MK_PTR(TYPE_INT)) |
395 | IOCTL(RNDADDTOENTCNT, IOC_W, MK_PTR(TYPE_INT)) | |
396 | IOCTL(RNDZAPENTCNT, 0, TYPE_NULL) | |
397 | IOCTL(RNDCLEARPOOL, 0, TYPE_NULL) | |
92c096f0 AM |
398 | #ifdef RNDRESEEDCRNG |
399 | IOCTL(RNDRESEEDCRNG, 0, TYPE_NULL) | |
400 | #endif | |
d6d6d6fe | 401 | |
31e31b8a FB |
402 | IOCTL(CDROMPAUSE, 0, TYPE_NULL) |
403 | IOCTL(CDROMSTART, 0, TYPE_NULL) | |
404 | IOCTL(CDROMSTOP, 0, TYPE_NULL) | |
405 | IOCTL(CDROMRESUME, 0, TYPE_NULL) | |
406 | IOCTL(CDROMEJECT, 0, TYPE_NULL) | |
407 | IOCTL(CDROMEJECT_SW, 0, TYPE_INT) | |
408 | IOCTL(CDROMCLOSETRAY, 0, TYPE_NULL) | |
409 | IOCTL(CDROMRESET, 0, TYPE_NULL) | |
410 | IOCTL(CDROMPLAYMSF, IOC_W, MK_PTR(TYPE_INT)) | |
411 | IOCTL(CDROMPLAYTRKIND, IOC_W, MK_PTR(TYPE_INT)) | |
412 | IOCTL(CDROMREADTOCHDR, IOC_R, MK_PTR(TYPE_INT)) | |
413 | IOCTL(CDROMREADTOCENTRY, IOC_RW, MK_PTR(TYPE_INT)) | |
414 | IOCTL(CDROMVOLCTRL, IOC_W, MK_PTR(TYPE_INT)) | |
415 | IOCTL(CDROMSUBCHNL, IOC_RW, MK_PTR(TYPE_INT)) | |
416 | /* XXX: incorrect (need specific handling) */ | |
417 | IOCTL(CDROMREADAUDIO, IOC_W, MK_PTR(MK_STRUCT(STRUCT_cdrom_read_audio))) | |
418 | IOCTL(CDROMREADCOOKED, IOC_RW, MK_PTR(TYPE_INT)) | |
419 | IOCTL(CDROMREADRAW, IOC_RW, MK_PTR(TYPE_INT)) | |
420 | IOCTL(CDROMREADMODE1, IOC_RW, MK_PTR(TYPE_INT)) | |
421 | IOCTL(CDROMREADMODE2, IOC_RW, MK_PTR(TYPE_INT)) | |
422 | IOCTL(CDROMREADALL, IOC_RW, MK_PTR(TYPE_INT)) | |
423 | IOCTL(CDROMMULTISESSION, IOC_RW, MK_PTR(TYPE_INT)) | |
424 | IOCTL(CDROM_GET_UPC, IOC_R, MK_PTR(TYPE_INT)) | |
425 | IOCTL(CDROMVOLREAD, IOC_R, MK_PTR(TYPE_INT)) | |
426 | IOCTL(CDROMSEEK, IOC_W, MK_PTR(TYPE_INT)) | |
427 | IOCTL(CDROMPLAYBLK, IOC_W, MK_PTR(TYPE_INT)) | |
428 | IOCTL(CDROM_MEDIA_CHANGED, 0, TYPE_NULL) | |
429 | IOCTL(CDROM_SET_OPTIONS, 0, TYPE_INT) | |
430 | IOCTL(CDROM_CLEAR_OPTIONS, 0, TYPE_INT) | |
431 | IOCTL(CDROM_SELECT_SPEED, 0, TYPE_INT) | |
432 | IOCTL(CDROM_SELECT_DISC, 0, TYPE_INT) | |
433 | IOCTL(CDROM_DRIVE_STATUS, 0, TYPE_NULL) | |
434 | IOCTL(CDROM_DISC_STATUS, 0, TYPE_NULL) | |
435 | IOCTL(CDROMAUDIOBUFSIZ, 0, TYPE_INT) | |
436 | ||
2521d698 | 437 | #if 0 |
31e31b8a FB |
438 | IOCTL(SNDCTL_COPR_HALT, IOC_RW, MK_PTR(TYPE_INT)) |
439 | IOCTL(SNDCTL_COPR_LOAD, IOC_RW, MK_PTR(TYPE_INT)) | |
440 | IOCTL(SNDCTL_COPR_RCODE, IOC_RW, MK_PTR(TYPE_INT)) | |
441 | IOCTL(SNDCTL_COPR_RCVMSG, IOC_R, MK_PTR(TYPE_INT)) | |
442 | IOCTL(SNDCTL_COPR_RDATA, IOC_RW, MK_PTR(TYPE_INT)) | |
443 | IOCTL(SNDCTL_COPR_RESET, 0, TYPE_NULL) | |
444 | IOCTL(SNDCTL_COPR_RUN, IOC_RW, MK_PTR(TYPE_INT)) | |
445 | IOCTL(SNDCTL_COPR_SENDMSG, IOC_RW, MK_PTR(TYPE_INT)) | |
446 | IOCTL(SNDCTL_COPR_WCODE, IOC_W, MK_PTR(TYPE_INT)) | |
447 | IOCTL(SNDCTL_COPR_WDATA, IOC_W, MK_PTR(TYPE_INT)) | |
2521d698 | 448 | #endif |
31e31b8a FB |
449 | IOCTL(SNDCTL_DSP_CHANNELS, IOC_RW, MK_PTR(TYPE_INT)) |
450 | IOCTL(SNDCTL_DSP_GETBLKSIZE, IOC_RW, MK_PTR(TYPE_INT)) | |
451 | IOCTL(SNDCTL_DSP_GETCAPS, IOC_R, MK_PTR(TYPE_INT)) | |
452 | IOCTL(SNDCTL_DSP_GETFMTS, IOC_R, MK_PTR(TYPE_INT)) | |
2521d698 FB |
453 | IOCTL(SNDCTL_DSP_GETIPTR, IOC_R, MK_PTR(MK_STRUCT(STRUCT_count_info))) |
454 | IOCTL(SNDCTL_DSP_GETOPTR, IOC_R, MK_PTR(MK_STRUCT(STRUCT_count_info))) | |
455 | IOCTL(SNDCTL_DSP_GETISPACE, IOC_R, MK_PTR(MK_STRUCT(STRUCT_audio_buf_info))) | |
456 | IOCTL(SNDCTL_DSP_GETOSPACE, IOC_R, MK_PTR(MK_STRUCT(STRUCT_audio_buf_info))) | |
31e31b8a | 457 | IOCTL(SNDCTL_DSP_GETTRIGGER, IOC_R, MK_PTR(TYPE_INT)) |
5f72307d PM |
458 | IOCTL(SNDCTL_DSP_MAPINBUF, IOC_R, MK_PTR(MK_STRUCT(STRUCT_buffmem_desc))) |
459 | IOCTL(SNDCTL_DSP_MAPOUTBUF, IOC_R, MK_PTR(MK_STRUCT(STRUCT_buffmem_desc))) | |
31e31b8a FB |
460 | IOCTL(SNDCTL_DSP_NONBLOCK, 0, TYPE_NULL) |
461 | IOCTL(SNDCTL_DSP_POST, 0, TYPE_NULL) | |
462 | IOCTL(SNDCTL_DSP_RESET, 0, TYPE_NULL) | |
463 | IOCTL(SNDCTL_DSP_SETDUPLEX, 0, TYPE_NULL) | |
464 | IOCTL(SNDCTL_DSP_SETFMT, IOC_RW, MK_PTR(TYPE_INT)) | |
465 | IOCTL(SNDCTL_DSP_SETFRAGMENT, IOC_RW, MK_PTR(TYPE_INT)) | |
466 | IOCTL(SNDCTL_DSP_SETSYNCRO, 0, TYPE_NULL) | |
467 | IOCTL(SNDCTL_DSP_SETTRIGGER, IOC_W, MK_PTR(TYPE_INT)) | |
468 | IOCTL(SNDCTL_DSP_SPEED, IOC_RW, MK_PTR(TYPE_INT)) | |
469 | IOCTL(SNDCTL_DSP_STEREO, IOC_RW, MK_PTR(TYPE_INT)) | |
470 | IOCTL(SNDCTL_DSP_SUBDIVIDE, IOC_RW, MK_PTR(TYPE_INT)) | |
471 | IOCTL(SNDCTL_DSP_SYNC, 0, TYPE_NULL) | |
2521d698 | 472 | #if 0 |
31e31b8a FB |
473 | IOCTL(SNDCTL_FM_4OP_ENABLE, IOC_W, MK_PTR(TYPE_INT)) |
474 | IOCTL(SNDCTL_FM_LOAD_INSTR, IOC_W, MK_PTR(TYPE_INT)) | |
475 | IOCTL(SNDCTL_MIDI_INFO, IOC_RW, MK_PTR(TYPE_INT)) | |
476 | IOCTL(SNDCTL_MIDI_MPUCMD, IOC_RW, MK_PTR(TYPE_INT)) | |
477 | IOCTL(SNDCTL_MIDI_MPUMODE, IOC_RW, MK_PTR(TYPE_INT)) | |
478 | IOCTL(SNDCTL_MIDI_PRETIME, IOC_RW, MK_PTR(TYPE_INT)) | |
479 | IOCTL(SNDCTL_SEQ_CTRLRATE, IOC_RW, MK_PTR(TYPE_INT)) | |
480 | IOCTL(SNDCTL_SEQ_GETINCOUNT, IOC_R, MK_PTR(TYPE_INT)) | |
481 | IOCTL(SNDCTL_SEQ_GETOUTCOUNT, IOC_R, MK_PTR(TYPE_INT)) | |
482 | IOCTL(SNDCTL_SEQ_NRMIDIS, IOC_R, MK_PTR(TYPE_INT)) | |
483 | IOCTL(SNDCTL_SEQ_NRSYNTHS, IOC_R, MK_PTR(TYPE_INT)) | |
484 | IOCTL(SNDCTL_SEQ_OUTOFBAND, IOC_W, MK_PTR(TYPE_INT)) | |
485 | IOCTL(SNDCTL_SEQ_PANIC, 0, TYPE_NULL) | |
486 | IOCTL(SNDCTL_SEQ_PERCMODE, IOC_W, MK_PTR(TYPE_INT)) | |
487 | IOCTL(SNDCTL_SEQ_RESET, 0, TYPE_NULL) | |
488 | IOCTL(SNDCTL_SEQ_RESETSAMPLES, IOC_W, MK_PTR(TYPE_INT)) | |
489 | IOCTL(SNDCTL_SEQ_SYNC, 0, TYPE_NULL) | |
490 | IOCTL(SNDCTL_SEQ_TESTMIDI, IOC_W, MK_PTR(TYPE_INT)) | |
491 | IOCTL(SNDCTL_SEQ_THRESHOLD, IOC_W, MK_PTR(TYPE_INT)) | |
492 | IOCTL(SNDCTL_SYNTH_INFO, IOC_RW, MK_PTR(TYPE_INT)) | |
493 | IOCTL(SNDCTL_SYNTH_MEMAVL, IOC_RW, MK_PTR(TYPE_INT)) | |
494 | IOCTL(SNDCTL_TMR_CONTINUE, 0, TYPE_NULL) | |
495 | IOCTL(SNDCTL_TMR_METRONOME, IOC_W, MK_PTR(TYPE_INT)) | |
496 | IOCTL(SNDCTL_TMR_SELECT, IOC_W, MK_PTR(TYPE_INT)) | |
497 | IOCTL(SNDCTL_TMR_SOURCE, IOC_RW, MK_PTR(TYPE_INT)) | |
9de5e440 FB |
498 | #if 0 |
499 | /* we invalidate these defines because they have a same number as | |
500 | termios ioctls */ | |
31e31b8a FB |
501 | IOCTL(SNDCTL_TMR_START, 0, TYPE_NULL) |
502 | IOCTL(SNDCTL_TMR_STOP, 0, TYPE_NULL) | |
9de5e440 | 503 | #endif |
31e31b8a FB |
504 | IOCTL(SNDCTL_TMR_TEMPO, IOC_RW, MK_PTR(TYPE_INT)) |
505 | IOCTL(SNDCTL_TMR_TIMEBASE, IOC_RW, MK_PTR(TYPE_INT)) | |
506 | ||
507 | IOCTL(SOUND_PCM_WRITE_FILTER, IOC_W | IOC_R, MK_PTR(TYPE_INT)) | |
508 | IOCTL(SOUND_PCM_READ_RATE, IOC_R, MK_PTR(TYPE_INT)) | |
509 | IOCTL(SOUND_PCM_READ_CHANNELS, IOC_R, MK_PTR(TYPE_INT)) | |
510 | IOCTL(SOUND_PCM_READ_BITS, IOC_R, MK_PTR(TYPE_INT)) | |
511 | IOCTL(SOUND_PCM_READ_FILTER, IOC_R, MK_PTR(TYPE_INT)) | |
2521d698 | 512 | #endif |
31e31b8a FB |
513 | IOCTL(SOUND_MIXER_INFO, IOC_R, MK_PTR(TYPE_INT)) |
514 | IOCTL(SOUND_MIXER_ACCESS, 0, TYPE_PTRVOID) | |
515 | IOCTL(SOUND_MIXER_PRIVATE1, IOC_RW, MK_PTR(TYPE_INT)) | |
516 | IOCTL(SOUND_MIXER_PRIVATE2, IOC_RW, MK_PTR(TYPE_INT)) | |
517 | IOCTL(SOUND_MIXER_PRIVATE3, IOC_RW, MK_PTR(TYPE_INT)) | |
518 | IOCTL(SOUND_MIXER_PRIVATE4, IOC_RW, MK_PTR(TYPE_INT)) | |
519 | IOCTL(SOUND_MIXER_PRIVATE5, IOC_RW, MK_PTR(TYPE_INT)) | |
520 | IOCTL(SOUND_MIXER_READ_VOLUME, IOC_R, MK_PTR(TYPE_INT)) | |
521 | IOCTL(SOUND_MIXER_READ_BASS, IOC_R, MK_PTR(TYPE_INT)) | |
522 | IOCTL(SOUND_MIXER_READ_TREBLE, IOC_R, MK_PTR(TYPE_INT)) | |
523 | IOCTL(SOUND_MIXER_READ_SYNTH, IOC_R, MK_PTR(TYPE_INT)) | |
524 | IOCTL(SOUND_MIXER_READ_PCM, IOC_R, MK_PTR(TYPE_INT)) | |
525 | IOCTL(SOUND_MIXER_READ_SPEAKER, IOC_R, MK_PTR(TYPE_INT)) | |
526 | IOCTL(SOUND_MIXER_READ_LINE, IOC_R, MK_PTR(TYPE_INT)) | |
527 | IOCTL(SOUND_MIXER_READ_MIC, IOC_R, MK_PTR(TYPE_INT)) | |
528 | IOCTL(SOUND_MIXER_READ_CD, IOC_R, MK_PTR(TYPE_INT)) | |
529 | IOCTL(SOUND_MIXER_READ_IMIX, IOC_R, MK_PTR(TYPE_INT)) | |
530 | IOCTL(SOUND_MIXER_READ_ALTPCM, IOC_R, MK_PTR(TYPE_INT)) | |
531 | IOCTL(SOUND_MIXER_READ_RECLEV, IOC_R, MK_PTR(TYPE_INT)) | |
532 | IOCTL(SOUND_MIXER_READ_IGAIN, IOC_R, MK_PTR(TYPE_INT)) | |
533 | IOCTL(SOUND_MIXER_READ_OGAIN, IOC_R, MK_PTR(TYPE_INT)) | |
534 | IOCTL(SOUND_MIXER_READ_LINE1, IOC_R, MK_PTR(TYPE_INT)) | |
535 | IOCTL(SOUND_MIXER_READ_LINE2, IOC_R, MK_PTR(TYPE_INT)) | |
536 | IOCTL(SOUND_MIXER_READ_LINE3, IOC_R, MK_PTR(TYPE_INT)) | |
537 | IOCTL(SOUND_MIXER_READ_MUTE, IOC_R, MK_PTR(TYPE_INT)) | |
538 | IOCTL(SOUND_MIXER_READ_ENHANCE, IOC_R, MK_PTR(TYPE_INT)) | |
539 | IOCTL(SOUND_MIXER_READ_LOUD, IOC_R, MK_PTR(TYPE_INT)) | |
540 | IOCTL(SOUND_MIXER_READ_RECSRC, IOC_R, MK_PTR(TYPE_INT)) | |
541 | IOCTL(SOUND_MIXER_READ_DEVMASK, IOC_R, MK_PTR(TYPE_INT)) | |
542 | IOCTL(SOUND_MIXER_READ_RECMASK, IOC_R, MK_PTR(TYPE_INT)) | |
543 | IOCTL(SOUND_MIXER_READ_STEREODEVS, IOC_R, MK_PTR(TYPE_INT)) | |
544 | IOCTL(SOUND_MIXER_READ_CAPS, IOC_R, MK_PTR(TYPE_INT)) | |
545 | ||
546 | IOCTL(SOUND_MIXER_WRITE_VOLUME, IOC_W, MK_PTR(TYPE_INT)) | |
547 | IOCTL(SOUND_MIXER_WRITE_BASS, IOC_W, MK_PTR(TYPE_INT)) | |
548 | IOCTL(SOUND_MIXER_WRITE_TREBLE, IOC_W, MK_PTR(TYPE_INT)) | |
549 | IOCTL(SOUND_MIXER_WRITE_SYNTH, IOC_W, MK_PTR(TYPE_INT)) | |
550 | IOCTL(SOUND_MIXER_WRITE_PCM, IOC_W, MK_PTR(TYPE_INT)) | |
551 | IOCTL(SOUND_MIXER_WRITE_SPEAKER, IOC_W, MK_PTR(TYPE_INT)) | |
552 | IOCTL(SOUND_MIXER_WRITE_LINE, IOC_W, MK_PTR(TYPE_INT)) | |
553 | IOCTL(SOUND_MIXER_WRITE_MIC, IOC_W, MK_PTR(TYPE_INT)) | |
554 | IOCTL(SOUND_MIXER_WRITE_CD, IOC_W, MK_PTR(TYPE_INT)) | |
555 | IOCTL(SOUND_MIXER_WRITE_IMIX, IOC_W, MK_PTR(TYPE_INT)) | |
556 | IOCTL(SOUND_MIXER_WRITE_ALTPCM, IOC_W, MK_PTR(TYPE_INT)) | |
557 | IOCTL(SOUND_MIXER_WRITE_RECLEV, IOC_W, MK_PTR(TYPE_INT)) | |
558 | IOCTL(SOUND_MIXER_WRITE_IGAIN, IOC_W, MK_PTR(TYPE_INT)) | |
559 | IOCTL(SOUND_MIXER_WRITE_OGAIN, IOC_W, MK_PTR(TYPE_INT)) | |
560 | IOCTL(SOUND_MIXER_WRITE_LINE1, IOC_W, MK_PTR(TYPE_INT)) | |
561 | IOCTL(SOUND_MIXER_WRITE_LINE2, IOC_W, MK_PTR(TYPE_INT)) | |
562 | IOCTL(SOUND_MIXER_WRITE_LINE3, IOC_W, MK_PTR(TYPE_INT)) | |
563 | IOCTL(SOUND_MIXER_WRITE_MUTE, IOC_W, MK_PTR(TYPE_INT)) | |
564 | IOCTL(SOUND_MIXER_WRITE_ENHANCE, IOC_W, MK_PTR(TYPE_INT)) | |
565 | IOCTL(SOUND_MIXER_WRITE_LOUD, IOC_W, MK_PTR(TYPE_INT)) | |
566 | IOCTL(SOUND_MIXER_WRITE_RECSRC, IOC_W, MK_PTR(TYPE_INT)) | |
567 | ||
1c4c6fcd FB |
568 | IOCTL(SNDRV_TIMER_IOCTL_PVERSION, IOC_R, MK_PTR(TYPE_INT)) |
569 | IOCTL(SNDRV_TIMER_IOCTL_NEXT_DEVICE, IOC_RW, | |
570 | MK_PTR(MK_STRUCT(STRUCT_snd_timer_id))) | |
aca7708e FB |
571 | IOCTL(SNDRV_TIMER_IOCTL_GINFO, IOC_RW, |
572 | MK_PTR(MK_STRUCT(STRUCT_snd_timer_ginfo))) | |
573 | IOCTL(SNDRV_TIMER_IOCTL_GPARAMS, IOC_W, | |
574 | MK_PTR(MK_STRUCT(STRUCT_snd_timer_gparams))) | |
575 | IOCTL(SNDRV_TIMER_IOCTL_GSTATUS, IOC_RW, | |
576 | MK_PTR(MK_STRUCT(STRUCT_snd_timer_gstatus))) | |
d22edf0a FB |
577 | IOCTL(SNDRV_TIMER_IOCTL_SELECT, IOC_W, |
578 | MK_PTR(MK_STRUCT(STRUCT_snd_timer_select))) | |
fe333025 FB |
579 | IOCTL(SNDRV_TIMER_IOCTL_INFO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_snd_timer_info))) |
580 | IOCTL(SNDRV_TIMER_IOCTL_PARAMS, IOC_W, | |
581 | MK_PTR(MK_STRUCT(STRUCT_snd_timer_params))) | |
582 | IOCTL(SNDRV_TIMER_IOCTL_STATUS, IOC_R, | |
583 | MK_PTR(MK_STRUCT(STRUCT_snd_timer_status))) | |
045823a9 FB |
584 | IOCTL(SNDRV_TIMER_IOCTL_START, 0, TYPE_NULL) |
585 | IOCTL(SNDRV_TIMER_IOCTL_STOP, 0, TYPE_NULL) | |
586 | IOCTL(SNDRV_TIMER_IOCTL_CONTINUE, 0, TYPE_NULL) | |
587 | IOCTL(SNDRV_TIMER_IOCTL_PAUSE, 0, TYPE_NULL) | |
1c4c6fcd | 588 | |
31e31b8a FB |
589 | IOCTL(HDIO_GETGEO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_hd_geometry))) |
590 | IOCTL(HDIO_GET_UNMASKINTR, IOC_R, MK_PTR(TYPE_INT)) | |
591 | IOCTL(HDIO_GET_MULTCOUNT, IOC_R, MK_PTR(TYPE_INT)) | |
592 | IOCTL(HDIO_GET_IDENTITY, IOC_R, MK_PTR(TYPE_INT)) | |
593 | IOCTL(HDIO_GET_KEEPSETTINGS, IOC_R, MK_PTR(TYPE_INT)) | |
594 | IOCTL(HDIO_GET_NOWERR, IOC_R, MK_PTR(TYPE_INT)) | |
595 | IOCTL(HDIO_GET_DMA, IOC_R, MK_PTR(TYPE_INT)) | |
596 | IOCTL(HDIO_GET_32BIT, IOC_R, MK_PTR(TYPE_INT)) | |
597 | IOCTL(HDIO_DRIVE_CMD, IOC_R, MK_PTR(TYPE_INT)) | |
598 | IOCTL(HDIO_SET_UNMASKINTR, 0, TYPE_INT) | |
599 | IOCTL(HDIO_SET_MULTCOUNT, 0, TYPE_INT) | |
600 | IOCTL(HDIO_SET_KEEPSETTINGS, 0, TYPE_INT) | |
601 | IOCTL(HDIO_SET_NOWERR, 0, TYPE_INT) | |
602 | IOCTL(HDIO_SET_DMA, 0, TYPE_INT) | |
603 | IOCTL(HDIO_SET_32BIT, 0, TYPE_INT) | |
604 | IOCTL(HDIO_SET_PIO_MODE, 0, TYPE_INT) | |
1a9353d2 FB |
605 | |
606 | IOCTL(VFAT_IOCTL_READDIR_BOTH, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2))) | |
607 | IOCTL(VFAT_IOCTL_READDIR_SHORT, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2))) | |
b8005914 AZ |
608 | |
609 | IOCTL(LOOP_SET_FD, 0, TYPE_INT) | |
610 | IOCTL(LOOP_CLR_FD, 0, TYPE_INT) | |
611 | IOCTL(LOOP_SET_STATUS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info))) | |
f2c2fb50 | 612 | IOCTL(LOOP_GET_STATUS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_loop_info))) |
b8005914 | 613 | IOCTL(LOOP_SET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64))) |
f2c2fb50 | 614 | IOCTL(LOOP_GET_STATUS64, IOC_R, MK_PTR(MK_STRUCT(STRUCT_loop_info64))) |
b8005914 | 615 | IOCTL(LOOP_CHANGE_FD, 0, TYPE_INT) |
0a761ce3 AS |
616 | IOCTL(LOOP_SET_CAPACITY, 0, TYPE_INT) |
617 | IOCTL(LOOP_SET_DIRECT_IO, 0, TYPE_INT) | |
618 | IOCTL(LOOP_SET_BLOCK_SIZE, 0, TYPE_INT) | |
619 | IOCTL(LOOP_CONFIGURE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_config))) | |
8fbd6b52 | 620 | |
884cdc48 PM |
621 | IOCTL(LOOP_CTL_ADD, 0, TYPE_INT) |
622 | IOCTL(LOOP_CTL_REMOVE, 0, TYPE_INT) | |
623 | IOCTL(LOOP_CTL_GET_FREE, 0, TYPE_NULL) | |
624 | ||
8fbd6b52 AZ |
625 | IOCTL(MTIOCTOP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_mtop))) |
626 | IOCTL(MTIOCGET, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtget))) | |
627 | IOCTL(MTIOCPOS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtpos))) | |
f7680a55 UH |
628 | |
629 | IOCTL(FBIOGET_FSCREENINFO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_fb_fix_screeninfo))) | |
630 | IOCTL(FBIOGET_VSCREENINFO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_fb_var_screeninfo))) | |
631 | IOCTL(FBIOPUT_VSCREENINFO, IOC_W, MK_PTR(MK_STRUCT(STRUCT_fb_var_screeninfo))) | |
12b81b71 CV |
632 | IOCTL(FBIOGETCMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_cmap))) |
633 | IOCTL(FBIOPUTCMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_cmap))) | |
634 | IOCTL(FBIOPAN_DISPLAY, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_var_screeninfo))) | |
635 | IOCTL(FBIOGET_CON2FBMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_con2fbmap))) | |
636 | IOCTL(FBIOPUT_CON2FBMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_con2fbmap))) | |
f7680a55 UH |
637 | |
638 | IOCTL(VT_OPENQRY, IOC_R, MK_PTR(TYPE_INT)) | |
639 | IOCTL(VT_GETSTATE, IOC_R, MK_PTR(MK_STRUCT(STRUCT_vt_stat))) | |
640 | IOCTL(VT_ACTIVATE, 0, TYPE_INT) | |
641 | IOCTL(VT_WAITACTIVE, 0, TYPE_INT) | |
642 | IOCTL(VT_LOCKSWITCH, 0, TYPE_INT) | |
643 | IOCTL(VT_UNLOCKSWITCH, 0, TYPE_INT) | |
774750c0 CV |
644 | IOCTL(VT_GETMODE, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_vt_mode))) |
645 | IOCTL(VT_SETMODE, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_vt_mode))) | |
646 | IOCTL(VT_RELDISP, 0, TYPE_INT) | |
647 | IOCTL(VT_DISALLOCATE, 0, TYPE_INT) | |
56e904ec AG |
648 | |
649 | IOCTL(DM_VERSION, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
650 | IOCTL_SPECIAL(DM_REMOVE_ALL, IOC_RW, do_ioctl_dm, | |
651 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
652 | IOCTL_SPECIAL(DM_LIST_DEVICES, IOC_RW, do_ioctl_dm, | |
653 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
654 | IOCTL_SPECIAL(DM_DEV_CREATE, IOC_RW, do_ioctl_dm, | |
655 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
656 | IOCTL_SPECIAL(DM_DEV_REMOVE, IOC_RW, do_ioctl_dm, | |
657 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
658 | IOCTL_SPECIAL(DM_DEV_RENAME, IOC_RW, do_ioctl_dm, | |
659 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
660 | IOCTL_SPECIAL(DM_DEV_SUSPEND, IOC_RW, do_ioctl_dm, | |
661 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
662 | IOCTL_SPECIAL(DM_DEV_STATUS, IOC_RW, do_ioctl_dm, | |
663 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
664 | IOCTL_SPECIAL(DM_DEV_WAIT, IOC_RW, do_ioctl_dm, | |
665 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
666 | IOCTL_SPECIAL(DM_TABLE_LOAD, IOC_RW, do_ioctl_dm, | |
667 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
668 | IOCTL_SPECIAL(DM_TABLE_CLEAR, IOC_RW, do_ioctl_dm, | |
669 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
670 | IOCTL_SPECIAL(DM_TABLE_DEPS, IOC_RW, do_ioctl_dm, | |
671 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
672 | IOCTL_SPECIAL(DM_TABLE_STATUS, IOC_RW, do_ioctl_dm, | |
673 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
674 | IOCTL_SPECIAL(DM_LIST_VERSIONS,IOC_RW, do_ioctl_dm, | |
675 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
676 | IOCTL_SPECIAL(DM_TARGET_MSG, IOC_RW, do_ioctl_dm, | |
677 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
678 | IOCTL_SPECIAL(DM_DEV_SET_GEOMETRY, IOC_RW, do_ioctl_dm, | |
679 | MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) | |
7ff7b666 LV |
680 | IOCTL_SPECIAL(SIOCADDRT, IOC_W, do_ioctl_rt, |
681 | MK_PTR(MK_STRUCT(STRUCT_rtentry))) | |
682 | IOCTL_SPECIAL(SIOCDELRT, IOC_W, do_ioctl_rt, | |
683 | MK_PTR(MK_STRUCT(STRUCT_rtentry))) | |
8cb762fe | 684 | |
e865b97f CG |
685 | #ifdef HAVE_DRM_H |
686 | IOCTL_SPECIAL(DRM_IOCTL_VERSION, IOC_RW, do_ioctl_drm, | |
687 | MK_PTR(MK_STRUCT(STRUCT_drm_version))) | |
913b03c2 CG |
688 | |
689 | IOCTL_SPECIAL(DRM_IOCTL_I915_GETPARAM, IOC_RW, do_ioctl_drm_i915, | |
690 | MK_PTR(MK_STRUCT(STRUCT_drm_i915_getparam))) | |
e865b97f CG |
691 | #endif |
692 | ||
8cb762fe HD |
693 | #ifdef TARGET_TIOCSTART |
694 | IOCTL_IGNORE(TIOCSTART) | |
695 | IOCTL_IGNORE(TIOCSTOP) | |
696 | #endif | |
bd27e675 | 697 | |
4a9d5f89 | 698 | #ifdef HAVE_SYS_KCOV_H |
bd27e675 AM |
699 | IOCTL(KCOV_ENABLE, 0, TYPE_NULL) |
700 | IOCTL(KCOV_DISABLE, 0, TYPE_NULL) | |
f7dbd8fe | 701 | IOCTL(KCOV_INIT_TRACE, IOC_R, TYPE_ULONG) |
bd27e675 | 702 | #endif |
6addf06a SCW |
703 | |
704 | IOCTL(TUNSETDEBUG, IOC_W, TYPE_INT) | |
705 | IOCTL(TUNSETIFF, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) | |
706 | IOCTL(TUNSETPERSIST, IOC_W, TYPE_INT) | |
707 | IOCTL(TUNSETOWNER, IOC_W, TYPE_INT) | |
708 | IOCTL(TUNSETLINK, IOC_W, TYPE_INT) | |
709 | IOCTL(TUNSETGROUP, IOC_W, TYPE_INT) | |
710 | IOCTL(TUNGETFEATURES, IOC_R, MK_PTR(TYPE_INT)) | |
711 | IOCTL(TUNSETOFFLOAD, IOC_W, TYPE_LONG) | |
712 | IOCTL_SPECIAL(TUNSETTXFILTER, IOC_W, do_ioctl_TUNSETTXFILTER, | |
713 | /* | |
714 | * We can't represent `struct tun_filter` in thunk so leaving | |
715 | * it uninterpreted. do_ioctl_TUNSETTXFILTER will do the | |
716 | * conversion. | |
717 | */ | |
718 | TYPE_PTRVOID) | |
719 | IOCTL(TUNGETIFF, IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) | |
720 | IOCTL(TUNGETSNDBUF, IOC_R, MK_PTR(TYPE_INT)) | |
721 | IOCTL(TUNSETSNDBUF, IOC_W, MK_PTR(TYPE_INT)) | |
722 | /* | |
723 | * TUNATTACHFILTER and TUNDETACHFILTER are not supported. Linux kernel keeps a | |
724 | * user pointer in TUNATTACHFILTER, which we are not able to correctly handle. | |
725 | */ | |
726 | IOCTL(TUNGETVNETHDRSZ, IOC_R, MK_PTR(TYPE_INT)) | |
727 | IOCTL(TUNSETVNETHDRSZ, IOC_W, MK_PTR(TYPE_INT)) | |
728 | IOCTL(TUNSETQUEUE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) | |
729 | IOCTL(TUNSETIFINDEX , IOC_W, MK_PTR(TYPE_INT)) | |
730 | /* TUNGETFILTER is not supported: see TUNATTACHFILTER. */ | |
655a650a | 731 | #ifdef TUNSETVNETLE |
6addf06a SCW |
732 | IOCTL(TUNSETVNETLE, IOC_W, MK_PTR(TYPE_INT)) |
733 | IOCTL(TUNGETVNETLE, IOC_R, MK_PTR(TYPE_INT)) | |
655a650a | 734 | #endif |
6addf06a SCW |
735 | #ifdef TUNSETVNETBE |
736 | IOCTL(TUNSETVNETBE, IOC_W, MK_PTR(TYPE_INT)) | |
737 | IOCTL(TUNGETVNETBE, IOC_R, MK_PTR(TYPE_INT)) | |
738 | #endif | |
739 | #ifdef TUNSETSTEERINGEBPF | |
740 | IOCTL(TUNSETSTEERINGEBPF, IOC_W, MK_PTR(TYPE_INT)) | |
741 | #endif | |
742 | #ifdef TUNSETFILTEREBPF | |
743 | IOCTL(TUNSETFILTEREBPF, IOC_W, MK_PTR(TYPE_INT)) | |
744 | #endif | |
745 | #ifdef TUNSETCARRIER | |
746 | IOCTL(TUNSETCARRIER, IOC_W, MK_PTR(TYPE_INT)) | |
747 | #endif | |
748 | #ifdef TUNGETDEVNETNS | |
749 | IOCTL(TUNGETDEVNETNS, IOC_R, TYPE_NULL) | |
750 | #endif |