diff --git a/Cargo.toml b/Cargo.toml index 63509575..bfa010a8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,7 @@ static_assertions = "1.1.0" libc = "0.2.100" [package.metadata.docs.rs] -features = ["default", "bootparam", "ioctl", "netlink", "io_uring", "if_arp", "if_ether", "if_packet", "net", "prctl", "elf", "xdp", "mempolicy", "system", "loop_device"] +features = ["default", "bootparam", "btrfs", "ioctl", "netlink", "io_uring", "if_arp", "if_ether", "if_packet", "net", "prctl", "elf", "xdp", "mempolicy", "system", "loop_device"] targets = ["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"] [lints.rust.unexpected_cfgs] @@ -33,6 +33,7 @@ check-cfg = [ # The rest of this file is auto-generated! [features] bootparam = [] +btrfs = [] errno = [] general = [] if_arp = [] diff --git a/gen/include/stddef.h b/gen/include/stddef.h new file mode 100644 index 00000000..641e3e7f --- /dev/null +++ b/gen/include/stddef.h @@ -0,0 +1 @@ +#define offsetof(t, d) __builtin_offsetof(t, d) diff --git a/gen/modules/btrfs.h b/gen/modules/btrfs.h new file mode 100644 index 00000000..7a76f6ac --- /dev/null +++ b/gen/modules/btrfs.h @@ -0,0 +1,2 @@ +#include +#include diff --git a/src/aarch64/btrfs.rs b/src/aarch64/btrfs.rs new file mode 100644 index 00000000..c6c83d94 --- /dev/null +++ b/src/aarch64/btrfs.rs @@ -0,0 +1,1793 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_old_uid_t = crate::ctypes::c_ushort; +pub type __kernel_old_gid_t = crate::ctypes::c_ushort; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 14; +pub const _IOC_DIRBITS: u32 = 2; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 3; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 30; +pub const _IOC_NONE: u32 = 0; +pub const _IOC_WRITE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const IOC_IN: u32 = 1073741824; +pub const IOC_OUT: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/arm/btrfs.rs b/src/arm/btrfs.rs new file mode 100644 index 00000000..a944095e --- /dev/null +++ b/src/arm/btrfs.rs @@ -0,0 +1,1791 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_mode_t = crate::ctypes::c_ushort; +pub type __kernel_ipc_pid_t = crate::ctypes::c_ushort; +pub type __kernel_uid_t = crate::ctypes::c_ushort; +pub type __kernel_gid_t = crate::ctypes::c_ushort; +pub type __kernel_old_dev_t = crate::ctypes::c_ushort; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 14; +pub const _IOC_DIRBITS: u32 = 2; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 3; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 30; +pub const _IOC_NONE: u32 = 0; +pub const _IOC_WRITE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const IOC_IN: u32 = 1073741824; +pub const IOC_OUT: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/csky/btrfs.rs b/src/csky/btrfs.rs new file mode 100644 index 00000000..6066ff1f --- /dev/null +++ b/src/csky/btrfs.rs @@ -0,0 +1,1791 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 14; +pub const _IOC_DIRBITS: u32 = 2; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 3; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 30; +pub const _IOC_NONE: u32 = 0; +pub const _IOC_WRITE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const IOC_IN: u32 = 1073741824; +pub const IOC_OUT: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/lib.rs b/src/lib.rs index f2022fa5..23372124 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -213,6 +213,10 @@ pub mod elf; #[cfg(target_arch = "arm")] #[path = "arm/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "arm")] +#[path = "arm/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "arm")] #[path = "arm/errno.rs"] @@ -273,6 +277,10 @@ pub mod xdp; #[cfg(target_arch = "aarch64")] #[path = "aarch64/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "aarch64")] +#[path = "aarch64/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "aarch64")] #[path = "aarch64/errno.rs"] @@ -333,6 +341,10 @@ pub mod xdp; #[cfg(target_arch = "csky")] #[path = "csky/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "csky")] +#[path = "csky/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "csky")] #[path = "csky/errno.rs"] @@ -393,6 +405,10 @@ pub mod xdp; #[cfg(target_arch = "loongarch64")] #[path = "loongarch64/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "loongarch64")] +#[path = "loongarch64/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "loongarch64")] #[path = "loongarch64/errno.rs"] @@ -453,6 +469,10 @@ pub mod xdp; #[cfg(target_arch = "mips")] #[path = "mips/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "mips")] +#[path = "mips/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "mips")] #[path = "mips/errno.rs"] @@ -513,6 +533,10 @@ pub mod xdp; #[cfg(target_arch = "mips64")] #[path = "mips64/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "mips64")] +#[path = "mips64/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "mips64")] #[path = "mips64/errno.rs"] @@ -573,6 +597,10 @@ pub mod xdp; #[cfg(target_arch = "mips32r6")] #[path = "mips32r6/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "mips32r6")] +#[path = "mips32r6/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "mips32r6")] #[path = "mips32r6/errno.rs"] @@ -633,6 +661,10 @@ pub mod xdp; #[cfg(target_arch = "mips64r6")] #[path = "mips64r6/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "mips64r6")] +#[path = "mips64r6/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "mips64r6")] #[path = "mips64r6/errno.rs"] @@ -693,6 +725,10 @@ pub mod xdp; #[cfg(target_arch = "powerpc")] #[path = "powerpc/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "powerpc")] +#[path = "powerpc/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "powerpc")] #[path = "powerpc/errno.rs"] @@ -753,6 +789,10 @@ pub mod xdp; #[cfg(target_arch = "powerpc64")] #[path = "powerpc64/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "powerpc64")] +#[path = "powerpc64/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "powerpc64")] #[path = "powerpc64/errno.rs"] @@ -813,6 +853,10 @@ pub mod xdp; #[cfg(target_arch = "riscv32")] #[path = "riscv32/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "riscv32")] +#[path = "riscv32/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "riscv32")] #[path = "riscv32/errno.rs"] @@ -873,6 +917,10 @@ pub mod xdp; #[cfg(target_arch = "riscv64")] #[path = "riscv64/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "riscv64")] +#[path = "riscv64/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "riscv64")] #[path = "riscv64/errno.rs"] @@ -933,6 +981,10 @@ pub mod xdp; #[cfg(target_arch = "s390x")] #[path = "s390x/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "s390x")] +#[path = "s390x/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "s390x")] #[path = "s390x/errno.rs"] @@ -993,6 +1045,10 @@ pub mod xdp; #[cfg(target_arch = "sparc")] #[path = "sparc/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "sparc")] +#[path = "sparc/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "sparc")] #[path = "sparc/errno.rs"] @@ -1053,6 +1109,10 @@ pub mod xdp; #[cfg(target_arch = "sparc64")] #[path = "sparc64/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "sparc64")] +#[path = "sparc64/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "sparc64")] #[path = "sparc64/errno.rs"] @@ -1113,6 +1173,10 @@ pub mod xdp; #[cfg(target_arch = "x86")] #[path = "x86/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(target_arch = "x86")] +#[path = "x86/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(target_arch = "x86")] #[path = "x86/errno.rs"] @@ -1173,6 +1237,10 @@ pub mod xdp; #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] #[path = "x86_64/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] +#[path = "x86_64/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] #[path = "x86_64/errno.rs"] @@ -1233,6 +1301,10 @@ pub mod xdp; #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] #[path = "x32/bootparam.rs"] pub mod bootparam; +#[cfg(feature = "btrfs")] +#[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] +#[path = "x32/btrfs.rs"] +pub mod btrfs; #[cfg(feature = "errno")] #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] #[path = "x32/errno.rs"] diff --git a/src/loongarch64/btrfs.rs b/src/loongarch64/btrfs.rs new file mode 100644 index 00000000..ed06d7c9 --- /dev/null +++ b/src/loongarch64/btrfs.rs @@ -0,0 +1,1793 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 14; +pub const _IOC_DIRBITS: u32 = 2; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 3; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 30; +pub const _IOC_NONE: u32 = 0; +pub const _IOC_WRITE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const IOC_IN: u32 = 1073741824; +pub const IOC_OUT: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/mips/btrfs.rs b/src/mips/btrfs.rs new file mode 100644 index 00000000..7e026790 --- /dev/null +++ b/src/mips/btrfs.rs @@ -0,0 +1,1801 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_daddr_t = crate::ctypes::c_long; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _MIPS_ISA_MIPS1: u32 = 1; +pub const _MIPS_ISA_MIPS2: u32 = 2; +pub const _MIPS_ISA_MIPS3: u32 = 3; +pub const _MIPS_ISA_MIPS4: u32 = 4; +pub const _MIPS_ISA_MIPS5: u32 = 5; +pub const _MIPS_ISA_MIPS32: u32 = 6; +pub const _MIPS_ISA_MIPS64: u32 = 7; +pub const _MIPS_SIM_ABI32: u32 = 1; +pub const _MIPS_SIM_NABI32: u32 = 2; +pub const _MIPS_SIM_ABI64: u32 = 3; +pub const _IOC_SIZEBITS: u32 = 13; +pub const _IOC_DIRBITS: u32 = 3; +pub const _IOC_NONE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const _IOC_WRITE: u32 = 4; +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 8191; +pub const _IOC_DIRMASK: u32 = 7; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 29; +pub const IOC_IN: u32 = 2147483648; +pub const IOC_OUT: u32 = 1073741824; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 536805376; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/mips32r6/btrfs.rs b/src/mips32r6/btrfs.rs new file mode 100644 index 00000000..7e026790 --- /dev/null +++ b/src/mips32r6/btrfs.rs @@ -0,0 +1,1801 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_daddr_t = crate::ctypes::c_long; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _MIPS_ISA_MIPS1: u32 = 1; +pub const _MIPS_ISA_MIPS2: u32 = 2; +pub const _MIPS_ISA_MIPS3: u32 = 3; +pub const _MIPS_ISA_MIPS4: u32 = 4; +pub const _MIPS_ISA_MIPS5: u32 = 5; +pub const _MIPS_ISA_MIPS32: u32 = 6; +pub const _MIPS_ISA_MIPS64: u32 = 7; +pub const _MIPS_SIM_ABI32: u32 = 1; +pub const _MIPS_SIM_NABI32: u32 = 2; +pub const _MIPS_SIM_ABI64: u32 = 3; +pub const _IOC_SIZEBITS: u32 = 13; +pub const _IOC_DIRBITS: u32 = 3; +pub const _IOC_NONE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const _IOC_WRITE: u32 = 4; +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 8191; +pub const _IOC_DIRMASK: u32 = 7; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 29; +pub const IOC_IN: u32 = 2147483648; +pub const IOC_OUT: u32 = 1073741824; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 536805376; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/mips64/btrfs.rs b/src/mips64/btrfs.rs new file mode 100644 index 00000000..d0060cc9 --- /dev/null +++ b/src/mips64/btrfs.rs @@ -0,0 +1,1803 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_long; +pub type __u64 = crate::ctypes::c_ulong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_daddr_t = crate::ctypes::c_long; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _MIPS_ISA_MIPS1: u32 = 1; +pub const _MIPS_ISA_MIPS2: u32 = 2; +pub const _MIPS_ISA_MIPS3: u32 = 3; +pub const _MIPS_ISA_MIPS4: u32 = 4; +pub const _MIPS_ISA_MIPS5: u32 = 5; +pub const _MIPS_ISA_MIPS32: u32 = 6; +pub const _MIPS_ISA_MIPS64: u32 = 7; +pub const _MIPS_SIM_ABI32: u32 = 1; +pub const _MIPS_SIM_NABI32: u32 = 2; +pub const _MIPS_SIM_ABI64: u32 = 3; +pub const _IOC_SIZEBITS: u32 = 13; +pub const _IOC_DIRBITS: u32 = 3; +pub const _IOC_NONE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const _IOC_WRITE: u32 = 4; +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 8191; +pub const _IOC_DIRMASK: u32 = 7; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 29; +pub const IOC_IN: u32 = 2147483648; +pub const IOC_OUT: u32 = 1073741824; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 536805376; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/mips64r6/btrfs.rs b/src/mips64r6/btrfs.rs new file mode 100644 index 00000000..d0060cc9 --- /dev/null +++ b/src/mips64r6/btrfs.rs @@ -0,0 +1,1803 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_long; +pub type __u64 = crate::ctypes::c_ulong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_daddr_t = crate::ctypes::c_long; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _MIPS_ISA_MIPS1: u32 = 1; +pub const _MIPS_ISA_MIPS2: u32 = 2; +pub const _MIPS_ISA_MIPS3: u32 = 3; +pub const _MIPS_ISA_MIPS4: u32 = 4; +pub const _MIPS_ISA_MIPS5: u32 = 5; +pub const _MIPS_ISA_MIPS32: u32 = 6; +pub const _MIPS_ISA_MIPS64: u32 = 7; +pub const _MIPS_SIM_ABI32: u32 = 1; +pub const _MIPS_SIM_NABI32: u32 = 2; +pub const _MIPS_SIM_ABI64: u32 = 3; +pub const _IOC_SIZEBITS: u32 = 13; +pub const _IOC_DIRBITS: u32 = 3; +pub const _IOC_NONE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const _IOC_WRITE: u32 = 4; +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 8191; +pub const _IOC_DIRMASK: u32 = 7; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 29; +pub const IOC_IN: u32 = 2147483648; +pub const IOC_OUT: u32 = 1073741824; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 536805376; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/powerpc/btrfs.rs b/src/powerpc/btrfs.rs new file mode 100644 index 00000000..0d602811 --- /dev/null +++ b/src/powerpc/btrfs.rs @@ -0,0 +1,1797 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_short; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct __vector128 { +pub u: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_SIZEBITS: u32 = 13; +pub const _IOC_DIRBITS: u32 = 3; +pub const _IOC_NONE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const _IOC_WRITE: u32 = 4; +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 8191; +pub const _IOC_DIRMASK: u32 = 7; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 29; +pub const IOC_IN: u32 = 2147483648; +pub const IOC_OUT: u32 = 1073741824; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 536805376; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/powerpc64/btrfs.rs b/src/powerpc64/btrfs.rs new file mode 100644 index 00000000..d9920872 --- /dev/null +++ b/src/powerpc64/btrfs.rs @@ -0,0 +1,1799 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_long; +pub type __u64 = crate::ctypes::c_ulong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_old_dev_t = crate::ctypes::c_ulong; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct __vector128 { +pub u: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_SIZEBITS: u32 = 13; +pub const _IOC_DIRBITS: u32 = 3; +pub const _IOC_NONE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const _IOC_WRITE: u32 = 4; +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 8191; +pub const _IOC_DIRMASK: u32 = 7; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 29; +pub const IOC_IN: u32 = 2147483648; +pub const IOC_OUT: u32 = 1073741824; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 536805376; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/riscv32/btrfs.rs b/src/riscv32/btrfs.rs new file mode 100644 index 00000000..6066ff1f --- /dev/null +++ b/src/riscv32/btrfs.rs @@ -0,0 +1,1791 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 14; +pub const _IOC_DIRBITS: u32 = 2; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 3; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 30; +pub const _IOC_NONE: u32 = 0; +pub const _IOC_WRITE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const IOC_IN: u32 = 1073741824; +pub const IOC_OUT: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/riscv64/btrfs.rs b/src/riscv64/btrfs.rs new file mode 100644 index 00000000..ed06d7c9 --- /dev/null +++ b/src/riscv64/btrfs.rs @@ -0,0 +1,1793 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 14; +pub const _IOC_DIRBITS: u32 = 2; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 3; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 30; +pub const _IOC_NONE: u32 = 0; +pub const _IOC_WRITE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const IOC_IN: u32 = 1073741824; +pub const IOC_OUT: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/s390x/btrfs.rs b/src/s390x/btrfs.rs new file mode 100644 index 00000000..09c3430e --- /dev/null +++ b/src/s390x/btrfs.rs @@ -0,0 +1,1813 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type addr_t = crate::ctypes::c_ulong; +pub type saddr_t = crate::ctypes::c_long; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_size_t = crate::ctypes::c_ulong; +pub type __kernel_ssize_t = crate::ctypes::c_long; +pub type __kernel_old_dev_t = crate::ctypes::c_ushort; +pub type __kernel_ino_t = crate::ctypes::c_uint; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_ptrdiff_t = crate::ctypes::c_long; +pub type __kernel_sigset_t = crate::ctypes::c_ulong; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C, packed(4))] +#[derive(Copy, Clone)] +pub struct __vector128 { +pub __bindgen_anon_1: __vector128__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __vector128__bindgen_ty_1__bindgen_ty_1 { +pub high: __u64, +pub low: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 14; +pub const _IOC_DIRBITS: u32 = 2; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 3; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 30; +pub const _IOC_NONE: u32 = 0; +pub const _IOC_WRITE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const IOC_IN: u32 = 1073741824; +pub const IOC_OUT: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union __vector128__bindgen_ty_1 { +pub __bindgen_anon_1: __vector128__bindgen_ty_1__bindgen_ty_1, +pub u: [__u32; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/sparc/btrfs.rs b/src/sparc/btrfs.rs new file mode 100644 index 00000000..0cdc775d --- /dev/null +++ b/src/sparc/btrfs.rs @@ -0,0 +1,1792 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_long; +pub type __kernel_ipc_pid_t = crate::ctypes::c_ushort; +pub type __kernel_uid_t = crate::ctypes::c_ushort; +pub type __kernel_gid_t = crate::ctypes::c_ushort; +pub type __kernel_mode_t = crate::ctypes::c_ushort; +pub type __kernel_daddr_t = crate::ctypes::c_long; +pub type __kernel_old_dev_t = crate::ctypes::c_ushort; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 13; +pub const _IOC_DIRBITS: u32 = 3; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 8191; +pub const _IOC_XSIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 7; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 29; +pub const _IOC_NONE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const _IOC_WRITE: u32 = 4; +pub const IOC_IN: u32 = 2147483648; +pub const IOC_OUT: u32 = 1073741824; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/sparc64/btrfs.rs b/src/sparc64/btrfs.rs new file mode 100644 index 00000000..a39de900 --- /dev/null +++ b/src/sparc64/btrfs.rs @@ -0,0 +1,1800 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_old_uid_t = crate::ctypes::c_ushort; +pub type __kernel_old_gid_t = crate::ctypes::c_ushort; +pub type __kernel_suseconds_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __kernel_old_timeval { +pub tv_sec: __kernel_long_t, +pub tv_usec: __kernel_suseconds_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 13; +pub const _IOC_DIRBITS: u32 = 3; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 8191; +pub const _IOC_XSIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 7; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 29; +pub const _IOC_NONE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const _IOC_WRITE: u32 = 4; +pub const IOC_IN: u32 = 2147483648; +pub const IOC_OUT: u32 = 1073741824; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/x32/btrfs.rs b/src/x32/btrfs.rs new file mode 100644 index 00000000..0bbad256 --- /dev/null +++ b/src/x32/btrfs.rs @@ -0,0 +1,1793 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_longlong; +pub type __kernel_ulong_t = crate::ctypes::c_ulonglong; +pub type __kernel_old_uid_t = crate::ctypes::c_ushort; +pub type __kernel_old_gid_t = crate::ctypes::c_ushort; +pub type __kernel_old_dev_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 14; +pub const _IOC_DIRBITS: u32 = 2; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 3; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 30; +pub const _IOC_NONE: u32 = 0; +pub const _IOC_WRITE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const IOC_IN: u32 = 1073741824; +pub const IOC_OUT: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/x86/btrfs.rs b/src/x86/btrfs.rs new file mode 100644 index 00000000..a944095e --- /dev/null +++ b/src/x86/btrfs.rs @@ -0,0 +1,1791 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_mode_t = crate::ctypes::c_ushort; +pub type __kernel_ipc_pid_t = crate::ctypes::c_ushort; +pub type __kernel_uid_t = crate::ctypes::c_ushort; +pub type __kernel_gid_t = crate::ctypes::c_ushort; +pub type __kernel_old_dev_t = crate::ctypes::c_ushort; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 14; +pub const _IOC_DIRBITS: u32 = 2; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 3; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 30; +pub const _IOC_NONE: u32 = 0; +pub const _IOC_WRITE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const IOC_IN: u32 = 1073741824; +pub const IOC_OUT: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} diff --git a/src/x86_64/btrfs.rs b/src/x86_64/btrfs.rs new file mode 100644 index 00000000..cee7bc39 --- /dev/null +++ b/src/x86_64/btrfs.rs @@ -0,0 +1,1793 @@ +/* automatically generated by rust-bindgen 0.66.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_old_uid_t = crate::ctypes::c_ushort; +pub type __kernel_old_gid_t = crate::ctypes::c_ushort; +pub type __kernel_old_dev_t = crate::ctypes::c_ulong; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type __kernel_rwf_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub master_key_descriptor: [__u8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_key { +pub mode: __u32, +pub raw: [__u8; 64usize], +pub size: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { +pub version: __u8, +pub contents_encryption_mode: __u8, +pub filenames_encryption_mode: __u8, +pub flags: __u8, +pub log2_data_unit_size: __u8, +pub __reserved: [__u8; 3usize], +pub master_key_identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_policy_ex_arg { +pub policy_size: __u64, +pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { +pub type_: __u32, +pub __reserved: __u32, +pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug)] +pub struct fscrypt_provisioning_key_payload { +pub type_: __u32, +pub __reserved: __u32, +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +pub struct fscrypt_add_key_arg { +pub key_spec: fscrypt_key_specifier, +pub raw_size: __u32, +pub key_id: __u32, +pub __reserved: [__u32; 8usize], +pub raw: __IncompleteArrayField<__u8>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_remove_key_arg { +pub key_spec: fscrypt_key_specifier, +pub removal_status_flags: __u32, +pub __reserved: [__u32; 5usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_get_key_status_arg { +pub key_spec: fscrypt_key_specifier, +pub __reserved: [__u32; 6usize], +pub status: __u32, +pub status_flags: __u32, +pub user_count: __u32, +pub __out_reserved: [__u32; 13usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mount_attr { +pub attr_set: __u64, +pub attr_clr: __u64, +pub propagation: __u64, +pub userns_fd: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct statmount { +pub size: __u32, +pub __spare1: __u32, +pub mask: __u64, +pub sb_dev_major: __u32, +pub sb_dev_minor: __u32, +pub sb_magic: __u64, +pub sb_flags: __u32, +pub fs_type: __u32, +pub mnt_id: __u64, +pub mnt_parent_id: __u64, +pub mnt_id_old: __u32, +pub mnt_parent_id_old: __u32, +pub mnt_attr: __u64, +pub mnt_propagation: __u64, +pub mnt_peer_group: __u64, +pub mnt_master: __u64, +pub propagate_from: __u64, +pub mnt_root: __u32, +pub mnt_point: __u32, +pub __spare2: [__u64; 50usize], +pub str_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_id_req { +pub size: __u32, +pub spare: __u32, +pub mnt_id: __u64, +pub param: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_clone_range { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fstrim_range { +pub start: __u64, +pub len: __u64, +pub minlen: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_dedupe_range_info { +pub dest_fd: __s64, +pub dest_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct file_dedupe_range { +pub src_offset: __u64, +pub src_length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct files_stat_struct { +pub nr_files: crate::ctypes::c_ulong, +pub nr_free_files: crate::ctypes::c_ulong, +pub max_files: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inodes_stat_t { +pub nr_inodes: crate::ctypes::c_long, +pub nr_unused: crate::ctypes::c_long, +pub dummy: [crate::ctypes::c_long; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsxattr { +pub fsx_xflags: __u32, +pub fsx_extsize: __u32, +pub fsx_nextents: __u32, +pub fsx_projid: __u32, +pub fsx_cowextsize: __u32, +pub fsx_pad: [crate::ctypes::c_uchar; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_region { +pub start: __u64, +pub end: __u64, +pub categories: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_scan_arg { +pub size: __u64, +pub flags: __u64, +pub start: __u64, +pub end: __u64, +pub walk_end: __u64, +pub vec: __u64, +pub vec_len: __u64, +pub max_pages: __u64, +pub category_inverted: __u64, +pub category_mask: __u64, +pub category_anyof_mask: __u64, +pub return_mask: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args { +pub fd: __s64, +pub name: [crate::ctypes::c_char; 4088usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit { +pub flags: __u64, +pub max_rfer: __u64, +pub max_excl: __u64, +pub rsv_rfer: __u64, +pub rsv_excl: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_qgroup_inherit { +pub flags: __u64, +pub num_qgroups: __u64, +pub num_ref_copies: __u64, +pub num_excl_copies: __u64, +pub lim: btrfs_qgroup_limit, +pub qgroups: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_limit_args { +pub qgroupid: __u64, +pub lim: btrfs_qgroup_limit, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2 { +pub fd: __s64, +pub transid: __u64, +pub flags: __u64, +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1, +pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 { +pub size: __u64, +pub qgroup_inherit: *mut btrfs_qgroup_inherit, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_scrub_progress { +pub data_extents_scrubbed: __u64, +pub tree_extents_scrubbed: __u64, +pub data_bytes_scrubbed: __u64, +pub tree_bytes_scrubbed: __u64, +pub read_errors: __u64, +pub csum_errors: __u64, +pub verify_errors: __u64, +pub no_csum: __u64, +pub csum_discards: __u64, +pub super_errors: __u64, +pub malloc_errors: __u64, +pub uncorrectable_errors: __u64, +pub corrected_errors: __u64, +pub last_physical: __u64, +pub unverified_errors: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_scrub_args { +pub devid: __u64, +pub start: __u64, +pub end: __u64, +pub flags: __u64, +pub progress: btrfs_scrub_progress, +pub unused: [__u64; 109usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_start_params { +pub srcdevid: __u64, +pub cont_reading_from_srcdev_mode: __u64, +pub srcdev_name: [__u8; 1025usize], +pub tgtdev_name: [__u8; 1025usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_status_params { +pub replace_state: __u64, +pub progress_1000: __u64, +pub time_started: __u64, +pub time_stopped: __u64, +pub num_write_errors: __u64, +pub num_uncorrectable_read_errors: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_dev_replace_args { +pub cmd: __u64, +pub result: __u64, +pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1, +pub spare: [__u64; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_dev_info_args { +pub devid: __u64, +pub uuid: [__u8; 16usize], +pub bytes_used: __u64, +pub total_bytes: __u64, +pub fsid: [__u8; 16usize], +pub unused: [__u64; 377usize], +pub path: [__u8; 1024usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_fs_info_args { +pub max_id: __u64, +pub num_devices: __u64, +pub fsid: [__u8; 16usize], +pub nodesize: __u32, +pub sectorsize: __u32, +pub clone_alignment: __u32, +pub csum_type: __u16, +pub csum_size: __u16, +pub flags: __u64, +pub generation: __u64, +pub metadata_uuid: [__u8; 16usize], +pub reserved: [__u8; 944usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_feature_flags { +pub compat_flags: __u64, +pub compat_ro_flags: __u64, +pub incompat_flags: __u64, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_args { +pub profiles: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1, +pub devid: __u64, +pub pstart: __u64, +pub pend: __u64, +pub vstart: __u64, +pub vend: __u64, +pub target: __u64, +pub flags: __u64, +pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2, +pub stripes_min: __u32, +pub stripes_max: __u32, +pub unused: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __u32, +pub usage_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __u32, +pub limit_max: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_balance_progress { +pub expected: __u64, +pub considered: __u64, +pub completed: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btrfs_ioctl_balance_args { +pub flags: __u64, +pub state: __u64, +pub data: btrfs_balance_args, +pub meta: btrfs_balance_args, +pub sys: btrfs_balance_args, +pub stat: btrfs_balance_progress, +pub unused: [__u64; 72usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_args { +pub treeid: __u64, +pub objectid: __u64, +pub name: [crate::ctypes::c_char; 4080usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_lookup_user_args { +pub dirid: __u64, +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub path: [crate::ctypes::c_char; 3824usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_key { +pub tree_id: __u64, +pub min_objectid: __u64, +pub max_objectid: __u64, +pub min_offset: __u64, +pub max_offset: __u64, +pub min_transid: __u64, +pub max_transid: __u64, +pub min_type: __u32, +pub max_type: __u32, +pub nr_items: __u32, +pub unused: __u32, +pub unused1: __u64, +pub unused2: __u64, +pub unused3: __u64, +pub unused4: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_header { +pub transid: __u64, +pub objectid: __u64, +pub offset: __u64, +pub type_: __u32, +pub len: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_search_args { +pub key: btrfs_ioctl_search_key, +pub buf: [crate::ctypes::c_char; 3992usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_search_args_v2 { +pub key: btrfs_ioctl_search_key, +pub buf_size: __u64, +pub buf: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_clone_range_args { +pub src_fd: __s64, +pub src_offset: __u64, +pub src_length: __u64, +pub dest_offset: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_defrag_range_args { +pub start: __u64, +pub len: __u64, +pub flags: __u64, +pub extent_thresh: __u32, +pub compress_type: __u32, +pub unused: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_same_extent_info { +pub fd: __s64, +pub logical_offset: __u64, +pub bytes_deduped: __u64, +pub status: __s32, +pub reserved: __u32, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_same_args { +pub logical_offset: __u64, +pub length: __u64, +pub dest_count: __u16, +pub reserved1: __u16, +pub reserved2: __u32, +pub info: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_space_info { +pub flags: __u64, +pub total_bytes: __u64, +pub used_bytes: __u64, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_ioctl_space_args { +pub space_slots: __u64, +pub total_spaces: __u64, +pub spaces: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct btrfs_data_container { +pub bytes_left: __u32, +pub bytes_missing: __u32, +pub elem_cnt: __u32, +pub elem_missed: __u32, +pub val: __IncompleteArrayField<__u64>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_ino_path_args { +pub inum: __u64, +pub size: __u64, +pub reserved: [__u64; 4usize], +pub fspath: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_logical_ino_args { +pub logical: __u64, +pub size: __u64, +pub reserved: [__u64; 3usize], +pub flags: __u64, +pub inodes: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_dev_stats { +pub devid: __u64, +pub nr_items: __u64, +pub flags: __u64, +pub values: [__u64; 5usize], +pub unused: [__u64; 121usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_ctl_args { +pub cmd: __u64, +pub status: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_quota_rescan_args { +pub flags: __u64, +pub progress: __u64, +pub reserved: [__u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_assign_args { +pub assign: __u64, +pub src: __u64, +pub dst: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_qgroup_create_args { +pub create: __u64, +pub qgroupid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_timespec { +pub sec: __u64, +pub nsec: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_received_subvol_args { +pub uuid: [crate::ctypes::c_char; 16usize], +pub stransid: __u64, +pub rtransid: __u64, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub flags: __u64, +pub reserved: [__u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_send_args { +pub send_fd: __s64, +pub clone_sources_count: __u64, +pub clone_sources: *mut __u64, +pub parent_root: __u64, +pub flags: __u64, +pub version: __u32, +pub reserved: [__u8; 28usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_info_args { +pub treeid: __u64, +pub name: [crate::ctypes::c_char; 256usize], +pub parent_id: __u64, +pub dirid: __u64, +pub generation: __u64, +pub flags: __u64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __u64, +pub otransid: __u64, +pub stransid: __u64, +pub rtransid: __u64, +pub ctime: btrfs_ioctl_timespec, +pub otime: btrfs_ioctl_timespec, +pub stime: btrfs_ioctl_timespec, +pub rtime: btrfs_ioctl_timespec, +pub reserved: [__u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args { +pub min_treeid: __u64, +pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize], +pub num_items: __u8, +pub align: [__u8; 7usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 { +pub treeid: __u64, +pub dirid: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_ioctl_encoded_io_args { +pub iov: *mut iovec, +pub iovcnt: crate::ctypes::c_ulong, +pub offset: __s64, +pub flags: __u64, +pub len: __u64, +pub unencoded_len: __u64, +pub unencoded_offset: __u64, +pub compression: __u32, +pub encryption: __u32, +pub reserved: [__u8; 64usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_key { +pub objectid: __le64, +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key { +pub objectid: __u64, +pub type_: __u8, +pub offset: __u64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_header { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +pub generation: __le64, +pub owner: __le64, +pub nritems: __le32, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_backup { +pub tree_root: __le64, +pub tree_root_gen: __le64, +pub chunk_root: __le64, +pub chunk_root_gen: __le64, +pub extent_root: __le64, +pub extent_root_gen: __le64, +pub fs_root: __le64, +pub fs_root_gen: __le64, +pub dev_root: __le64, +pub dev_root_gen: __le64, +pub csum_root: __le64, +pub csum_root_gen: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub num_devices: __le64, +pub unused_64: [__le64; 4usize], +pub tree_root_level: __u8, +pub chunk_root_level: __u8, +pub extent_root_level: __u8, +pub fs_root_level: __u8, +pub dev_root_level: __u8, +pub csum_root_level: __u8, +pub unused_8: [__u8; 10usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_item { +pub key: btrfs_disk_key, +pub offset: __le32, +pub size: __le32, +} +#[repr(C, packed)] +pub struct btrfs_leaf { +pub header: btrfs_header, +pub items: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_key_ptr { +pub key: btrfs_disk_key, +pub blockptr: __le64, +pub generation: __le64, +} +#[repr(C, packed)] +pub struct btrfs_node { +pub header: btrfs_header, +pub ptrs: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_item { +pub devid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub type_: __le64, +pub generation: __le64, +pub start_offset: __le64, +pub dev_group: __le32, +pub seek_speed: __u8, +pub bandwidth: __u8, +pub uuid: [__u8; 16usize], +pub fsid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_stripe { +pub devid: __le64, +pub offset: __le64, +pub dev_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_chunk { +pub length: __le64, +pub owner: __le64, +pub stripe_len: __le64, +pub type_: __le64, +pub io_align: __le32, +pub io_width: __le32, +pub sector_size: __le32, +pub num_stripes: __le16, +pub sub_stripes: __le16, +pub stripe: btrfs_stripe, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_super_block { +pub csum: [__u8; 32usize], +pub fsid: [__u8; 16usize], +pub bytenr: __le64, +pub flags: __le64, +pub magic: __le64, +pub generation: __le64, +pub root: __le64, +pub chunk_root: __le64, +pub log_root: __le64, +pub __unused_log_root_transid: __le64, +pub total_bytes: __le64, +pub bytes_used: __le64, +pub root_dir_objectid: __le64, +pub num_devices: __le64, +pub sectorsize: __le32, +pub nodesize: __le32, +pub __unused_leafsize: __le32, +pub stripesize: __le32, +pub sys_chunk_array_size: __le32, +pub chunk_root_generation: __le64, +pub compat_flags: __le64, +pub compat_ro_flags: __le64, +pub incompat_flags: __le64, +pub csum_type: __le16, +pub root_level: __u8, +pub chunk_root_level: __u8, +pub log_root_level: __u8, +pub dev_item: btrfs_dev_item, +pub label: [crate::ctypes::c_char; 256usize], +pub cache_generation: __le64, +pub uuid_tree_generation: __le64, +pub metadata_uuid: [__u8; 16usize], +pub nr_global_roots: __u64, +pub reserved: [__le64; 27usize], +pub sys_chunk_array: [__u8; 2048usize], +pub super_roots: [btrfs_root_backup; 4usize], +pub padding: [__u8; 565usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_entry { +pub offset: __le64, +pub bytes: __le64, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_header { +pub location: btrfs_disk_key, +pub generation: __le64, +pub num_entries: __le64, +pub num_bitmaps: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_raid_stride { +pub devid: __le64, +pub physical: __le64, +} +#[repr(C, packed)] +pub struct btrfs_stripe_extent { +pub encoding: __u8, +pub reserved: [__u8; 7usize], +pub strides: __IncompleteArrayField, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item { +pub refs: __le64, +pub generation: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_item_v0 { +pub refs: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_tree_block_info { +pub key: btrfs_disk_key, +pub level: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_data_ref { +pub root: __le64, +pub objectid: __le64, +pub offset: __le64, +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_shared_data_ref { +pub count: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_owner_ref { +pub root_id: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_extent_inline_ref { +pub type_: __u8, +pub offset: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_extent { +pub chunk_tree: __le64, +pub chunk_objectid: __le64, +pub chunk_offset: __le64, +pub length: __le64, +pub chunk_tree_uuid: [__u8; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_ref { +pub index: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +pub struct btrfs_inode_extref { +pub parent_objectid: __le64, +pub index: __le64, +pub name_len: __le16, +pub name: __IncompleteArrayField<__u8>, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_timespec { +pub sec: __le64, +pub nsec: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_inode_item { +pub generation: __le64, +pub transid: __le64, +pub size: __le64, +pub nbytes: __le64, +pub block_group: __le64, +pub nlink: __le32, +pub uid: __le32, +pub gid: __le32, +pub mode: __le32, +pub rdev: __le64, +pub flags: __le64, +pub sequence: __le64, +pub reserved: [__le64; 4usize], +pub atime: btrfs_timespec, +pub ctime: btrfs_timespec, +pub mtime: btrfs_timespec, +pub otime: btrfs_timespec, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_log_item { +pub end: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dir_item { +pub location: btrfs_disk_key, +pub transid: __le64, +pub data_len: __le16, +pub name_len: __le16, +pub type_: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_item { +pub inode: btrfs_inode_item, +pub generation: __le64, +pub root_dirid: __le64, +pub bytenr: __le64, +pub byte_limit: __le64, +pub bytes_used: __le64, +pub last_snapshot: __le64, +pub flags: __le64, +pub refs: __le32, +pub drop_progress: btrfs_disk_key, +pub drop_level: __u8, +pub level: __u8, +pub generation_v2: __le64, +pub uuid: [__u8; 16usize], +pub parent_uuid: [__u8; 16usize], +pub received_uuid: [__u8; 16usize], +pub ctransid: __le64, +pub otransid: __le64, +pub stransid: __le64, +pub rtransid: __le64, +pub ctime: btrfs_timespec, +pub otime: btrfs_timespec, +pub stime: btrfs_timespec, +pub rtime: btrfs_timespec, +pub reserved: [__le64; 8usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_root_ref { +pub dirid: __le64, +pub sequence: __le64, +pub name_len: __le16, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_disk_balance_args { +pub profiles: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1, +pub devid: __le64, +pub pstart: __le64, +pub pend: __le64, +pub vstart: __le64, +pub vend: __le64, +pub target: __le64, +pub flags: __le64, +pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2, +pub stripes_min: __le32, +pub stripes_max: __le32, +pub unused: [__le64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 { +pub usage_min: __le32, +pub usage_max: __le32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 { +pub limit_min: __le32, +pub limit_max: __le32, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct btrfs_balance_item { +pub flags: __le64, +pub data: btrfs_disk_balance_args, +pub meta: btrfs_disk_balance_args, +pub sys: btrfs_disk_balance_args, +pub unused: [__le64; 4usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_file_extent_item { +pub generation: __le64, +pub ram_bytes: __le64, +pub compression: __u8, +pub encryption: __u8, +pub other_encoding: __le16, +pub type_: __u8, +pub disk_bytenr: __le64, +pub disk_num_bytes: __le64, +pub offset: __le64, +pub num_bytes: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_csum_item { +pub csum: __u8, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_stats_item { +pub values: [__le64; 5usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_dev_replace_item { +pub src_devid: __le64, +pub cursor_left: __le64, +pub cursor_right: __le64, +pub cont_reading_from_srcdev_mode: __le64, +pub replace_state: __le64, +pub time_started: __le64, +pub time_stopped: __le64, +pub num_write_errors: __le64, +pub num_uncorrectable_read_errors: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_block_group_item { +pub used: __le64, +pub chunk_objectid: __le64, +pub flags: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_free_space_info { +pub extent_count: __le32, +pub flags: __le32, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_status_item { +pub version: __le64, +pub generation: __le64, +pub flags: __le64, +pub rescan: __le64, +pub enable_gen: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_info_item { +pub generation: __le64, +pub rfer: __le64, +pub rfer_cmpr: __le64, +pub excl: __le64, +pub excl_cmpr: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_qgroup_limit_item { +pub flags: __le64, +pub max_rfer: __le64, +pub max_excl: __le64, +pub rsv_rfer: __le64, +pub rsv_excl: __le64, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct btrfs_verity_descriptor_item { +pub size: __le64, +pub reserved: [__le64; 2usize], +pub encryption: __u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { +pub _address: u8, +} +pub const _IOC_NRBITS: u32 = 8; +pub const _IOC_TYPEBITS: u32 = 8; +pub const _IOC_SIZEBITS: u32 = 14; +pub const _IOC_DIRBITS: u32 = 2; +pub const _IOC_NRMASK: u32 = 255; +pub const _IOC_TYPEMASK: u32 = 255; +pub const _IOC_SIZEMASK: u32 = 16383; +pub const _IOC_DIRMASK: u32 = 3; +pub const _IOC_NRSHIFT: u32 = 0; +pub const _IOC_TYPESHIFT: u32 = 8; +pub const _IOC_SIZESHIFT: u32 = 16; +pub const _IOC_DIRSHIFT: u32 = 30; +pub const _IOC_NONE: u32 = 0; +pub const _IOC_WRITE: u32 = 1; +pub const _IOC_READ: u32 = 2; +pub const IOC_IN: u32 = 1073741824; +pub const IOC_OUT: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const IOCSIZE_MASK: u32 = 1073676288; +pub const IOCSIZE_SHIFT: u32 = 16; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8; +pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16; +pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1; +pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4; +pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5; +pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6; +pub const FSCRYPT_MODE_SM4_XTS: u32 = 7; +pub const FSCRYPT_MODE_SM4_CTS: u32 = 8; +pub const FSCRYPT_MODE_ADIANTUM: u32 = 9; +pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10; +pub const FSCRYPT_POLICY_V1: u32 = 0; +pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64; +pub const FSCRYPT_POLICY_V2: u32 = 2; +pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16; +pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1; +pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1; +pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2; +pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1; +pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2; +pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3; +pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1; +pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8; +pub const FS_POLICY_FLAGS_PAD_4: u32 = 0; +pub const FS_POLICY_FLAGS_PAD_8: u32 = 1; +pub const FS_POLICY_FLAGS_PAD_16: u32 = 2; +pub const FS_POLICY_FLAGS_PAD_32: u32 = 3; +pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3; +pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4; +pub const FS_POLICY_FLAGS_VALID: u32 = 7; +pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0; +pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1; +pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2; +pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3; +pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4; +pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5; +pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6; +pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; +pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0"; +pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8; +pub const FS_MAX_KEY_SIZE: u32 = 64; +pub const MS_RDONLY: u32 = 1; +pub const MS_NOSUID: u32 = 2; +pub const MS_NODEV: u32 = 4; +pub const MS_NOEXEC: u32 = 8; +pub const MS_SYNCHRONOUS: u32 = 16; +pub const MS_REMOUNT: u32 = 32; +pub const MS_MANDLOCK: u32 = 64; +pub const MS_DIRSYNC: u32 = 128; +pub const MS_NOSYMFOLLOW: u32 = 256; +pub const MS_NOATIME: u32 = 1024; +pub const MS_NODIRATIME: u32 = 2048; +pub const MS_BIND: u32 = 4096; +pub const MS_MOVE: u32 = 8192; +pub const MS_REC: u32 = 16384; +pub const MS_VERBOSE: u32 = 32768; +pub const MS_SILENT: u32 = 32768; +pub const MS_POSIXACL: u32 = 65536; +pub const MS_UNBINDABLE: u32 = 131072; +pub const MS_PRIVATE: u32 = 262144; +pub const MS_SLAVE: u32 = 524288; +pub const MS_SHARED: u32 = 1048576; +pub const MS_RELATIME: u32 = 2097152; +pub const MS_KERNMOUNT: u32 = 4194304; +pub const MS_I_VERSION: u32 = 8388608; +pub const MS_STRICTATIME: u32 = 16777216; +pub const MS_LAZYTIME: u32 = 33554432; +pub const MS_SUBMOUNT: u32 = 67108864; +pub const MS_NOREMOTELOCK: u32 = 134217728; +pub const MS_NOSEC: u32 = 268435456; +pub const MS_BORN: u32 = 536870912; +pub const MS_ACTIVE: u32 = 1073741824; +pub const MS_NOUSER: u32 = 2147483648; +pub const MS_RMT_MASK: u32 = 41943121; +pub const MS_MGC_VAL: u32 = 3236757504; +pub const MS_MGC_MSK: u32 = 4294901760; +pub const OPEN_TREE_CLONE: u32 = 1; +pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1; +pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2; +pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4; +pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16; +pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32; +pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64; +pub const MOVE_MOUNT_SET_GROUP: u32 = 256; +pub const MOVE_MOUNT_BENEATH: u32 = 512; +pub const MOVE_MOUNT__MASK: u32 = 887; +pub const FSOPEN_CLOEXEC: u32 = 1; +pub const FSPICK_CLOEXEC: u32 = 1; +pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2; +pub const FSPICK_NO_AUTOMOUNT: u32 = 4; +pub const FSPICK_EMPTY_PATH: u32 = 8; +pub const FSMOUNT_CLOEXEC: u32 = 1; +pub const MOUNT_ATTR_RDONLY: u32 = 1; +pub const MOUNT_ATTR_NOSUID: u32 = 2; +pub const MOUNT_ATTR_NODEV: u32 = 4; +pub const MOUNT_ATTR_NOEXEC: u32 = 8; +pub const MOUNT_ATTR__ATIME: u32 = 112; +pub const MOUNT_ATTR_RELATIME: u32 = 0; +pub const MOUNT_ATTR_NOATIME: u32 = 16; +pub const MOUNT_ATTR_STRICTATIME: u32 = 32; +pub const MOUNT_ATTR_NODIRATIME: u32 = 128; +pub const MOUNT_ATTR_IDMAP: u32 = 1048576; +pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152; +pub const MOUNT_ATTR_SIZE_VER0: u32 = 32; +pub const MNT_ID_REQ_SIZE_VER0: u32 = 24; +pub const STATMOUNT_SB_BASIC: u32 = 1; +pub const STATMOUNT_MNT_BASIC: u32 = 2; +pub const STATMOUNT_PROPAGATE_FROM: u32 = 4; +pub const STATMOUNT_MNT_ROOT: u32 = 8; +pub const STATMOUNT_MNT_POINT: u32 = 16; +pub const STATMOUNT_FS_TYPE: u32 = 32; +pub const LSMT_ROOT: i32 = -1; +pub const INR_OPEN_CUR: u32 = 1024; +pub const INR_OPEN_MAX: u32 = 4096; +pub const BLOCK_SIZE_BITS: u32 = 10; +pub const BLOCK_SIZE: u32 = 1024; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_DATA: u32 = 3; +pub const SEEK_HOLE: u32 = 4; +pub const SEEK_MAX: u32 = 4; +pub const RENAME_NOREPLACE: u32 = 1; +pub const RENAME_EXCHANGE: u32 = 2; +pub const RENAME_WHITEOUT: u32 = 4; +pub const FILE_DEDUPE_RANGE_SAME: u32 = 0; +pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1; +pub const NR_FILE: u32 = 8192; +pub const FS_XFLAG_REALTIME: u32 = 1; +pub const FS_XFLAG_PREALLOC: u32 = 2; +pub const FS_XFLAG_IMMUTABLE: u32 = 8; +pub const FS_XFLAG_APPEND: u32 = 16; +pub const FS_XFLAG_SYNC: u32 = 32; +pub const FS_XFLAG_NOATIME: u32 = 64; +pub const FS_XFLAG_NODUMP: u32 = 128; +pub const FS_XFLAG_RTINHERIT: u32 = 256; +pub const FS_XFLAG_PROJINHERIT: u32 = 512; +pub const FS_XFLAG_NOSYMLINKS: u32 = 1024; +pub const FS_XFLAG_EXTSIZE: u32 = 2048; +pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096; +pub const FS_XFLAG_NODEFRAG: u32 = 8192; +pub const FS_XFLAG_FILESTREAM: u32 = 16384; +pub const FS_XFLAG_DAX: u32 = 32768; +pub const FS_XFLAG_COWEXTSIZE: u32 = 65536; +pub const FS_XFLAG_HASATTR: u32 = 2147483648; +pub const BMAP_IOCTL: u32 = 1; +pub const FSLABEL_MAX: u32 = 256; +pub const FS_SECRM_FL: u32 = 1; +pub const FS_UNRM_FL: u32 = 2; +pub const FS_COMPR_FL: u32 = 4; +pub const FS_SYNC_FL: u32 = 8; +pub const FS_IMMUTABLE_FL: u32 = 16; +pub const FS_APPEND_FL: u32 = 32; +pub const FS_NODUMP_FL: u32 = 64; +pub const FS_NOATIME_FL: u32 = 128; +pub const FS_DIRTY_FL: u32 = 256; +pub const FS_COMPRBLK_FL: u32 = 512; +pub const FS_NOCOMP_FL: u32 = 1024; +pub const FS_ENCRYPT_FL: u32 = 2048; +pub const FS_BTREE_FL: u32 = 4096; +pub const FS_INDEX_FL: u32 = 4096; +pub const FS_IMAGIC_FL: u32 = 8192; +pub const FS_JOURNAL_DATA_FL: u32 = 16384; +pub const FS_NOTAIL_FL: u32 = 32768; +pub const FS_DIRSYNC_FL: u32 = 65536; +pub const FS_TOPDIR_FL: u32 = 131072; +pub const FS_HUGE_FILE_FL: u32 = 262144; +pub const FS_EXTENT_FL: u32 = 524288; +pub const FS_VERITY_FL: u32 = 1048576; +pub const FS_EA_INODE_FL: u32 = 2097152; +pub const FS_EOFBLOCKS_FL: u32 = 4194304; +pub const FS_NOCOW_FL: u32 = 8388608; +pub const FS_DAX_FL: u32 = 33554432; +pub const FS_INLINE_DATA_FL: u32 = 268435456; +pub const FS_PROJINHERIT_FL: u32 = 536870912; +pub const FS_CASEFOLD_FL: u32 = 1073741824; +pub const FS_RESERVED_FL: u32 = 2147483648; +pub const FS_FL_USER_VISIBLE: u32 = 253951; +pub const FS_FL_USER_MODIFIABLE: u32 = 229631; +pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1; +pub const SYNC_FILE_RANGE_WRITE: u32 = 2; +pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4; +pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7; +pub const PAGE_IS_WPALLOWED: u32 = 1; +pub const PAGE_IS_WRITTEN: u32 = 2; +pub const PAGE_IS_FILE: u32 = 4; +pub const PAGE_IS_PRESENT: u32 = 8; +pub const PAGE_IS_SWAPPED: u32 = 16; +pub const PAGE_IS_PFNZERO: u32 = 32; +pub const PAGE_IS_HUGE: u32 = 64; +pub const PAGE_IS_SOFT_DIRTY: u32 = 128; +pub const PM_SCAN_WP_MATCHING: u32 = 1; +pub const PM_SCAN_CHECK_WPASYNC: u32 = 2; +pub const BTRFS_IOCTL_MAGIC: u32 = 148; +pub const BTRFS_VOL_NAME_MAX: u32 = 255; +pub const BTRFS_LABEL_SIZE: u32 = 256; +pub const BTRFS_PATH_NAME_MAX: u32 = 4087; +pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024; +pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039; +pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1; +pub const BTRFS_SUBVOL_RDONLY: u32 = 2; +pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4; +pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8; +pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16; +pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30; +pub const BTRFS_FSID_SIZE: u32 = 16; +pub const BTRFS_UUID_SIZE: u32 = 16; +pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37; +pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1; +pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2; +pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4; +pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8; +pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16; +pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32; +pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1; +pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8; +pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6; +pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16; +pub const BTRFS_SCRUB_READONLY: u32 = 1; +pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3; +pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2; +pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3; +pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1; +pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2; +pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1; +pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2; +pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4; +pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1; +pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2; +pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8; +pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16; +pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32; +pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64; +pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128; +pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256; +pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512; +pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024; +pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048; +pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096; +pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192; +pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384; +pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536; +pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1; +pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2; +pub const BTRFS_BALANCE_DATA: u32 = 1; +pub const BTRFS_BALANCE_SYSTEM: u32 = 2; +pub const BTRFS_BALANCE_METADATA: u32 = 4; +pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7; +pub const BTRFS_BALANCE_FORCE: u32 = 8; +pub const BTRFS_BALANCE_RESUME: u32 = 16; +pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1; +pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2; +pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4; +pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8; +pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16; +pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32; +pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64; +pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128; +pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024; +pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279; +pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256; +pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512; +pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1; +pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2; +pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4; +pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080; +pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824; +pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1; +pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2; +pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 3; +pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1; +pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1; +pub const BTRFS_DEV_STATS_RESET: u32 = 1; +pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1; +pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2; +pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3; +pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4; +pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1; +pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2; +pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4; +pub const BTRFS_SEND_FLAG_VERSION: u32 = 8; +pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16; +pub const BTRFS_SEND_FLAG_MASK: u32 = 31; +pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255; +pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1; +pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6; +pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7; +pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8; +pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0; +pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1; +pub const BTRFS_MAGIC: u64 = 5575266562640200287; +pub const BTRFS_MAX_LEVEL: u32 = 8; +pub const BTRFS_NAME_LEN: u32 = 255; +pub const BTRFS_LINK_MAX: u32 = 65535; +pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1; +pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2; +pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3; +pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4; +pub const BTRFS_FS_TREE_OBJECTID: u32 = 5; +pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6; +pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7; +pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8; +pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9; +pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10; +pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11; +pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12; +pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0; +pub const BTRFS_BALANCE_OBJECTID: i32 = -4; +pub const BTRFS_ORPHAN_OBJECTID: i32 = -5; +pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6; +pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7; +pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8; +pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9; +pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10; +pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11; +pub const BTRFS_FREE_INO_OBJECTID: i32 = -12; +pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255; +pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256; +pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256; +pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256; +pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1; +pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1; +pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2; +pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0; +pub const BTRFS_INODE_ITEM_KEY: u32 = 1; +pub const BTRFS_INODE_REF_KEY: u32 = 12; +pub const BTRFS_INODE_EXTREF_KEY: u32 = 13; +pub const BTRFS_XATTR_ITEM_KEY: u32 = 24; +pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36; +pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37; +pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48; +pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60; +pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72; +pub const BTRFS_DIR_ITEM_KEY: u32 = 84; +pub const BTRFS_DIR_INDEX_KEY: u32 = 96; +pub const BTRFS_EXTENT_DATA_KEY: u32 = 108; +pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128; +pub const BTRFS_ROOT_ITEM_KEY: u32 = 132; +pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144; +pub const BTRFS_ROOT_REF_KEY: u32 = 156; +pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168; +pub const BTRFS_METADATA_ITEM_KEY: u32 = 169; +pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172; +pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176; +pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178; +pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182; +pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184; +pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192; +pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198; +pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199; +pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200; +pub const BTRFS_DEV_EXTENT_KEY: u32 = 204; +pub const BTRFS_DEV_ITEM_KEY: u32 = 216; +pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228; +pub const BTRFS_RAID_STRIPE_KEY: u32 = 230; +pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240; +pub const BTRFS_QGROUP_INFO_KEY: u32 = 242; +pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244; +pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246; +pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248; +pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248; +pub const BTRFS_DEV_STATS_KEY: u32 = 249; +pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249; +pub const BTRFS_DEV_REPLACE_KEY: u32 = 250; +pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251; +pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252; +pub const BTRFS_STRING_ITEM_KEY: u32 = 253; +pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536; +pub const BTRFS_CSUM_SIZE: u32 = 32; +pub const BTRFS_FT_UNKNOWN: u32 = 0; +pub const BTRFS_FT_REG_FILE: u32 = 1; +pub const BTRFS_FT_DIR: u32 = 2; +pub const BTRFS_FT_CHRDEV: u32 = 3; +pub const BTRFS_FT_BLKDEV: u32 = 4; +pub const BTRFS_FT_FIFO: u32 = 5; +pub const BTRFS_FT_SOCK: u32 = 6; +pub const BTRFS_FT_SYMLINK: u32 = 7; +pub const BTRFS_FT_XATTR: u32 = 8; +pub const BTRFS_FT_MAX: u32 = 9; +pub const BTRFS_FT_ENCRYPTED: u32 = 128; +pub const BTRFS_INODE_NODATASUM: u32 = 1; +pub const BTRFS_INODE_NODATACOW: u32 = 2; +pub const BTRFS_INODE_READONLY: u32 = 4; +pub const BTRFS_INODE_NOCOMPRESS: u32 = 8; +pub const BTRFS_INODE_PREALLOC: u32 = 16; +pub const BTRFS_INODE_SYNC: u32 = 32; +pub const BTRFS_INODE_IMMUTABLE: u32 = 64; +pub const BTRFS_INODE_APPEND: u32 = 128; +pub const BTRFS_INODE_NODUMP: u32 = 256; +pub const BTRFS_INODE_NOATIME: u32 = 512; +pub const BTRFS_INODE_DIRSYNC: u32 = 1024; +pub const BTRFS_INODE_COMPRESS: u32 = 2048; +pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648; +pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743; +pub const BTRFS_INODE_RO_VERITY: u32 = 1; +pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1; +pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048; +pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4; +pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1; +pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2; +pub const BTRFS_STRIPE_RAID0: u32 = 1; +pub const BTRFS_STRIPE_RAID1: u32 = 2; +pub const BTRFS_STRIPE_DUP: u32 = 3; +pub const BTRFS_STRIPE_RAID10: u32 = 4; +pub const BTRFS_STRIPE_RAID5: u32 = 5; +pub const BTRFS_STRIPE_RAID6: u32 = 6; +pub const BTRFS_STRIPE_RAID1C3: u32 = 7; +pub const BTRFS_STRIPE_RAID1C4: u32 = 8; +pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1; +pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2; +pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4; +pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296; +pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592; +pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368; +pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736; +pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1; +pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2; +pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256; +pub const BTRFS_BACKREF_REV_MAX: u32 = 256; +pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56; +pub const BTRFS_OLD_BACKREF_REV: u32 = 0; +pub const BTRFS_MIXED_BACKREF_REV: u32 = 1; +pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656; +pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1; +pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0; +pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1; +pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1; +pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2; +pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4; +pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8; +pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16; +pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32; +pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64; +pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128; +pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256; +pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512; +pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024; +pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7; +pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040; +pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384; +pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552; +pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656; +pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312; +pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696; +pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1; +pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48; +pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1; +pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2; +pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4; +pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8; +pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15; +pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1; +pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE; +pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG; +pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC; +pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum fsconfig_command { +FSCONFIG_SET_FLAG = 0, +FSCONFIG_SET_STRING = 1, +FSCONFIG_SET_BINARY = 2, +FSCONFIG_SET_PATH = 3, +FSCONFIG_SET_PATH_EMPTY = 4, +FSCONFIG_SET_FD = 5, +FSCONFIG_CMD_CREATE = 6, +FSCONFIG_CMD_RECONFIGURE = 7, +FSCONFIG_CMD_CREATE_EXCL = 8, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_dev_stat_values { +BTRFS_DEV_STAT_WRITE_ERRS = 0, +BTRFS_DEV_STAT_READ_ERRS = 1, +BTRFS_DEV_STAT_FLUSH_ERRS = 2, +BTRFS_DEV_STAT_CORRUPTION_ERRS = 3, +BTRFS_DEV_STAT_GENERATION_ERRS = 4, +BTRFS_DEV_STAT_VALUES_MAX = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_err_code { +BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, +BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2, +BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3, +BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4, +BTRFS_ERROR_DEV_TGT_REPLACE = 5, +BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6, +BTRFS_ERROR_DEV_ONLY_WRITABLE = 7, +BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8, +BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9, +BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btrfs_csum_type { +BTRFS_CSUM_TYPE_CRC32 = 0, +BTRFS_CSUM_TYPE_XXHASH = 1, +BTRFS_CSUM_TYPE_SHA256 = 2, +BTRFS_CSUM_TYPE_BLAKE2 = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +BTRFS_FILE_EXTENT_INLINE = 0, +BTRFS_FILE_EXTENT_REG = 1, +BTRFS_FILE_EXTENT_PREALLOC = 2, +BTRFS_NR_FILE_EXTENT_TYPES = 3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 { +pub version: __u8, +pub v1: fscrypt_policy_v1, +pub v2: fscrypt_policy_v2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { +pub __reserved: [__u8; 32usize], +pub descriptor: [__u8; 8usize], +pub identifier: [__u8; 16usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 { +pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1, +pub unused: [__u64; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 { +pub name: [crate::ctypes::c_char; 4040usize], +pub devid: __u64, +pub subvolid: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 { +pub start: btrfs_ioctl_dev_replace_start_params, +pub status: btrfs_ioctl_dev_replace_status_params, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_1 { +pub usage: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_balance_args__bindgen_ty_2 { +pub limit: __u64, +pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_1 { +pub usage: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btrfs_disk_balance_args__bindgen_ty_2 { +pub limit: __le64, +pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1, +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +}