qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

syscall_types.h (20052B)


      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 */