/* 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 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 _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 __BITS_PER_LONG: u32 = 64; pub const __FD_SETSIZE: u32 = 1024; 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_ADIANTUM: u32 = 9; pub const FSCRYPT_POLICY_V1: u32 = 0; pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8; pub const FSCRYPT_KEY_DESC_PREFIX: &'static [u8; 9usize] = 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_SPECK128_256_XTS: u32 = 7; pub const FS_ENCRYPTION_MODE_SPECK128_256_CTS: u32 = 8; pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9; pub const FS_KEY_DESC_PREFIX: &'static [u8; 9usize] = 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__MASK: u32 = 119; 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_SIZE_VER0: u32 = 32; 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 IORING_SETUP_IOPOLL: u32 = 1; pub const IORING_SETUP_SQPOLL: u32 = 2; pub const IORING_SETUP_SQ_AFF: u32 = 4; pub const IORING_SETUP_CQSIZE: u32 = 8; pub const IORING_SETUP_CLAMP: u32 = 16; pub const IORING_SETUP_ATTACH_WQ: u32 = 32; pub const IORING_SETUP_R_DISABLED: u32 = 64; pub const IORING_FSYNC_DATASYNC: u32 = 1; pub const IORING_TIMEOUT_ABS: u32 = 1; pub const IORING_TIMEOUT_UPDATE: u32 = 2; pub const SPLICE_F_FD_IN_FIXED: u32 = 2147483648; pub const IORING_CQE_F_BUFFER: u32 = 1; pub const IORING_SQ_NEED_WAKEUP: u32 = 1; pub const IORING_SQ_CQ_OVERFLOW: u32 = 2; pub const IORING_CQ_EVENTFD_DISABLED: u32 = 1; pub const IORING_ENTER_GETEVENTS: u32 = 1; pub const IORING_ENTER_SQ_WAKEUP: u32 = 2; pub const IORING_ENTER_SQ_WAIT: u32 = 4; pub const IORING_ENTER_EXT_ARG: u32 = 8; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; pub const IORING_FEAT_RW_CUR_POS: u32 = 8; pub const IORING_FEAT_CUR_PERSONALITY: u32 = 16; pub const IORING_FEAT_FAST_POLL: u32 = 32; pub const IORING_FEAT_POLL_32BITS: u32 = 64; pub const IORING_FEAT_SQPOLL_NONFIXED: u32 = 128; pub const IORING_FEAT_EXT_ARG: u32 = 256; pub const IORING_FEAT_NATIVE_WORKERS: u32 = 512; pub const IORING_REGISTER_FILES_SKIP: i32 = -2; pub const IO_URING_OP_SUPPORTED: u32 = 1; pub type __s8 = ::std::os::raw::c_schar; pub type __u8 = ::std::os::raw::c_uchar; pub type __s16 = ::std::os::raw::c_short; pub type __u16 = ::std::os::raw::c_ushort; pub type __s32 = ::std::os::raw::c_int; pub type __u32 = ::std::os::raw::c_uint; pub type __s64 = ::std::os::raw::c_longlong; pub type __u64 = ::std::os::raw::c_ulonglong; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __kernel_fd_set { pub fds_bits: [::std::os::raw::c_ulong; 16usize], } #[test] fn bindgen_test_layout___kernel_fd_set() { assert_eq!( ::std::mem::size_of::<__kernel_fd_set>(), 128usize, concat!("Size of: ", stringify!(__kernel_fd_set)) ); assert_eq!( ::std::mem::align_of::<__kernel_fd_set>(), 8usize, concat!("Alignment of ", stringify!(__kernel_fd_set)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fd_set), "::", stringify!(fds_bits) ) ); } 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 type __kernel_rwf_t = ::std::os::raw::c_int; #[repr(C)] #[derive(Copy, Clone)] pub struct io_uring_sqe { pub opcode: __u8, pub flags: __u8, pub ioprio: __u16, pub fd: __s32, pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1, pub __bindgen_anon_2: io_uring_sqe__bindgen_ty_2, pub len: __u32, pub __bindgen_anon_3: io_uring_sqe__bindgen_ty_3, pub user_data: __u64, pub __bindgen_anon_4: io_uring_sqe__bindgen_ty_4, } #[repr(C)] #[derive(Copy, Clone)] pub union io_uring_sqe__bindgen_ty_1 { pub off: __u64, pub addr2: __u64, } #[test] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).off as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_1), "::", stringify!(off) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr2 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_1), "::", stringify!(addr2) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub union io_uring_sqe__bindgen_ty_2 { pub addr: __u64, pub splice_off_in: __u64, } #[test] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_2), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).splice_off_in as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_2), "::", stringify!(splice_off_in) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub union io_uring_sqe__bindgen_ty_3 { pub rw_flags: __kernel_rwf_t, pub fsync_flags: __u32, pub poll_events: __u16, pub poll32_events: __u32, pub sync_range_flags: __u32, pub msg_flags: __u32, pub timeout_flags: __u32, pub accept_flags: __u32, pub cancel_flags: __u32, pub open_flags: __u32, pub statx_flags: __u32, pub fadvise_advice: __u32, pub splice_flags: __u32, pub rename_flags: __u32, pub unlink_flags: __u32, } #[test] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_3() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_3)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_3)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rw_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(rw_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsync_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(fsync_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).poll_events as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(poll_events) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).poll32_events as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(poll32_events) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sync_range_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(sync_range_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msg_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(msg_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).timeout_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(timeout_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).accept_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(accept_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cancel_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(cancel_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).open_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(open_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).statx_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(statx_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fadvise_advice as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(fadvise_advice) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).splice_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(splice_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rename_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(rename_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).unlink_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_3), "::", stringify!(unlink_flags) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub union io_uring_sqe__bindgen_ty_4 { pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_4__bindgen_ty_1, pub __pad2: [__u64; 3usize], } #[repr(C)] #[derive(Copy, Clone)] pub struct io_uring_sqe__bindgen_ty_4__bindgen_ty_1 { pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1, pub personality: __u16, pub splice_fd_in: __s32, } #[repr(C, packed)] #[derive(Copy, Clone)] pub union io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 { pub buf_index: __u16, pub buf_group: __u16, } #[test] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!( "Size of: ", stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .buf_index as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1), "::", stringify!(buf_index) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .buf_group as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1), "::", stringify!(buf_group) ) ); } #[test] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_4__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!( "Size of: ", stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).personality as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1), "::", stringify!(personality) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).splice_fd_in as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1), "::", stringify!(splice_fd_in) ) ); } #[test] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_4() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_4)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_4)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__pad2 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe__bindgen_ty_4), "::", stringify!(__pad2) ) ); } #[test] fn bindgen_test_layout_io_uring_sqe() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(io_uring_sqe)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(io_uring_sqe)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).opcode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_sqe), "::", stringify!(opcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(io_uring_sqe), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ioprio as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(io_uring_sqe), "::", stringify!(ioprio) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(io_uring_sqe), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(io_uring_sqe), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).user_data as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(io_uring_sqe), "::", stringify!(user_data) ) ); } pub const IOSQE_FIXED_FILE_BIT: ::std::os::raw::c_uint = 0; pub const IOSQE_IO_DRAIN_BIT: ::std::os::raw::c_uint = 1; pub const IOSQE_IO_LINK_BIT: ::std::os::raw::c_uint = 2; pub const IOSQE_IO_HARDLINK_BIT: ::std::os::raw::c_uint = 3; pub const IOSQE_ASYNC_BIT: ::std::os::raw::c_uint = 4; pub const IOSQE_BUFFER_SELECT_BIT: ::std::os::raw::c_uint = 5; pub type _bindgen_ty_1 = ::std::os::raw::c_uint; pub const IORING_OP_NOP: ::std::os::raw::c_uint = 0; pub const IORING_OP_READV: ::std::os::raw::c_uint = 1; pub const IORING_OP_WRITEV: ::std::os::raw::c_uint = 2; pub const IORING_OP_FSYNC: ::std::os::raw::c_uint = 3; pub const IORING_OP_READ_FIXED: ::std::os::raw::c_uint = 4; pub const IORING_OP_WRITE_FIXED: ::std::os::raw::c_uint = 5; pub const IORING_OP_POLL_ADD: ::std::os::raw::c_uint = 6; pub const IORING_OP_POLL_REMOVE: ::std::os::raw::c_uint = 7; pub const IORING_OP_SYNC_FILE_RANGE: ::std::os::raw::c_uint = 8; pub const IORING_OP_SENDMSG: ::std::os::raw::c_uint = 9; pub const IORING_OP_RECVMSG: ::std::os::raw::c_uint = 10; pub const IORING_OP_TIMEOUT: ::std::os::raw::c_uint = 11; pub const IORING_OP_TIMEOUT_REMOVE: ::std::os::raw::c_uint = 12; pub const IORING_OP_ACCEPT: ::std::os::raw::c_uint = 13; pub const IORING_OP_ASYNC_CANCEL: ::std::os::raw::c_uint = 14; pub const IORING_OP_LINK_TIMEOUT: ::std::os::raw::c_uint = 15; pub const IORING_OP_CONNECT: ::std::os::raw::c_uint = 16; pub const IORING_OP_FALLOCATE: ::std::os::raw::c_uint = 17; pub const IORING_OP_OPENAT: ::std::os::raw::c_uint = 18; pub const IORING_OP_CLOSE: ::std::os::raw::c_uint = 19; pub const IORING_OP_FILES_UPDATE: ::std::os::raw::c_uint = 20; pub const IORING_OP_STATX: ::std::os::raw::c_uint = 21; pub const IORING_OP_READ: ::std::os::raw::c_uint = 22; pub const IORING_OP_WRITE: ::std::os::raw::c_uint = 23; pub const IORING_OP_FADVISE: ::std::os::raw::c_uint = 24; pub const IORING_OP_MADVISE: ::std::os::raw::c_uint = 25; pub const IORING_OP_SEND: ::std::os::raw::c_uint = 26; pub const IORING_OP_RECV: ::std::os::raw::c_uint = 27; pub const IORING_OP_OPENAT2: ::std::os::raw::c_uint = 28; pub const IORING_OP_EPOLL_CTL: ::std::os::raw::c_uint = 29; pub const IORING_OP_SPLICE: ::std::os::raw::c_uint = 30; pub const IORING_OP_PROVIDE_BUFFERS: ::std::os::raw::c_uint = 31; pub const IORING_OP_REMOVE_BUFFERS: ::std::os::raw::c_uint = 32; pub const IORING_OP_TEE: ::std::os::raw::c_uint = 33; pub const IORING_OP_SHUTDOWN: ::std::os::raw::c_uint = 34; pub const IORING_OP_RENAMEAT: ::std::os::raw::c_uint = 35; pub const IORING_OP_UNLINKAT: ::std::os::raw::c_uint = 36; pub const IORING_OP_LAST: ::std::os::raw::c_uint = 37; pub type _bindgen_ty_2 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct io_uring_cqe { pub user_data: __u64, pub res: __s32, pub flags: __u32, } #[test] fn bindgen_test_layout_io_uring_cqe() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(io_uring_cqe)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(io_uring_cqe)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).user_data as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_cqe), "::", stringify!(user_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).res as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(io_uring_cqe), "::", stringify!(res) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(io_uring_cqe), "::", stringify!(flags) ) ); } pub const IORING_CQE_BUFFER_SHIFT: ::std::os::raw::c_uint = 16; pub type _bindgen_ty_3 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct io_sqring_offsets { pub head: __u32, pub tail: __u32, pub ring_mask: __u32, pub ring_entries: __u32, pub flags: __u32, pub dropped: __u32, pub array: __u32, pub resv1: __u32, pub resv2: __u64, } #[test] fn bindgen_test_layout_io_sqring_offsets() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(io_sqring_offsets)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(io_sqring_offsets)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).head as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_sqring_offsets), "::", stringify!(head) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tail as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(io_sqring_offsets), "::", stringify!(tail) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ring_mask as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(io_sqring_offsets), "::", stringify!(ring_mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ring_entries as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(io_sqring_offsets), "::", stringify!(ring_entries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(io_sqring_offsets), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dropped as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(io_sqring_offsets), "::", stringify!(dropped) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(io_sqring_offsets), "::", stringify!(array) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv1 as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(io_sqring_offsets), "::", stringify!(resv1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv2 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(io_sqring_offsets), "::", stringify!(resv2) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct io_cqring_offsets { pub head: __u32, pub tail: __u32, pub ring_mask: __u32, pub ring_entries: __u32, pub overflow: __u32, pub cqes: __u32, pub flags: __u32, pub resv1: __u32, pub resv2: __u64, } #[test] fn bindgen_test_layout_io_cqring_offsets() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(io_cqring_offsets)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(io_cqring_offsets)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).head as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_cqring_offsets), "::", stringify!(head) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tail as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(io_cqring_offsets), "::", stringify!(tail) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ring_mask as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(io_cqring_offsets), "::", stringify!(ring_mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ring_entries as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(io_cqring_offsets), "::", stringify!(ring_entries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).overflow as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(io_cqring_offsets), "::", stringify!(overflow) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cqes as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(io_cqring_offsets), "::", stringify!(cqes) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(io_cqring_offsets), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv1 as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(io_cqring_offsets), "::", stringify!(resv1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv2 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(io_cqring_offsets), "::", stringify!(resv2) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct io_uring_params { pub sq_entries: __u32, pub cq_entries: __u32, pub flags: __u32, pub sq_thread_cpu: __u32, pub sq_thread_idle: __u32, pub features: __u32, pub wq_fd: __u32, pub resv: [__u32; 3usize], pub sq_off: io_sqring_offsets, pub cq_off: io_cqring_offsets, } #[test] fn bindgen_test_layout_io_uring_params() { assert_eq!( ::std::mem::size_of::(), 120usize, concat!("Size of: ", stringify!(io_uring_params)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(io_uring_params)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sq_entries as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(io_uring_params), "::", stringify!(sq_entries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cq_entries as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(io_uring_params), "::", stringify!(cq_entries) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(io_uring_params), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sq_thread_cpu as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(io_uring_params), "::", stringify!(sq_thread_cpu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sq_thread_idle as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(io_uring_params), "::", stringify!(sq_thread_idle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).features as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(io_uring_params), "::", stringify!(features) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).wq_fd as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(io_uring_params), "::", stringify!(wq_fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resv as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(io_uring_params), "::", stringify!(resv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sq_off as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(io_uring_params), "::", stringify!(sq_off) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cq_off as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(io_uring_params), "::", stringify!(cq_off) ) ); } pub const IORING_REGISTER_BUFFERS: ::std::os::raw::c_uint = 0; pub const IORING_UNREGISTER_BUFFERS: ::std::os::raw::c_uint = 1; pub const IORING_REGISTER_FILES: ::std::os::raw::c_uint = 2; pub const IORING_UNREGISTER_FILES: ::std::os::raw::c_uint = 3; pub const IORING_REGISTER_EVENTFD: ::std::os::raw::c_uint = 4; pub const IORING_UNREGISTER_EVENTFD: ::std::os::raw::c_uint = 5; pub const IORING_REGISTER_FILES_UPDATE: ::std::os::raw::c_uint = 6; pub const IORING_REGISTER_EVENTFD_ASYNC: ::std::os::raw::c_uint = 7; pub const IORING_REGISTER_PROBE: ::std::os::raw::c_uint = 8; pub const IORING_REGISTER_PERSONALITY: ::std::os::raw::c_uint = 9; pub const IORING_UNREGISTER_PERSONALITY: ::std::os::raw::c_uint = 10; pub const IORING_REGISTER_RESTRICTIONS: ::std::os::raw::c_uint = 11; pub const IORING_REGISTER_ENABLE_RINGS: ::std::os::raw::c_uint = 12; pub const IORING_REGISTER_LAST: ::std::os::raw::c_uint = 13; 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) ) ); }