/* automatically generated by rust-bindgen 0.59.1 */ #[repr(C)] #[derive(Default)] pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; 0]); impl __IncompleteArrayField { #[inline] pub const fn new() -> Self { __IncompleteArrayField(::std::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] { ::std::slice::from_raw_parts(self.as_ptr(), len) } #[inline] pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } } impl ::std::fmt::Debug for __IncompleteArrayField { fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { fmt.write_str("__IncompleteArrayField") } } pub type __kernel_sighandler_t = ::std::option::Option; pub type __kernel_key_t = ::std::os::raw::c_int; pub type __kernel_mqd_t = ::std::os::raw::c_int; pub type __kernel_old_uid_t = ::std::os::raw::c_ushort; pub type __kernel_old_gid_t = ::std::os::raw::c_ushort; pub type __kernel_old_dev_t = ::std::os::raw::c_ulong; pub type __kernel_long_t = ::std::os::raw::c_long; pub type __kernel_ulong_t = ::std::os::raw::c_ulong; pub type __kernel_ino_t = __kernel_ulong_t; pub type __kernel_mode_t = ::std::os::raw::c_uint; pub type __kernel_pid_t = ::std::os::raw::c_int; pub type __kernel_ipc_pid_t = ::std::os::raw::c_int; pub type __kernel_uid_t = ::std::os::raw::c_uint; pub type __kernel_gid_t = ::std::os::raw::c_uint; pub type __kernel_suseconds_t = __kernel_long_t; pub type __kernel_daddr_t = ::std::os::raw::c_int; pub type __kernel_uid32_t = ::std::os::raw::c_uint; pub type __kernel_gid32_t = ::std::os::raw::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; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __kernel_fsid_t { pub val: [::std::os::raw::c_int; 2usize], } #[test] fn bindgen_test_layout___kernel_fsid_t() { assert_eq!( ::std::mem::size_of::<__kernel_fsid_t>(), 8usize, concat!("Size of: ", stringify!(__kernel_fsid_t)) ); assert_eq!( ::std::mem::align_of::<__kernel_fsid_t>(), 4usize, concat!("Alignment of ", stringify!(__kernel_fsid_t)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fsid_t), "::", stringify!(val) ) ); } pub type __kernel_off_t = __kernel_long_t; pub type __kernel_loff_t = ::std::os::raw::c_longlong; pub type __kernel_old_time_t = __kernel_long_t; pub type __kernel_time_t = __kernel_long_t; pub type __kernel_time64_t = ::std::os::raw::c_longlong; pub type __kernel_clock_t = __kernel_long_t; pub type __kernel_timer_t = ::std::os::raw::c_int; pub type __kernel_clockid_t = ::std::os::raw::c_int; pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; pub type __kernel_uid16_t = ::std::os::raw::c_ushort; pub type __kernel_gid16_t = ::std::os::raw::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 = ::std::os::raw::c_uint; #[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], } #[test] fn bindgen_test_layout_fscrypt_policy_v1() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(fscrypt_policy_v1)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(fscrypt_policy_v1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_policy_v1), "::", stringify!(version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).contents_encryption_mode as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(fscrypt_policy_v1), "::", stringify!(contents_encryption_mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).filenames_encryption_mode as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(fscrypt_policy_v1), "::", stringify!(filenames_encryption_mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(fscrypt_policy_v1), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).master_key_descriptor as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(fscrypt_policy_v1), "::", stringify!(master_key_descriptor) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct fscrypt_key { pub mode: __u32, pub raw: [__u8; 64usize], pub size: __u32, } #[test] fn bindgen_test_layout_fscrypt_key() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(fscrypt_key)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(fscrypt_key)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_key), "::", stringify!(mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).raw as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(fscrypt_key), "::", stringify!(raw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(fscrypt_key), "::", stringify!(size) ) ); } #[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 __reserved: [__u8; 4usize], pub master_key_identifier: [__u8; 16usize], } #[test] fn bindgen_test_layout_fscrypt_policy_v2() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(fscrypt_policy_v2)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(fscrypt_policy_v2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_policy_v2), "::", stringify!(version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).contents_encryption_mode as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(fscrypt_policy_v2), "::", stringify!(contents_encryption_mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).filenames_encryption_mode as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(fscrypt_policy_v2), "::", stringify!(filenames_encryption_mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(fscrypt_policy_v2), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(fscrypt_policy_v2), "::", stringify!(__reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).master_key_identifier as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(fscrypt_policy_v2), "::", stringify!(master_key_identifier) ) ); } #[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 union fscrypt_get_policy_ex_arg__bindgen_ty_1 { pub version: __u8, pub v1: fscrypt_policy_v1, pub v2: fscrypt_policy_v2, } #[test] fn bindgen_test_layout_fscrypt_get_policy_ex_arg__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!( "Size of: ", stringify!(fscrypt_get_policy_ex_arg__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(fscrypt_get_policy_ex_arg__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_get_policy_ex_arg__bindgen_ty_1), "::", stringify!(version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).v1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_get_policy_ex_arg__bindgen_ty_1), "::", stringify!(v1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).v2 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_get_policy_ex_arg__bindgen_ty_1), "::", stringify!(v2) ) ); } #[test] fn bindgen_test_layout_fscrypt_get_policy_ex_arg() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(fscrypt_get_policy_ex_arg)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(fscrypt_get_policy_ex_arg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).policy_size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_get_policy_ex_arg), "::", stringify!(policy_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).policy as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(fscrypt_get_policy_ex_arg), "::", stringify!(policy) ) ); } #[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(Copy, Clone)] pub union fscrypt_key_specifier__bindgen_ty_1 { pub __reserved: [__u8; 32usize], pub descriptor: [__u8; 8usize], pub identifier: [__u8; 16usize], } #[test] fn bindgen_test_layout_fscrypt_key_specifier__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(fscrypt_key_specifier__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(fscrypt_key_specifier__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_key_specifier__bindgen_ty_1), "::", stringify!(__reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).descriptor as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_key_specifier__bindgen_ty_1), "::", stringify!(descriptor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).identifier as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_key_specifier__bindgen_ty_1), "::", stringify!(identifier) ) ); } #[test] fn bindgen_test_layout_fscrypt_key_specifier() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(fscrypt_key_specifier)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(fscrypt_key_specifier)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_key_specifier), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(fscrypt_key_specifier), "::", stringify!(__reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(fscrypt_key_specifier), "::", stringify!(u) ) ); } #[repr(C)] #[derive(Debug)] pub struct fscrypt_provisioning_key_payload { pub type_: __u32, pub __reserved: __u32, pub raw: __IncompleteArrayField<__u8>, } #[test] fn bindgen_test_layout_fscrypt_provisioning_key_payload() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(fscrypt_provisioning_key_payload)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(fscrypt_provisioning_key_payload) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_provisioning_key_payload), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(fscrypt_provisioning_key_payload), "::", stringify!(__reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).raw as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(fscrypt_provisioning_key_payload), "::", stringify!(raw) ) ); } #[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>, } #[test] fn bindgen_test_layout_fscrypt_add_key_arg() { assert_eq!( ::std::mem::size_of::(), 80usize, concat!("Size of: ", stringify!(fscrypt_add_key_arg)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(fscrypt_add_key_arg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).key_spec as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_add_key_arg), "::", stringify!(key_spec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).raw_size as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(fscrypt_add_key_arg), "::", stringify!(raw_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).key_id as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(fscrypt_add_key_arg), "::", stringify!(key_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(fscrypt_add_key_arg), "::", stringify!(__reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).raw as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(fscrypt_add_key_arg), "::", stringify!(raw) ) ); } #[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], } #[test] fn bindgen_test_layout_fscrypt_remove_key_arg() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(fscrypt_remove_key_arg)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(fscrypt_remove_key_arg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).key_spec as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_remove_key_arg), "::", stringify!(key_spec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).removal_status_flags as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(fscrypt_remove_key_arg), "::", stringify!(removal_status_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(fscrypt_remove_key_arg), "::", stringify!(__reserved) ) ); } #[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], } #[test] fn bindgen_test_layout_fscrypt_get_key_status_arg() { assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(fscrypt_get_key_status_arg)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(fscrypt_get_key_status_arg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).key_spec as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fscrypt_get_key_status_arg), "::", stringify!(key_spec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(fscrypt_get_key_status_arg), "::", stringify!(__reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(fscrypt_get_key_status_arg), "::", stringify!(status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status_flags as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(fscrypt_get_key_status_arg), "::", stringify!(status_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).user_count as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(fscrypt_get_key_status_arg), "::", stringify!(user_count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__out_reserved as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(fscrypt_get_key_status_arg), "::", stringify!(__out_reserved) ) ); } pub const fsconfig_command_FSCONFIG_SET_FLAG: fsconfig_command = 0; pub const fsconfig_command_FSCONFIG_SET_STRING: fsconfig_command = 1; pub const fsconfig_command_FSCONFIG_SET_BINARY: fsconfig_command = 2; pub const fsconfig_command_FSCONFIG_SET_PATH: fsconfig_command = 3; pub const fsconfig_command_FSCONFIG_SET_PATH_EMPTY: fsconfig_command = 4; pub const fsconfig_command_FSCONFIG_SET_FD: fsconfig_command = 5; pub const fsconfig_command_FSCONFIG_CMD_CREATE: fsconfig_command = 6; pub const fsconfig_command_FSCONFIG_CMD_RECONFIGURE: fsconfig_command = 7; pub type fsconfig_command = ::std::os::raw::c_uint; #[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, } #[test] fn bindgen_test_layout_mount_attr() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(mount_attr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(mount_attr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).attr_set as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(mount_attr), "::", stringify!(attr_set) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).attr_clr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(mount_attr), "::", stringify!(attr_clr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).propagation as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(mount_attr), "::", stringify!(propagation) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).userns_fd as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(mount_attr), "::", stringify!(userns_fd) ) ); } #[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, } #[test] fn bindgen_test_layout_file_clone_range() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(file_clone_range)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(file_clone_range)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).src_fd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(file_clone_range), "::", stringify!(src_fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).src_offset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(file_clone_range), "::", stringify!(src_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).src_length as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(file_clone_range), "::", stringify!(src_length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dest_offset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(file_clone_range), "::", stringify!(dest_offset) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct fstrim_range { pub start: __u64, pub len: __u64, pub minlen: __u64, } #[test] fn bindgen_test_layout_fstrim_range() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(fstrim_range)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(fstrim_range)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fstrim_range), "::", stringify!(start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(fstrim_range), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).minlen as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(fstrim_range), "::", stringify!(minlen) ) ); } #[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, } #[test] fn bindgen_test_layout_file_dedupe_range_info() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(file_dedupe_range_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(file_dedupe_range_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dest_fd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(file_dedupe_range_info), "::", stringify!(dest_fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dest_offset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(file_dedupe_range_info), "::", stringify!(dest_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bytes_deduped as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(file_dedupe_range_info), "::", stringify!(bytes_deduped) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(file_dedupe_range_info), "::", stringify!(status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(file_dedupe_range_info), "::", stringify!(reserved) ) ); } #[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, } #[test] fn bindgen_test_layout_file_dedupe_range() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(file_dedupe_range)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(file_dedupe_range)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).src_offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(file_dedupe_range), "::", stringify!(src_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).src_length as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(file_dedupe_range), "::", stringify!(src_length) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dest_count as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(file_dedupe_range), "::", stringify!(dest_count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved1 as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(file_dedupe_range), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved2 as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(file_dedupe_range), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).info as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(file_dedupe_range), "::", stringify!(info) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct files_stat_struct { pub nr_files: ::std::os::raw::c_ulong, pub nr_free_files: ::std::os::raw::c_ulong, pub max_files: ::std::os::raw::c_ulong, } #[test] fn bindgen_test_layout_files_stat_struct() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(files_stat_struct)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(files_stat_struct)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr_files as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(files_stat_struct), "::", stringify!(nr_files) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr_free_files as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(files_stat_struct), "::", stringify!(nr_free_files) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).max_files as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(files_stat_struct), "::", stringify!(max_files) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct inodes_stat_t { pub nr_inodes: ::std::os::raw::c_long, pub nr_unused: ::std::os::raw::c_long, pub dummy: [::std::os::raw::c_long; 5usize], } #[test] fn bindgen_test_layout_inodes_stat_t() { assert_eq!( ::std::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(inodes_stat_t)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(inodes_stat_t)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr_inodes as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(inodes_stat_t), "::", stringify!(nr_inodes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr_unused as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(inodes_stat_t), "::", stringify!(nr_unused) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dummy as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(inodes_stat_t), "::", stringify!(dummy) ) ); } #[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: [::std::os::raw::c_uchar; 8usize], } #[test] fn bindgen_test_layout_fsxattr() { assert_eq!( ::std::mem::size_of::(), 28usize, concat!("Size of: ", stringify!(fsxattr)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(fsxattr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsx_xflags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fsxattr), "::", stringify!(fsx_xflags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsx_extsize as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(fsxattr), "::", stringify!(fsx_extsize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsx_nextents as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(fsxattr), "::", stringify!(fsx_nextents) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsx_projid as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(fsxattr), "::", stringify!(fsx_projid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsx_cowextsize as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(fsxattr), "::", stringify!(fsx_cowextsize) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsx_pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(fsxattr), "::", stringify!(fsx_pad) ) ); } pub const IORING_CQE_BUFFER_SHIFT: ::std::os::raw::c_uint = 16; pub type _bindgen_ty_3 = ::std::os::raw::c_uint; pub type _bindgen_ty_4 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct io_uring_files_update { pub offset: __u32, pub resv: __u32, pub fds: __u64, } #[test] fn bindgen_test_layout_io_uring_files_update() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(io_uring_files_update)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(io_uring_files_update)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_files_update), "::", stringify!(offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(io_uring_files_update), "::", stringify!(resv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fds as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(io_uring_files_update), "::", stringify!(fds) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct io_uring_rsrc_update { pub offset: __u32, pub resv: __u32, pub data: __u64, } #[test] fn bindgen_test_layout_io_uring_rsrc_update() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(io_uring_rsrc_update)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(io_uring_rsrc_update)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offset as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_rsrc_update), "::", stringify!(offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(io_uring_rsrc_update), "::", stringify!(resv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(io_uring_rsrc_update), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct io_uring_probe_op { pub op: __u8, pub resv: __u8, pub flags: __u16, pub resv2: __u32, } #[test] fn bindgen_test_layout_io_uring_probe_op() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(io_uring_probe_op)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(io_uring_probe_op)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_probe_op), "::", stringify!(op) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(io_uring_probe_op), "::", stringify!(resv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(io_uring_probe_op), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv2 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(io_uring_probe_op), "::", stringify!(resv2) ) ); } #[repr(C)] #[derive(Debug)] pub struct io_uring_probe { pub last_op: __u8, pub ops_len: __u8, pub resv: __u16, pub resv2: [__u32; 3usize], pub ops: __IncompleteArrayField, } #[test] fn bindgen_test_layout_io_uring_probe() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(io_uring_probe)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(io_uring_probe)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last_op as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_probe), "::", stringify!(last_op) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ops_len as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(io_uring_probe), "::", stringify!(ops_len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(io_uring_probe), "::", stringify!(resv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv2 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(io_uring_probe), "::", stringify!(resv2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ops as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(io_uring_probe), "::", stringify!(ops) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct io_uring_restriction { pub opcode: __u16, pub __bindgen_anon_1: io_uring_restriction__bindgen_ty_1, pub resv: __u8, pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Copy, Clone)] pub union io_uring_restriction__bindgen_ty_1 { pub register_op: __u8, pub sqe_op: __u8, pub sqe_flags: __u8, } #[test] fn bindgen_test_layout_io_uring_restriction__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 1usize, concat!("Size of: ", stringify!(io_uring_restriction__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(io_uring_restriction__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).register_op as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_restriction__bindgen_ty_1), "::", stringify!(register_op) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sqe_op as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_restriction__bindgen_ty_1), "::", stringify!(sqe_op) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sqe_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_restriction__bindgen_ty_1), "::", stringify!(sqe_flags) ) ); } #[test] fn bindgen_test_layout_io_uring_restriction() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(io_uring_restriction)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(io_uring_restriction)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).opcode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_restriction), "::", stringify!(opcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(io_uring_restriction), "::", stringify!(resv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv2 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(io_uring_restriction), "::", stringify!(resv2) ) ); } pub const IORING_RESTRICTION_REGISTER_OP: ::std::os::raw::c_uint = 0; pub const IORING_RESTRICTION_SQE_OP: ::std::os::raw::c_uint = 1; pub const IORING_RESTRICTION_SQE_FLAGS_ALLOWED: ::std::os::raw::c_uint = 2; pub const IORING_RESTRICTION_SQE_FLAGS_REQUIRED: ::std::os::raw::c_uint = 3; pub const IORING_RESTRICTION_LAST: ::std::os::raw::c_uint = 4; pub type _bindgen_ty_5 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, pub pad: __u32, pub ts: __u64, } #[test] fn bindgen_test_layout_io_uring_getevents_arg() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(io_uring_getevents_arg)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(io_uring_getevents_arg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sigmask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_getevents_arg), "::", stringify!(sigmask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sigmask_sz as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(io_uring_getevents_arg), "::", stringify!(sigmask_sz) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(io_uring_getevents_arg), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ts as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(io_uring_getevents_arg), "::", stringify!(ts) ) ); }