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