master
h 647 lines 19.8 KB
Raw
1 STRUCT_SPECIAL(termios)
2 #ifdef TARGET_TCGETS2
3 STRUCT_SPECIAL(termios2)
4 #endif
5
6 STRUCT(winsize,
7 TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT)
8
9 STRUCT(serial_multiport_struct,
10 TYPE_INT, TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_CHAR, TYPE_CHAR,
11 TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT,
12 MK_ARRAY(TYPE_INT, 32))
13
14 STRUCT(serial_icounter_struct,
15 TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, MK_ARRAY(TYPE_INT, 16))
16
17 STRUCT(sockaddr,
18 TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 14))
19
20 STRUCT(rtentry,
21 TYPE_ULONG, MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr),
22 TYPE_SHORT, TYPE_SHORT, TYPE_ULONG, TYPE_PTRVOID, TYPE_SHORT, TYPE_PTRVOID,
23 TYPE_ULONG, TYPE_ULONG, TYPE_SHORT)
24
25 STRUCT(ifmap,
26 TYPE_ULONG, TYPE_ULONG, TYPE_SHORT, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR,
27 /* Spare 3 bytes */
28 TYPE_CHAR, TYPE_CHAR, TYPE_CHAR)
29
30 /* The *_ifreq_list arrays deal with the fact that struct ifreq has unions */
31
32 STRUCT(sockaddr_ifreq,
33 MK_ARRAY(TYPE_CHAR, IFNAMSIZ), MK_STRUCT(STRUCT_sockaddr))
34
35 STRUCT(short_ifreq,
36 MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_SHORT)
37
38 STRUCT(int_ifreq,
39 MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_INT)
40
41 STRUCT(ifmap_ifreq,
42 MK_ARRAY(TYPE_CHAR, IFNAMSIZ), MK_STRUCT(STRUCT_ifmap))
43
44 STRUCT(char_ifreq,
45 MK_ARRAY(TYPE_CHAR, IFNAMSIZ),
46 MK_ARRAY(TYPE_CHAR, IFNAMSIZ))
47
48 STRUCT(ptr_ifreq,
49 MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_PTRVOID)
50
51 STRUCT(ifconf,
52 TYPE_INT, TYPE_PTRVOID)
53
54 STRUCT(arpreq,
55 MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), TYPE_INT, MK_STRUCT(STRUCT_sockaddr),
56 MK_ARRAY(TYPE_CHAR, 16))
57
58 STRUCT(arpreq_old,
59 MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), TYPE_INT, MK_STRUCT(STRUCT_sockaddr))
60
61 STRUCT(cdrom_read_audio,
62 TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_PTRVOID,
63 TYPE_NULL)
64
65 STRUCT(hd_geometry,
66 TYPE_CHAR, TYPE_CHAR, TYPE_SHORT, TYPE_ULONG)
67
68 STRUCT(dirent,
69 TYPE_LONG, TYPE_LONG, TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 256))
70
71 STRUCT(kbentry,
72 TYPE_CHAR, TYPE_CHAR, TYPE_SHORT)
73
74 STRUCT(kbsentry,
75 TYPE_CHAR, MK_ARRAY(TYPE_CHAR, 512))
76
77 STRUCT(audio_buf_info,
78 TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT)
79
80 STRUCT(count_info,
81 TYPE_INT, TYPE_INT, TYPE_INT)
82
83 STRUCT(buffmem_desc,
84 TYPE_PTRVOID, TYPE_INT)
85
86 STRUCT(mixer_info,
87 MK_ARRAY(TYPE_CHAR, 16), MK_ARRAY(TYPE_CHAR, 32), TYPE_INT, MK_ARRAY(TYPE_INT, 10))
88
89 STRUCT(snd_timer_id,
90 TYPE_INT, /* dev_class */
91 TYPE_INT, /* dev_sclass */
92 TYPE_INT, /* card */
93 TYPE_INT, /* device */
94 TYPE_INT) /* subdevice */
95
96 STRUCT(snd_timer_ginfo,
97 MK_STRUCT(STRUCT_snd_timer_id), /* tid */
98 TYPE_INT, /* flags */
99 TYPE_INT, /* card */
100 MK_ARRAY(TYPE_CHAR, 64), /* id */
101 MK_ARRAY(TYPE_CHAR, 80), /* name */
102 TYPE_ULONG, /* reserved0 */
103 TYPE_ULONG, /* resolution */
104 TYPE_ULONG, /* resolution_min */
105 TYPE_ULONG, /* resolution_max */
106 TYPE_INT, /* clients */
107 MK_ARRAY(TYPE_CHAR, 32)) /* reserved */
108
109 STRUCT(snd_timer_gparams,
110 MK_STRUCT(STRUCT_snd_timer_id), /* tid */
111 TYPE_ULONG, /* period_num */
112 TYPE_ULONG, /* period_den */
113 MK_ARRAY(TYPE_CHAR, 32)) /* reserved */
114
115 STRUCT(snd_timer_gstatus,
116 MK_STRUCT(STRUCT_snd_timer_id), /* tid */
117 TYPE_ULONG, /* resolution */
118 TYPE_ULONG, /* resolution_num */
119 TYPE_ULONG, /* resolution_den */
120 MK_ARRAY(TYPE_CHAR, 32)) /* reserved */
121
122 STRUCT(snd_timer_select,
123 MK_STRUCT(STRUCT_snd_timer_id), /* id */
124 MK_ARRAY(TYPE_CHAR, 32)) /* reserved */
125
126 STRUCT(snd_timer_info,
127 TYPE_INT, /* flags */
128 TYPE_INT, /* card */
129 MK_ARRAY(TYPE_CHAR, 64), /* id */
130 MK_ARRAY(TYPE_CHAR, 80), /* name */
131 TYPE_ULONG, /* reserved0 */
132 TYPE_ULONG, /* resolution */
133 MK_ARRAY(TYPE_CHAR, 64)) /* reserved */
134
135 STRUCT(snd_timer_params,
136 TYPE_INT, /* flags */
137 TYPE_INT, /* ticks */
138 TYPE_INT, /* queue_size */
139 TYPE_INT, /* reserved0 */
140 TYPE_INT, /* filter */
141 MK_ARRAY(TYPE_CHAR, 60)) /* reserved */
142
143 #if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
144 STRUCT(timeval,
145 TYPE_LONG, /* tv_sec */
146 TYPE_INT) /* tv_usec */
147
148 STRUCT(_kernel_sock_timeval,
149 TYPE_LONG, /* tv_sec */
150 TYPE_INT) /* tv_usec */
151 #else
152 STRUCT(timeval,
153 TYPE_LONG, /* tv_sec */
154 TYPE_LONG) /* tv_usec */
155
156 STRUCT(_kernel_sock_timeval,
157 TYPE_LONGLONG, /* tv_sec */
158 TYPE_LONGLONG) /* tv_usec */
159 #endif
160
161 STRUCT(timespec,
162 TYPE_LONG, /* tv_sec */
163 TYPE_LONG) /* tv_nsec */
164
165 STRUCT(_kernel_timespec,
166 TYPE_LONGLONG, /* tv_sec */
167 TYPE_LONGLONG) /* tv_nsec */
168
169 STRUCT(snd_timer_status,
170 MK_STRUCT(STRUCT_timespec), /* tstamp */
171 TYPE_INT, /* resolution */
172 TYPE_INT, /* lost */
173 TYPE_INT, /* overrun */
174 TYPE_INT, /* queue */
175 MK_ARRAY(TYPE_CHAR, 64)) /* reserved */
176
177 /* loop device ioctls */
178 STRUCT(loop_info,
179 TYPE_INT, /* lo_number */
180 TYPE_OLDDEVT, /* lo_device */
181 TYPE_ULONG, /* lo_inode */
182 TYPE_OLDDEVT, /* lo_rdevice */
183 TYPE_INT, /* lo_offset */
184 TYPE_INT, /* lo_encrypt_type */
185 TYPE_INT, /* lo_encrypt_key_size */
186 TYPE_INT, /* lo_flags */
187 MK_ARRAY(TYPE_CHAR, 64), /* lo_name */
188 MK_ARRAY(TYPE_CHAR, 32), /* lo_encrypt_key */
189 MK_ARRAY(TYPE_ULONG, 2), /* lo_init */
190 MK_ARRAY(TYPE_CHAR, 4)) /* reserved */
191
192 STRUCT(loop_info64,
193 TYPE_ULONGLONG, /* lo_device */
194 TYPE_ULONGLONG, /* lo_inode */
195 TYPE_ULONGLONG, /* lo_rdevice */
196 TYPE_ULONGLONG, /* lo_offset */
197 TYPE_ULONGLONG, /* lo_sizelimit */
198 TYPE_INT, /* lo_number */
199 TYPE_INT, /* lo_encrypt_type */
200 TYPE_INT, /* lo_encrypt_key_size */
201 TYPE_INT, /* lo_flags */
202 MK_ARRAY(TYPE_CHAR, 64), /* lo_name */
203 MK_ARRAY(TYPE_CHAR, 64), /* lo_crypt_name */
204 MK_ARRAY(TYPE_CHAR, 32), /* lo_encrypt_key */
205 MK_ARRAY(TYPE_ULONGLONG, 2)) /* lo_init */
206
207 STRUCT(loop_config,
208 TYPE_INT, /* fd */
209 TYPE_INT, /* block_size */
210 MK_STRUCT(STRUCT_loop_info64), /* info */
211 MK_ARRAY(TYPE_ULONGLONG, 8)) /* __reserved */
212
213 /* mag tape ioctls */
214 STRUCT(mtop, TYPE_SHORT, TYPE_INT)
215 STRUCT(mtget, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG,
216 TYPE_INT, TYPE_INT)
217 STRUCT(mtpos, TYPE_LONG)
218
219 STRUCT(fb_fix_screeninfo,
220 MK_ARRAY(TYPE_CHAR, 16), /* id */
221 TYPE_ULONG, /* smem_start */
222 TYPE_INT, /* smem_len */
223 TYPE_INT, /* type */
224 TYPE_INT, /* type_aux */
225 TYPE_INT, /* visual */
226 TYPE_SHORT, /* xpanstep */
227 TYPE_SHORT, /* ypanstep */
228 TYPE_SHORT, /* ywrapstep */
229 TYPE_INT, /* line_length */
230 TYPE_ULONG, /* mmio_start */
231 TYPE_INT, /* mmio_len */
232 TYPE_INT, /* accel */
233 MK_ARRAY(TYPE_CHAR, 3)) /* reserved */
234
235 STRUCT(fb_var_screeninfo,
236 TYPE_INT, /* xres */
237 TYPE_INT, /* yres */
238 TYPE_INT, /* xres_virtual */
239 TYPE_INT, /* yres_virtual */
240 TYPE_INT, /* xoffset */
241 TYPE_INT, /* yoffset */
242 TYPE_INT, /* bits_per_pixel */
243 TYPE_INT, /* grayscale */
244 MK_ARRAY(TYPE_INT, 3), /* red */
245 MK_ARRAY(TYPE_INT, 3), /* green */
246 MK_ARRAY(TYPE_INT, 3), /* blue */
247 MK_ARRAY(TYPE_INT, 3), /* transp */
248 TYPE_INT, /* nonstd */
249 TYPE_INT, /* activate */
250 TYPE_INT, /* height */
251 TYPE_INT, /* width */
252 TYPE_INT, /* accel_flags */
253 TYPE_INT, /* pixclock */
254 TYPE_INT, /* left_margin */
255 TYPE_INT, /* right_margin */
256 TYPE_INT, /* upper_margin */
257 TYPE_INT, /* lower_margin */
258 TYPE_INT, /* hsync_len */
259 TYPE_INT, /* vsync_len */
260 TYPE_INT, /* sync */
261 TYPE_INT, /* vmode */
262 TYPE_INT, /* rotate */
263 MK_ARRAY(TYPE_INT, 5)) /* reserved */
264
265 STRUCT(fb_cmap,
266 TYPE_INT, /* start */
267 TYPE_INT, /* len */
268 TYPE_PTRVOID, /* red */
269 TYPE_PTRVOID, /* green */
270 TYPE_PTRVOID, /* blue */
271 TYPE_PTRVOID) /* transp */
272
273 STRUCT(fb_con2fbmap,
274 TYPE_INT, /* console */
275 TYPE_INT) /* framebuffer */
276
277
278 STRUCT(vt_stat,
279 TYPE_SHORT, /* v_active */
280 TYPE_SHORT, /* v_signal */
281 TYPE_SHORT) /* v_state */
282
283 STRUCT(vt_mode,
284 TYPE_CHAR, /* mode */
285 TYPE_CHAR, /* waitv */
286 TYPE_SHORT, /* relsig */
287 TYPE_SHORT, /* acqsig */
288 TYPE_SHORT) /* frsig */
289
290 STRUCT(dm_ioctl,
291 MK_ARRAY(TYPE_INT, 3), /* version */
292 TYPE_INT, /* data_size */
293 TYPE_INT, /* data_start */
294 TYPE_INT, /* target_count*/
295 TYPE_INT, /* open_count */
296 TYPE_INT, /* flags */
297 TYPE_INT, /* event_nr */
298 TYPE_INT, /* padding */
299 TYPE_ULONGLONG, /* dev */
300 MK_ARRAY(TYPE_CHAR, 128), /* name */
301 MK_ARRAY(TYPE_CHAR, 129), /* uuid */
302 MK_ARRAY(TYPE_CHAR, 7)) /* data */
303
304 STRUCT(dm_target_spec,
305 TYPE_ULONGLONG, /* sector_start */
306 TYPE_ULONGLONG, /* length */
307 TYPE_INT, /* status */
308 TYPE_INT, /* next */
309 MK_ARRAY(TYPE_CHAR, 16)) /* target_type */
310
311 STRUCT(dm_target_deps,
312 TYPE_INT, /* count */
313 TYPE_INT) /* padding */
314
315 STRUCT(dm_name_list,
316 TYPE_ULONGLONG, /* dev */
317 TYPE_INT) /* next */
318
319 STRUCT(dm_target_versions,
320 TYPE_INT, /* next */
321 MK_ARRAY(TYPE_INT, 3)) /* version*/
322
323 STRUCT(dm_target_msg,
324 TYPE_ULONGLONG) /* sector */
325
326 STRUCT(drm_version,
327 TYPE_INT, /* version_major */
328 TYPE_INT, /* version_minor */
329 TYPE_INT, /* version_patchlevel */
330 TYPE_ULONG, /* name_len */
331 TYPE_PTRVOID, /* name */
332 TYPE_ULONG, /* date_len */
333 TYPE_PTRVOID, /* date */
334 TYPE_ULONG, /* desc_len */
335 TYPE_PTRVOID) /* desc */
336
337 STRUCT(drm_i915_getparam,
338 TYPE_INT, /* param */
339 TYPE_PTRVOID) /* value */
340
341 STRUCT(file_clone_range,
342 TYPE_LONGLONG, /* src_fd */
343 TYPE_ULONGLONG, /* src_offset */
344 TYPE_ULONGLONG, /* src_length */
345 TYPE_ULONGLONG) /* dest_offset */
346
347 STRUCT(fstrim_range,
348 TYPE_ULONGLONG, /* start */
349 TYPE_ULONGLONG, /* len */
350 TYPE_ULONGLONG) /* minlen */
351
352 STRUCT(fiemap_extent,
353 TYPE_ULONGLONG, /* fe_logical */
354 TYPE_ULONGLONG, /* fe_physical */
355 TYPE_ULONGLONG, /* fe_length */
356 MK_ARRAY(TYPE_ULONGLONG, 2), /* fe_reserved64[2] */
357 TYPE_INT, /* fe_flags */
358 MK_ARRAY(TYPE_INT, 3)) /* fe_reserved[3] */
359
360 STRUCT(fiemap,
361 TYPE_ULONGLONG, /* fm_start */
362 TYPE_ULONGLONG, /* fm_length */
363 TYPE_INT, /* fm_flags */
364 TYPE_INT, /* fm_mapped_extents */
365 TYPE_INT, /* fm_extent_count */
366 TYPE_INT) /* fm_reserved */
367
368 STRUCT(blkpg_partition,
369 TYPE_LONGLONG, /* start */
370 TYPE_LONGLONG, /* length */
371 TYPE_INT, /* pno */
372 MK_ARRAY(TYPE_CHAR, BLKPG_DEVNAMELTH), /* devname */
373 MK_ARRAY(TYPE_CHAR, BLKPG_VOLNAMELTH)) /* volname */
374
375 #if defined(BTRFS_IOC_SUBVOL_CREATE) || defined(BTRFS_IOC_SNAP_CREATE) || \
376 defined(BTRFS_IOC_SNAP_DESTROY) || defined(BTRFS_IOC_SCAN_DEV) || \
377 defined(BTRFS_IOC_FORGET_DEV) || defined(BTRFS_IOC_ADD_DEV) || \
378 defined(BTRFS_IOC_RM_DEV) || defined(BTRFS_IOC_DEV_INFO)
379 STRUCT(btrfs_ioctl_vol_args,
380 TYPE_LONGLONG, /* fd */
381 MK_ARRAY(TYPE_CHAR, BTRFS_PATH_NAME_MAX + 1)) /* name */
382 #endif
383
384 #ifdef BTRFS_IOC_GET_SUBVOL_INFO
385 STRUCT(btrfs_ioctl_timespec,
386 TYPE_ULONGLONG, /* sec */
387 TYPE_INT) /* nsec */
388
389 STRUCT(btrfs_ioctl_get_subvol_info_args,
390 TYPE_ULONGLONG, /* treeid */
391 MK_ARRAY(TYPE_CHAR, BTRFS_VOL_NAME_MAX + 1),
392 TYPE_ULONGLONG, /* parentid */
393 TYPE_ULONGLONG, /* dirid */
394 TYPE_ULONGLONG, /* generation */
395 TYPE_ULONGLONG, /* flags */
396 MK_ARRAY(TYPE_CHAR, BTRFS_UUID_SIZE), /* uuid */
397 MK_ARRAY(TYPE_CHAR, BTRFS_UUID_SIZE), /* parent_uuid */
398 MK_ARRAY(TYPE_CHAR, BTRFS_UUID_SIZE), /* received_uuid */
399 TYPE_ULONGLONG, /* ctransid */
400 TYPE_ULONGLONG, /* otransid */
401 TYPE_ULONGLONG, /* stransid */
402 TYPE_ULONGLONG, /* rtransid */
403 MK_STRUCT(STRUCT_btrfs_ioctl_timespec), /* ctime */
404 MK_STRUCT(STRUCT_btrfs_ioctl_timespec), /* otime */
405 MK_STRUCT(STRUCT_btrfs_ioctl_timespec), /* stime */
406 MK_STRUCT(STRUCT_btrfs_ioctl_timespec), /* rtime */
407 MK_ARRAY(TYPE_ULONGLONG, 8)) /* reserved */
408 #endif
409
410 #ifdef BTRFS_IOC_INO_LOOKUP
411 STRUCT(btrfs_ioctl_ino_lookup_args,
412 TYPE_ULONGLONG, /* treeid */
413 TYPE_ULONGLONG, /* objectid */
414 MK_ARRAY(TYPE_CHAR, BTRFS_INO_LOOKUP_PATH_MAX)) /* name */
415 #endif
416
417 #ifdef BTRFS_IOC_INO_PATHS
418 STRUCT(btrfs_ioctl_ino_path_args,
419 TYPE_ULONGLONG, /* inum */
420 TYPE_ULONGLONG, /* size */
421 MK_ARRAY(TYPE_ULONGLONG, 4), /* reserved */
422 TYPE_ULONGLONG) /* fspath */
423 #endif
424
425 #if defined(BTRFS_IOC_LOGICAL_INO) || defined(BTRFS_IOC_LOGICAL_INO_V2)
426 STRUCT(btrfs_ioctl_logical_ino_args,
427 TYPE_ULONGLONG, /* logical */
428 TYPE_ULONGLONG, /* size */
429 MK_ARRAY(TYPE_ULONGLONG, 3), /* reserved */
430 TYPE_ULONGLONG, /* flags */
431 TYPE_ULONGLONG) /* inodes */
432 #endif
433
434 #ifdef BTRFS_IOC_INO_LOOKUP_USER
435 STRUCT(btrfs_ioctl_ino_lookup_user_args,
436 TYPE_ULONGLONG, /* dirid */
437 TYPE_ULONGLONG, /* treeid */
438 MK_ARRAY(TYPE_CHAR, BTRFS_VOL_NAME_MAX + 1), /* name */
439 MK_ARRAY(TYPE_CHAR, BTRFS_INO_LOOKUP_USER_PATH_MAX)) /* path */
440 #endif
441
442 #if defined(BTRFS_IOC_SCRUB) || defined(BTRFS_IOC_SCRUB_PROGRESS)
443 STRUCT(btrfs_scrub_progress,
444 TYPE_ULONGLONG, /* data_extents_scrubbed */
445 TYPE_ULONGLONG, /* tree_extents_scrubbed */
446 TYPE_ULONGLONG, /* data_bytes_scrubbed */
447 TYPE_ULONGLONG, /* tree_bytes_scrubbed */
448 TYPE_ULONGLONG, /* read_errors */
449 TYPE_ULONGLONG, /* csum_errors */
450 TYPE_ULONGLONG, /* verify_errors */
451 TYPE_ULONGLONG, /* no_csum */
452 TYPE_ULONGLONG, /* csum_discards */
453 TYPE_ULONGLONG, /* super_errors */
454 TYPE_ULONGLONG, /* malloc_errors */
455 TYPE_ULONGLONG, /* uncorrectable_errors */
456 TYPE_ULONGLONG, /* corrected_er */
457 TYPE_ULONGLONG, /* last_physical */
458 TYPE_ULONGLONG) /* unverified_errors */
459
460 STRUCT(btrfs_ioctl_scrub_args,
461 TYPE_ULONGLONG, /* devid */
462 TYPE_ULONGLONG, /* start */
463 TYPE_ULONGLONG, /* end */
464 TYPE_ULONGLONG, /* flags */
465 MK_STRUCT(STRUCT_btrfs_scrub_progress), /* progress */
466 MK_ARRAY(TYPE_ULONGLONG,
467 (1024 - 32 -
468 sizeof(struct btrfs_scrub_progress)) / 8)) /* unused */
469 #endif
470
471 #ifdef BTRFS_IOC_DEV_INFO
472 STRUCT(btrfs_ioctl_dev_info_args,
473 TYPE_ULONGLONG, /* devid */
474 MK_ARRAY(TYPE_CHAR, BTRFS_UUID_SIZE), /* uuid */
475 TYPE_ULONGLONG, /* bytes_used */
476 TYPE_ULONGLONG, /* total_bytes */
477 MK_ARRAY(TYPE_ULONGLONG, 379), /* unused */
478 MK_ARRAY(TYPE_CHAR, BTRFS_DEVICE_PATH_NAME_MAX)) /* path */
479 #endif
480
481 #ifdef BTRFS_IOC_GET_SUBVOL_ROOTREF
482 STRUCT(rootref,
483 TYPE_ULONGLONG, /* treeid */
484 TYPE_ULONGLONG) /* dirid */
485
486 STRUCT(btrfs_ioctl_get_subvol_rootref_args,
487 TYPE_ULONGLONG, /* min_treeid */
488 MK_ARRAY(MK_STRUCT(STRUCT_rootref),
489 BTRFS_MAX_ROOTREF_BUFFER_NUM), /* rootref */
490 TYPE_CHAR, /* num_items */
491 MK_ARRAY(TYPE_CHAR, 7)) /* align */
492 #endif
493
494 #ifdef BTRFS_IOC_GET_DEV_STATS
495 STRUCT(btrfs_ioctl_get_dev_stats,
496 TYPE_ULONGLONG, /* devid */
497 TYPE_ULONGLONG, /* nr_items */
498 TYPE_ULONGLONG, /* flags */
499 MK_ARRAY(TYPE_ULONGLONG, BTRFS_DEV_STAT_VALUES_MAX), /* values */
500 MK_ARRAY(TYPE_ULONGLONG,
501 128 - 2 - BTRFS_DEV_STAT_VALUES_MAX)) /* unused */
502 #endif
503
504 STRUCT(btrfs_ioctl_quota_ctl_args,
505 TYPE_ULONGLONG, /* cmd */
506 TYPE_ULONGLONG) /* status */
507
508 STRUCT(btrfs_ioctl_quota_rescan_args,
509 TYPE_ULONGLONG, /* flags */
510 TYPE_ULONGLONG, /* progress */
511 MK_ARRAY(TYPE_ULONGLONG, 6)) /* reserved */
512
513 STRUCT(btrfs_ioctl_qgroup_assign_args,
514 TYPE_ULONGLONG, /* assign */
515 TYPE_ULONGLONG, /* src */
516 TYPE_ULONGLONG) /* dst */
517
518 STRUCT(btrfs_ioctl_qgroup_create_args,
519 TYPE_ULONGLONG, /* create */
520 TYPE_ULONGLONG) /* qgroupid */
521
522 STRUCT(btrfs_qgroup_limit,
523 TYPE_ULONGLONG, /* flags */
524 TYPE_ULONGLONG, /* max_rfer */
525 TYPE_ULONGLONG, /* max_excl */
526 TYPE_ULONGLONG, /* rsv_rfer */
527 TYPE_ULONGLONG) /* rsv_excl */
528
529 STRUCT(btrfs_ioctl_qgroup_limit_args,
530 TYPE_ULONGLONG, /* qgroupid */
531 MK_STRUCT(STRUCT_btrfs_qgroup_limit)) /* lim */
532
533 STRUCT(btrfs_ioctl_feature_flags,
534 TYPE_ULONGLONG, /* compat_flags */
535 TYPE_ULONGLONG, /* compat_ro_flags */
536 TYPE_ULONGLONG) /* incompat_flags */
537
538 STRUCT(rtc_time,
539 TYPE_INT, /* tm_sec */
540 TYPE_INT, /* tm_min */
541 TYPE_INT, /* tm_hour */
542 TYPE_INT, /* tm_mday */
543 TYPE_INT, /* tm_mon */
544 TYPE_INT, /* tm_year */
545 TYPE_INT, /* tm_wday */
546 TYPE_INT, /* tm_yday */
547 TYPE_INT) /* tm_isdst */
548
549 STRUCT(rtc_wkalrm,
550 TYPE_CHAR, /* enabled */
551 TYPE_CHAR, /* pending */
552 MK_STRUCT(STRUCT_rtc_time)) /* time */
553
554 STRUCT(rtc_pll_info,
555 TYPE_INT, /* pll_ctrl */
556 TYPE_INT, /* pll_value */
557 TYPE_INT, /* pll_max */
558 TYPE_INT, /* pll_min */
559 TYPE_INT, /* pll_posmult */
560 TYPE_INT, /* pll_negmult */
561 TYPE_LONG) /* pll_clock */
562
563 STRUCT(blkpg_ioctl_arg,
564 TYPE_INT, /* op */
565 TYPE_INT, /* flags */
566 TYPE_INT, /* datalen */
567 TYPE_PTRVOID) /* data */
568
569 STRUCT(format_descr,
570 TYPE_INT, /* device */
571 TYPE_INT, /* head */
572 TYPE_INT) /* track */
573
574 STRUCT(floppy_max_errors,
575 TYPE_INT, /* abort */
576 TYPE_INT, /* read_track */
577 TYPE_INT, /* reset */
578 TYPE_INT, /* recal */
579 TYPE_INT) /* reporting */
580
581 #if defined(CONFIG_USBFS)
582 /* usb device ioctls */
583 STRUCT(usbdevfs_ctrltransfer,
584 TYPE_CHAR, /* bRequestType */
585 TYPE_CHAR, /* bRequest */
586 TYPE_SHORT, /* wValue */
587 TYPE_SHORT, /* wIndex */
588 TYPE_SHORT, /* wLength */
589 TYPE_INT, /* timeout */
590 TYPE_PTRVOID) /* data */
591
592 STRUCT(usbdevfs_bulktransfer,
593 TYPE_INT, /* ep */
594 TYPE_INT, /* len */
595 TYPE_INT, /* timeout */
596 TYPE_PTRVOID) /* data */
597
598 STRUCT(usbdevfs_setinterface,
599 TYPE_INT, /* interface */
600 TYPE_INT) /* altsetting */
601
602 STRUCT(usbdevfs_disconnectsignal,
603 TYPE_INT, /* signr */
604 TYPE_PTRVOID) /* context */
605
606 STRUCT(usbdevfs_getdriver,
607 TYPE_INT, /* interface */
608 MK_ARRAY(TYPE_CHAR, USBDEVFS_MAXDRIVERNAME + 1)) /* driver */
609
610 STRUCT(usbdevfs_connectinfo,
611 TYPE_INT, /* devnum */
612 TYPE_CHAR) /* slow */
613
614 STRUCT(usbdevfs_iso_packet_desc,
615 TYPE_INT, /* length */
616 TYPE_INT, /* actual_length */
617 TYPE_INT) /* status */
618
619 STRUCT(usbdevfs_urb,
620 TYPE_CHAR, /* type */
621 TYPE_CHAR, /* endpoint */
622 TYPE_INT, /* status */
623 TYPE_INT, /* flags */
624 TYPE_PTRVOID, /* buffer */
625 TYPE_INT, /* buffer_length */
626 TYPE_INT, /* actual_length */
627 TYPE_INT, /* start_frame */
628 TYPE_INT, /* union number_of_packets stream_id */
629 TYPE_INT, /* error_count */
630 TYPE_INT, /* signr */
631 TYPE_PTRVOID, /* usercontext */
632 MK_ARRAY(MK_STRUCT(STRUCT_usbdevfs_iso_packet_desc), 0)) /* desc */
633
634 STRUCT(usbdevfs_ioctl,
635 TYPE_INT, /* ifno */
636 TYPE_INT, /* ioctl_code */
637 TYPE_PTRVOID) /* data */
638
639 STRUCT(usbdevfs_hub_portinfo,
640 TYPE_CHAR, /* nports */
641 MK_ARRAY(TYPE_CHAR, 127)) /* port */
642
643 STRUCT(usbdevfs_disconnect_claim,
644 TYPE_INT, /* interface */
645 TYPE_INT, /* flags */
646 MK_ARRAY(TYPE_CHAR, USBDEVFS_MAXDRIVERNAME + 1)) /* driver */
647 #endif /* CONFIG_USBFS */