/* automatically generated by rust-bindgen 0.57.0 */

#[repr(C)]
#[derive(Default)]
pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
impl<T> __IncompleteArrayField<T> {
    #[inline]
    pub const fn new() -> Self {
        __IncompleteArrayField(::core::marker::PhantomData, [])
    }
    #[inline]
    pub fn as_ptr(&self) -> *const T {
        self as *const _ as *const T
    }
    #[inline]
    pub fn as_mut_ptr(&mut self) -> *mut T {
        self as *mut _ as *mut T
    }
    #[inline]
    pub unsafe fn as_slice(&self, len: usize) -> &[T] {
        ::core::slice::from_raw_parts(self.as_ptr(), len)
    }
    #[inline]
    pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
        ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
    }
}
impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
    fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
        fmt.write_str("__IncompleteArrayField")
    }
}
pub const __NR_io_uring_setup: u32 = 425;
pub const __NR_io_uring_enter: u32 = 426;
pub const __NR_io_uring_register: u32 = 427;
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_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_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 __u8 = libc::c_uchar;
pub type __u16 = libc::c_ushort;
pub type __s32 = libc::c_int;
pub type __u32 = libc::c_uint;
pub type __u64 = libc::c_ulonglong;
pub type __kernel_time64_t = libc::c_longlong;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct __kernel_timespec {
    pub tv_sec: __kernel_time64_t,
    pub tv_nsec: libc::c_longlong,
}
#[test]
fn bindgen_test_layout___kernel_timespec() {
    assert_eq!(
        ::core::mem::size_of::<__kernel_timespec>(),
        16usize,
        concat!("Size of: ", stringify!(__kernel_timespec))
    );
    assert_eq!(
        ::core::mem::align_of::<__kernel_timespec>(),
        8usize,
        concat!("Alignment of ", stringify!(__kernel_timespec))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<__kernel_timespec>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_timespec),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::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, Default, Copy, Clone)]
pub struct open_how {
    pub flags: __u64,
    pub mode: __u64,
    pub resolve: __u64,
}
#[test]
fn bindgen_test_layout_open_how() {
    assert_eq!(
        ::core::mem::size_of::<open_how>(),
        24usize,
        concat!("Size of: ", stringify!(open_how))
    );
    assert_eq!(
        ::core::mem::align_of::<open_how>(),
        8usize,
        concat!("Alignment of ", stringify!(open_how))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<open_how>())).flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(open_how),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<open_how>())).mode as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(open_how),
            "::",
            stringify!(mode)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<open_how>())).resolve as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(open_how),
            "::",
            stringify!(resolve)
        )
    );
}
pub type __kernel_rwf_t = libc::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,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_1() {
    assert_eq!(
        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_1))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_1>())).off as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_1),
            "::",
            stringify!(off)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_1>())).addr2 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_1),
            "::",
            stringify!(addr2)
        )
    );
}
impl Default for io_uring_sqe__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::core::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union io_uring_sqe__bindgen_ty_2 {
    pub addr: __u64,
    pub splice_off_in: __u64,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_2() {
    assert_eq!(
        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_2>(),
        8usize,
        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_2))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_2>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_2))
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_2>())).addr as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_2),
            "::",
            stringify!(addr)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_2>())).splice_off_in as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_2),
            "::",
            stringify!(splice_off_in)
        )
    );
}
impl Default for io_uring_sqe__bindgen_ty_2 {
    fn default() -> Self {
        unsafe { ::core::mem::zeroed() }
    }
}
#[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,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_3() {
    assert_eq!(
        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_3>(),
        4usize,
        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_3))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_3>(),
        4usize,
        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_3))
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).rw_flags as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(rw_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).fsync_flags as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(fsync_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).poll_events as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(poll_events)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).poll32_events as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(poll32_events)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).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 {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).msg_flags as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(msg_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).timeout_flags as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(timeout_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).accept_flags as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(accept_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).cancel_flags as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(cancel_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).open_flags as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(open_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).statx_flags as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(statx_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).fadvise_advice as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(fadvise_advice)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).splice_flags as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(splice_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).rename_flags as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(rename_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).unlink_flags as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_3),
            "::",
            stringify!(unlink_flags)
        )
    );
}
impl Default for io_uring_sqe__bindgen_ty_3 {
    fn default() -> Self {
        unsafe { ::core::mem::zeroed() }
    }
}
#[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],
    _bindgen_union_align: [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,
    _bindgen_union_align: [u8; 2usize],
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1>(),
        2usize,
        concat!(
            "Size of: ",
            stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1>(),
        1usize,
        concat!(
            "Alignment of ",
            stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1>()))
                .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 {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1>()))
                .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)
        )
    );
}
impl Default for io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::core::mem::zeroed() }
    }
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_4__bindgen_ty_1() {
    assert_eq!(
        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1>())).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 {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1>())).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)
        )
    );
}
impl Default for io_uring_sqe__bindgen_ty_4__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::core::mem::zeroed() }
    }
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_4() {
    assert_eq!(
        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_4>(),
        24usize,
        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_4))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_4>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_4))
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_4>())).__pad2 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe__bindgen_ty_4),
            "::",
            stringify!(__pad2)
        )
    );
}
impl Default for io_uring_sqe__bindgen_ty_4 {
    fn default() -> Self {
        unsafe { ::core::mem::zeroed() }
    }
}
#[test]
fn bindgen_test_layout_io_uring_sqe() {
    assert_eq!(
        ::core::mem::size_of::<io_uring_sqe>(),
        64usize,
        concat!("Size of: ", stringify!(io_uring_sqe))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_sqe>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_sqe))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).opcode as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe),
            "::",
            stringify!(opcode)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).flags as *const _ as usize },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).ioprio as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe),
            "::",
            stringify!(ioprio)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).fd as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe),
            "::",
            stringify!(fd)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).len as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe),
            "::",
            stringify!(len)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).user_data as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_sqe),
            "::",
            stringify!(user_data)
        )
    );
}
impl Default for io_uring_sqe {
    fn default() -> Self {
        unsafe { ::core::mem::zeroed() }
    }
}
pub const IOSQE_FIXED_FILE_BIT: libc::c_uint = 0;
pub const IOSQE_IO_DRAIN_BIT: libc::c_uint = 1;
pub const IOSQE_IO_LINK_BIT: libc::c_uint = 2;
pub const IOSQE_IO_HARDLINK_BIT: libc::c_uint = 3;
pub const IOSQE_ASYNC_BIT: libc::c_uint = 4;
pub const IOSQE_BUFFER_SELECT_BIT: libc::c_uint = 5;
pub type _bindgen_ty_4 = libc::c_uint;
pub const IORING_OP_NOP: libc::c_uint = 0;
pub const IORING_OP_READV: libc::c_uint = 1;
pub const IORING_OP_WRITEV: libc::c_uint = 2;
pub const IORING_OP_FSYNC: libc::c_uint = 3;
pub const IORING_OP_READ_FIXED: libc::c_uint = 4;
pub const IORING_OP_WRITE_FIXED: libc::c_uint = 5;
pub const IORING_OP_POLL_ADD: libc::c_uint = 6;
pub const IORING_OP_POLL_REMOVE: libc::c_uint = 7;
pub const IORING_OP_SYNC_FILE_RANGE: libc::c_uint = 8;
pub const IORING_OP_SENDMSG: libc::c_uint = 9;
pub const IORING_OP_RECVMSG: libc::c_uint = 10;
pub const IORING_OP_TIMEOUT: libc::c_uint = 11;
pub const IORING_OP_TIMEOUT_REMOVE: libc::c_uint = 12;
pub const IORING_OP_ACCEPT: libc::c_uint = 13;
pub const IORING_OP_ASYNC_CANCEL: libc::c_uint = 14;
pub const IORING_OP_LINK_TIMEOUT: libc::c_uint = 15;
pub const IORING_OP_CONNECT: libc::c_uint = 16;
pub const IORING_OP_FALLOCATE: libc::c_uint = 17;
pub const IORING_OP_OPENAT: libc::c_uint = 18;
pub const IORING_OP_CLOSE: libc::c_uint = 19;
pub const IORING_OP_FILES_UPDATE: libc::c_uint = 20;
pub const IORING_OP_STATX: libc::c_uint = 21;
pub const IORING_OP_READ: libc::c_uint = 22;
pub const IORING_OP_WRITE: libc::c_uint = 23;
pub const IORING_OP_FADVISE: libc::c_uint = 24;
pub const IORING_OP_MADVISE: libc::c_uint = 25;
pub const IORING_OP_SEND: libc::c_uint = 26;
pub const IORING_OP_RECV: libc::c_uint = 27;
pub const IORING_OP_OPENAT2: libc::c_uint = 28;
pub const IORING_OP_EPOLL_CTL: libc::c_uint = 29;
pub const IORING_OP_SPLICE: libc::c_uint = 30;
pub const IORING_OP_PROVIDE_BUFFERS: libc::c_uint = 31;
pub const IORING_OP_REMOVE_BUFFERS: libc::c_uint = 32;
pub const IORING_OP_TEE: libc::c_uint = 33;
pub const IORING_OP_SHUTDOWN: libc::c_uint = 34;
pub const IORING_OP_RENAMEAT: libc::c_uint = 35;
pub const IORING_OP_UNLINKAT: libc::c_uint = 36;
pub const IORING_OP_LAST: libc::c_uint = 37;
pub type _bindgen_ty_5 = libc::c_uint;
#[repr(C)]
#[derive(Debug, Default, 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!(
        ::core::mem::size_of::<io_uring_cqe>(),
        16usize,
        concat!("Size of: ", stringify!(io_uring_cqe))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_cqe>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_cqe))
    );
    assert_eq!(
        unsafe { &(*(::core::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 { &(*(::core::ptr::null::<io_uring_cqe>())).res as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_cqe),
            "::",
            stringify!(res)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_cqe>())).flags as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_cqe),
            "::",
            stringify!(flags)
        )
    );
}
pub const IORING_CQE_BUFFER_SHIFT: libc::c_uint = 16;
pub type _bindgen_ty_6 = libc::c_uint;
#[repr(C)]
#[derive(Debug, Default, 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!(
        ::core::mem::size_of::<io_sqring_offsets>(),
        40usize,
        concat!("Size of: ", stringify!(io_sqring_offsets))
    );
    assert_eq!(
        ::core::mem::align_of::<io_sqring_offsets>(),
        8usize,
        concat!("Alignment of ", stringify!(io_sqring_offsets))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).head as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_sqring_offsets),
            "::",
            stringify!(head)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).tail as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(io_sqring_offsets),
            "::",
            stringify!(tail)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::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 { &(*(::core::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 { &(*(::core::ptr::null::<io_sqring_offsets>())).flags as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(io_sqring_offsets),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).dropped as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(io_sqring_offsets),
            "::",
            stringify!(dropped)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).array as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(io_sqring_offsets),
            "::",
            stringify!(array)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).resv1 as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(io_sqring_offsets),
            "::",
            stringify!(resv1)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::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, Default, 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!(
        ::core::mem::size_of::<io_cqring_offsets>(),
        40usize,
        concat!("Size of: ", stringify!(io_cqring_offsets))
    );
    assert_eq!(
        ::core::mem::align_of::<io_cqring_offsets>(),
        8usize,
        concat!("Alignment of ", stringify!(io_cqring_offsets))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).head as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_cqring_offsets),
            "::",
            stringify!(head)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).tail as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(io_cqring_offsets),
            "::",
            stringify!(tail)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::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 { &(*(::core::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 { &(*(::core::ptr::null::<io_cqring_offsets>())).overflow as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(io_cqring_offsets),
            "::",
            stringify!(overflow)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).cqes as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(io_cqring_offsets),
            "::",
            stringify!(cqes)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).flags as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(io_cqring_offsets),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).resv1 as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(io_cqring_offsets),
            "::",
            stringify!(resv1)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).resv2 as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(io_cqring_offsets),
            "::",
            stringify!(resv2)
        )
    );
}
#[repr(C)]
#[derive(Debug, Default, 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!(
        ::core::mem::size_of::<io_uring_params>(),
        120usize,
        concat!("Size of: ", stringify!(io_uring_params))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_params>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_params))
    );
    assert_eq!(
        unsafe { &(*(::core::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 { &(*(::core::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 { &(*(::core::ptr::null::<io_uring_params>())).flags as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_params),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::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 { &(*(::core::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 { &(*(::core::ptr::null::<io_uring_params>())).features as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_params),
            "::",
            stringify!(features)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_params>())).wq_fd as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_params),
            "::",
            stringify!(wq_fd)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_params>())).resv as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_params),
            "::",
            stringify!(resv)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::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 { &(*(::core::ptr::null::<io_uring_params>())).cq_off as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_params),
            "::",
            stringify!(cq_off)
        )
    );
}
pub const IORING_REGISTER_BUFFERS: libc::c_uint = 0;
pub const IORING_UNREGISTER_BUFFERS: libc::c_uint = 1;
pub const IORING_REGISTER_FILES: libc::c_uint = 2;
pub const IORING_UNREGISTER_FILES: libc::c_uint = 3;
pub const IORING_REGISTER_EVENTFD: libc::c_uint = 4;
pub const IORING_UNREGISTER_EVENTFD: libc::c_uint = 5;
pub const IORING_REGISTER_FILES_UPDATE: libc::c_uint = 6;
pub const IORING_REGISTER_EVENTFD_ASYNC: libc::c_uint = 7;
pub const IORING_REGISTER_PROBE: libc::c_uint = 8;
pub const IORING_REGISTER_PERSONALITY: libc::c_uint = 9;
pub const IORING_UNREGISTER_PERSONALITY: libc::c_uint = 10;
pub const IORING_REGISTER_RESTRICTIONS: libc::c_uint = 11;
pub const IORING_REGISTER_ENABLE_RINGS: libc::c_uint = 12;
pub const IORING_REGISTER_LAST: libc::c_uint = 13;
pub type _bindgen_ty_7 = libc::c_uint;
#[repr(C)]
#[derive(Debug, Default, 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!(
        ::core::mem::size_of::<io_uring_files_update>(),
        16usize,
        concat!("Size of: ", stringify!(io_uring_files_update))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_files_update>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_files_update))
    );
    assert_eq!(
        unsafe { &(*(::core::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 { &(*(::core::ptr::null::<io_uring_files_update>())).resv as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_files_update),
            "::",
            stringify!(resv)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::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, Default, 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!(
        ::core::mem::size_of::<io_uring_rsrc_update>(),
        16usize,
        concat!("Size of: ", stringify!(io_uring_rsrc_update))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_rsrc_update>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_rsrc_update))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_rsrc_update>())).offset as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_rsrc_update),
            "::",
            stringify!(offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_rsrc_update>())).resv as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_rsrc_update),
            "::",
            stringify!(resv)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_rsrc_update>())).data as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_rsrc_update),
            "::",
            stringify!(data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Default, 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!(
        ::core::mem::size_of::<io_uring_probe_op>(),
        8usize,
        concat!("Size of: ", stringify!(io_uring_probe_op))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_probe_op>(),
        4usize,
        concat!("Alignment of ", stringify!(io_uring_probe_op))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_probe_op>())).op as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_probe_op),
            "::",
            stringify!(op)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_probe_op>())).resv as *const _ as usize },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_probe_op),
            "::",
            stringify!(resv)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_probe_op>())).flags as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_probe_op),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_probe_op>())).resv2 as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_probe_op),
            "::",
            stringify!(resv2)
        )
    );
}
#[repr(C)]
#[derive(Debug, Default)]
pub struct io_uring_probe {
    pub last_op: __u8,
    pub ops_len: __u8,
    pub resv: __u16,
    pub resv2: [__u32; 3usize],
    pub ops: __IncompleteArrayField<io_uring_probe_op>,
}
#[test]
fn bindgen_test_layout_io_uring_probe() {
    assert_eq!(
        ::core::mem::size_of::<io_uring_probe>(),
        16usize,
        concat!("Size of: ", stringify!(io_uring_probe))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_probe>(),
        4usize,
        concat!("Alignment of ", stringify!(io_uring_probe))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_probe>())).last_op as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_probe),
            "::",
            stringify!(last_op)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_probe>())).ops_len as *const _ as usize },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_probe),
            "::",
            stringify!(ops_len)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_probe>())).resv as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_probe),
            "::",
            stringify!(resv)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_probe>())).resv2 as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_probe),
            "::",
            stringify!(resv2)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_probe>())).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,
    _bindgen_union_align: u8,
}
#[test]
fn bindgen_test_layout_io_uring_restriction__bindgen_ty_1() {
    assert_eq!(
        ::core::mem::size_of::<io_uring_restriction__bindgen_ty_1>(),
        1usize,
        concat!("Size of: ", stringify!(io_uring_restriction__bindgen_ty_1))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_restriction__bindgen_ty_1>(),
        1usize,
        concat!(
            "Alignment of ",
            stringify!(io_uring_restriction__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_restriction__bindgen_ty_1>())).register_op as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_restriction__bindgen_ty_1),
            "::",
            stringify!(register_op)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_restriction__bindgen_ty_1>())).sqe_op as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_restriction__bindgen_ty_1),
            "::",
            stringify!(sqe_op)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_restriction__bindgen_ty_1>())).sqe_flags as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_restriction__bindgen_ty_1),
            "::",
            stringify!(sqe_flags)
        )
    );
}
impl Default for io_uring_restriction__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::core::mem::zeroed() }
    }
}
#[test]
fn bindgen_test_layout_io_uring_restriction() {
    assert_eq!(
        ::core::mem::size_of::<io_uring_restriction>(),
        16usize,
        concat!("Size of: ", stringify!(io_uring_restriction))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_restriction>(),
        4usize,
        concat!("Alignment of ", stringify!(io_uring_restriction))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_restriction>())).opcode as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_restriction),
            "::",
            stringify!(opcode)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_restriction>())).resv as *const _ as usize },
        3usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_restriction),
            "::",
            stringify!(resv)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_restriction>())).resv2 as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_restriction),
            "::",
            stringify!(resv2)
        )
    );
}
impl Default for io_uring_restriction {
    fn default() -> Self {
        unsafe { ::core::mem::zeroed() }
    }
}
pub const IORING_RESTRICTION_REGISTER_OP: libc::c_uint = 0;
pub const IORING_RESTRICTION_SQE_OP: libc::c_uint = 1;
pub const IORING_RESTRICTION_SQE_FLAGS_ALLOWED: libc::c_uint = 2;
pub const IORING_RESTRICTION_SQE_FLAGS_REQUIRED: libc::c_uint = 3;
pub const IORING_RESTRICTION_LAST: libc::c_uint = 4;
pub type _bindgen_ty_8 = libc::c_uint;
#[repr(C)]
#[derive(Debug, Default, 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!(
        ::core::mem::size_of::<io_uring_getevents_arg>(),
        24usize,
        concat!("Size of: ", stringify!(io_uring_getevents_arg))
    );
    assert_eq!(
        ::core::mem::align_of::<io_uring_getevents_arg>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_getevents_arg))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_getevents_arg>())).sigmask as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_getevents_arg),
            "::",
            stringify!(sigmask)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::core::ptr::null::<io_uring_getevents_arg>())).sigmask_sz as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_getevents_arg),
            "::",
            stringify!(sigmask_sz)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_getevents_arg>())).pad as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_getevents_arg),
            "::",
            stringify!(pad)
        )
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<io_uring_getevents_arg>())).ts as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(io_uring_getevents_arg),
            "::",
            stringify!(ts)
        )
    );
}
