1
2
3
/* automatically generated by rust-bindgen */

pub const IOSQE_FIXED_FILE : u32 = 1 ; pub const IOSQE_IO_DRAIN : u32 = 2 ; pub const IOSQE_IO_LINK : u32 = 4 ; 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_OP_NOP : u32 = 0 ; pub const IORING_OP_READV : u32 = 1 ; pub const IORING_OP_WRITEV : u32 = 2 ; pub const IORING_OP_FSYNC : u32 = 3 ; pub const IORING_OP_READ_FIXED : u32 = 4 ; pub const IORING_OP_WRITE_FIXED : u32 = 5 ; pub const IORING_OP_POLL_ADD : u32 = 6 ; pub const IORING_OP_POLL_REMOVE : u32 = 7 ; pub const IORING_OP_SYNC_FILE_RANGE : u32 = 8 ; pub const IORING_OP_SENDMSG : u32 = 9 ; pub const IORING_OP_RECVMSG : u32 = 10 ; pub const IORING_OP_TIMEOUT : u32 = 11 ; pub const IORING_FSYNC_DATASYNC : u32 = 1 ; pub const IORING_OFF_SQ_RING : u32 = 0 ; pub const IORING_OFF_CQ_RING : u32 = 134217728 ; pub const IORING_OFF_SQES : u32 = 268435456 ; pub const IORING_SQ_NEED_WAKEUP : u32 = 1 ; pub const IORING_ENTER_GETEVENTS : u32 = 1 ; pub const IORING_ENTER_SQ_WAKEUP : u32 = 2 ; pub const IORING_FEAT_SINGLE_MMAP : u32 = 1 ; pub const IORING_REGISTER_BUFFERS : u32 = 0 ; pub const IORING_UNREGISTER_BUFFERS : u32 = 1 ; pub const IORING_REGISTER_FILES : u32 = 2 ; pub const IORING_UNREGISTER_FILES : u32 = 3 ; pub const IORING_REGISTER_EVENTFD : u32 = 4 ; pub const IORING_UNREGISTER_EVENTFD : u32 = 5 ; pub const IORING_REGISTER_FILES_UPDATE : u32 = 6 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } pub type __int64_t = :: std :: os :: raw :: c_long ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __sigset_t { pub __val : [ :: std :: os :: raw :: c_ulong ; 16usize ] , } # [ test ] fn bindgen_test_layout___sigset_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __sigset_t > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __sigset_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __sigset_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __sigset_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type sigset_t = __sigset_t ; pub type __kernel_rwf_t = :: std :: os :: raw :: c_int ; pub type __u8 = :: std :: os :: raw :: c_uchar ; 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 __u64 = :: std :: os :: raw :: c_ulonglong ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct io_uring_sqe { pub opcode : __u8 , pub flags : __u8 , pub ioprio : __u16 , pub fd : __s32 , pub off : __u64 , pub addr : __u64 , pub len : __u32 , pub __bindgen_anon_1 : io_uring_sqe__bindgen_ty_1 , pub user_data : __u64 , pub __bindgen_anon_2 : io_uring_sqe__bindgen_ty_2 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union io_uring_sqe__bindgen_ty_1 { pub rw_flags : __kernel_rwf_t , pub fsync_flags : __u32 , pub poll_events : __u16 , pub sync_range_flags : __u32 , pub msg_flags : __u32 , pub timeout_flags : __u32 , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sqe__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sqe__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . rw_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( rw_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . fsync_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( fsync_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . poll_events as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( poll_events ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . sync_range_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( sync_range_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . msg_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( msg_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . timeout_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( timeout_flags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union io_uring_sqe__bindgen_ty_2 { pub buf_index : __u16 , pub __pad2 : [ __u64 ; 3usize ] , _bindgen_union_align : [ u64 ; 3usize ] , } # [ test ] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sqe__bindgen_ty_2 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sqe__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_2 > ( ) ) ) . buf_index as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) , "::" , stringify ! ( buf_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_2 > ( ) ) ) . __pad2 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) , "::" , stringify ! ( __pad2 ) ) ) ; } # [ test ] fn bindgen_test_layout_io_uring_sqe ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sqe > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( io_uring_sqe ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sqe > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sqe ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . opcode as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( opcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . flags as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . ioprio as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( ioprio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . fd as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . off as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( off ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . addr as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . len as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . user_data as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( user_data ) ) ) ; } # [ 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 :: < io_uring_cqe > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( io_uring_cqe ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_cqe > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_cqe ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cqe > ( ) ) ) . user_data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cqe ) , "::" , stringify ! ( user_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cqe > ( ) ) ) . res as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cqe ) , "::" , stringify ! ( res ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cqe > ( ) ) ) . flags as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cqe ) , "::" , stringify ! ( flags ) ) ) ; } # [ 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 :: < io_sqring_offsets > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( io_sqring_offsets ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_sqring_offsets > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_sqring_offsets ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . tail as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . ring_mask as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( ring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . ring_entries as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( ring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . dropped as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( dropped ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . array as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . resv1 as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( resv1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . 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 resv : [ __u64 ; 2usize ] , } # [ test ] fn bindgen_test_layout_io_cqring_offsets ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_cqring_offsets > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( io_cqring_offsets ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_cqring_offsets > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_cqring_offsets ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . tail as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . ring_mask as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( ring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . ring_entries as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( ring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . overflow as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( overflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . cqes as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( cqes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . resv as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( resv ) ) ) ; } # [ 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 resv : [ __u32 ; 4usize ] , 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 :: < io_uring_params > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( io_uring_params ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_params > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_params ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . sq_entries as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( sq_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . cq_entries as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( cq_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . 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 :: < io_uring_params > ( ) ) ) . 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 :: < io_uring_params > ( ) ) ) . features as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( features ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . resv as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( resv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . sq_off as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( sq_off ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . cq_off as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( cq_off ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_files_update { pub offset : __u32 , pub fds : * mut __s32 , } # [ test ] fn bindgen_test_layout_io_uring_files_update ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_files_update > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( io_uring_files_update ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_files_update > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_files_update ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_files_update > ( ) ) ) . offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_files_update ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_files_update > ( ) ) ) . 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 __kernel_timespec { pub tv_sec : i64 , pub tv_nsec : :: std :: os :: raw :: c_longlong , } # [ test ] fn bindgen_test_layout___kernel_timespec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __kernel_timespec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( __kernel_timespec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __kernel_timespec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __kernel_timespec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __kernel_timespec > ( ) ) ) . tv_sec as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __kernel_timespec ) , "::" , stringify ! ( tv_sec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __kernel_timespec > ( ) ) ) . tv_nsec as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __kernel_timespec ) , "::" , stringify ! ( tv_nsec ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_sq { pub khead : * mut :: std :: os :: raw :: c_uint , pub ktail : * mut :: std :: os :: raw :: c_uint , pub kring_mask : * mut :: std :: os :: raw :: c_uint , pub kring_entries : * mut :: std :: os :: raw :: c_uint , pub kflags : * mut :: std :: os :: raw :: c_uint , pub kdropped : * mut :: std :: os :: raw :: c_uint , pub array : * mut :: std :: os :: raw :: c_uint , pub sqes : * mut io_uring_sqe , pub sqe_head : :: std :: os :: raw :: c_uint , pub sqe_tail : :: std :: os :: raw :: c_uint , pub ring_sz : usize , pub ring_ptr : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_io_uring_sq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sq > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( io_uring_sq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . khead as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( khead ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . ktail as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( ktail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kring_mask as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kring_entries as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kflags as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kdropped as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kdropped ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . array as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . sqes as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( sqes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . sqe_head as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( sqe_head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . sqe_tail as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( sqe_tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . ring_sz as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( ring_sz ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . ring_ptr as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( ring_ptr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_cq { pub khead : * mut :: std :: os :: raw :: c_uint , pub ktail : * mut :: std :: os :: raw :: c_uint , pub kring_mask : * mut :: std :: os :: raw :: c_uint , pub kring_entries : * mut :: std :: os :: raw :: c_uint , pub koverflow : * mut :: std :: os :: raw :: c_uint , pub cqes : * mut io_uring_cqe , pub ring_sz : usize , pub ring_ptr : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_io_uring_cq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_cq > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( io_uring_cq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_cq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_cq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . khead as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( khead ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . ktail as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( ktail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . kring_mask as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( kring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . kring_entries as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( kring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . koverflow as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( koverflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . cqes as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( cqes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . ring_sz as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( ring_sz ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . ring_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( ring_ptr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring { pub sq : io_uring_sq , pub cq : io_uring_cq , pub flags : :: std :: os :: raw :: c_uint , pub ring_fd : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_io_uring ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( io_uring ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring > ( ) ) ) . sq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring ) , "::" , stringify ! ( sq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring > ( ) ) ) . cq as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( io_uring ) , "::" , stringify ! ( cq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring > ( ) ) ) . flags as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( io_uring ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring > ( ) ) ) . ring_fd as * const _ as usize } , 156usize , concat ! ( "Offset of field: " , stringify ! ( io_uring ) , "::" , stringify ! ( ring_fd ) ) ) ; } extern "C" { pub fn io_uring_setup ( entries : :: std :: os :: raw :: c_uint , p : * mut io_uring_params ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_enter ( fd : :: std :: os :: raw :: c_uint , to_submit : :: std :: os :: raw :: c_uint , min_complete : :: std :: os :: raw :: c_uint , flags : :: std :: os :: raw :: c_uint , sig : * mut sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_register ( fd : :: std :: os :: raw :: c_int , opcode : :: std :: os :: raw :: c_uint , arg : * const :: std :: os :: raw :: c_void , nr_args : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_queue_init_params ( entries : :: std :: os :: raw :: c_uint , ring : * mut io_uring , p : * mut io_uring_params ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_queue_init ( entries : :: std :: os :: raw :: c_uint , ring : * mut io_uring , flags : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_queue_mmap ( fd : :: std :: os :: raw :: c_int , p : * mut io_uring_params , ring : * mut io_uring ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_queue_exit ( ring : * mut io_uring ) ; } extern "C" { pub fn io_uring_peek_batch_cqe ( ring : * mut io_uring , cqes : * mut * mut io_uring_cqe , count : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn io_uring_wait_cqes ( ring : * mut io_uring , cqe_ptr : * mut * mut io_uring_cqe , wait_nr : :: std :: os :: raw :: c_uint , ts : * mut __kernel_timespec , sigmask : * mut sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_wait_cqe_timeout ( ring : * mut io_uring , cqe_ptr : * mut * mut io_uring_cqe , ts : * mut __kernel_timespec ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_submit ( ring : * mut io_uring ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_submit_and_wait ( ring : * mut io_uring , wait_nr : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_get_sqe ( ring : * mut io_uring ) -> * mut io_uring_sqe ; } extern "C" { pub fn io_uring_register_buffers ( ring : * mut io_uring , iovecs : * const iovec , nr_iovecs : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_unregister_buffers ( ring : * mut io_uring ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_register_files ( ring : * mut io_uring , files : * const :: std :: os :: raw :: c_int , nr_files : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_unregister_files ( ring : * mut io_uring ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_register_files_update ( ring : * mut io_uring , off : :: std :: os :: raw :: c_uint , files : * mut :: std :: os :: raw :: c_int , nr_files : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_register_eventfd ( ring : * mut io_uring , fd : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_unregister_eventfd ( ring : * mut io_uring ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __io_uring_get_cqe ( ring : * mut io_uring , cqe_ptr : * mut * mut io_uring_cqe , submit : :: std :: os :: raw :: c_uint , wait_nr : :: std :: os :: raw :: c_uint , sigmask : * mut sigset_t ) -> :: std :: os :: raw :: c_int ; }