diff --git a/Cargo.toml b/Cargo.toml index dffa7d1d..6683fa63 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "io-uring" -version = "0.5.2" +version = "0.5.3" authors = ["quininer "] edition = "2018" license = "MIT/Apache-2.0" @@ -27,7 +27,7 @@ libc = { version = "0.2.98", default-features = false } sc = { version = "0.2", optional = true } [build-dependencies] -bindgen = { version = "0.59", optional = true } +bindgen = { version = "0.60", optional = true } [dev-dependencies] anyhow = "1" diff --git a/io-uring-test/src/tests/net.rs b/io-uring-test/src/tests/net.rs index 34566aae..2a2a2e91 100644 --- a/io-uring-test/src/tests/net.rs +++ b/io-uring-test/src/tests/net.rs @@ -399,7 +399,7 @@ pub fn test_tcp_buffer_select(ring: &mut IoUring, test: &Test) -> anyhow::Result assert_eq!(cqe.result(), 1); // remove bufs fail - let remove_bufs_e = opcode::RemoveBuffers::new(1, 0xdead); + let remove_bufs_e = opcode::RemoveBuffers::new(1, 0xdeaf); unsafe { ring.submission() diff --git a/src/sys/sys.rs b/src/sys/sys.rs index 2d3d6511..dd8209c5 100644 --- a/src/sys/sys.rs +++ b/src/sys/sys.rs @@ -1,4 +1,4 @@ -/* automatically generated by rust-bindgen 0.59.0 */ +/* automatically generated by rust-bindgen 0.60.1 */ #[repr(C)] #[derive(Default)] @@ -76,6 +76,8 @@ 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_FEAT_RSRC_TAGS: u32 = 1024; +pub const IORING_FEAT_CQE_SKIP: u32 = 2048; +pub const IORING_FEAT_LINKED_FILE: u32 = 4096; pub const IORING_REGISTER_FILES_SKIP: i32 = -2; pub const IO_URING_OP_SUPPORTED: u32 = 1; pub type __u8 = libc::c_uchar; @@ -102,26 +104,40 @@ fn bindgen_test_layout___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) - ) - ); + fn test_field_tv_sec() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::<__kernel_timespec>::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__kernel_timespec), + "::", + stringify!(tv_sec) + ) + ); + } + test_field_tv_sec(); + fn test_field_tv_nsec() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::<__kernel_timespec>::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__kernel_timespec), + "::", + stringify!(tv_nsec) + ) + ); + } + test_field_tv_nsec(); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -142,36 +158,57 @@ fn bindgen_test_layout_open_how() { 8usize, concat!("Alignment of ", stringify!(open_how)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).flags as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(open_how), - "::", - stringify!(flags) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).mode as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(open_how), - "::", - stringify!(mode) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resolve as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(open_how), - "::", - stringify!(resolve) - ) - ); + fn test_field_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(open_how), + "::", + stringify!(flags) + ) + ); + } + test_field_flags(); + fn test_field_mode() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).mode) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(open_how), + "::", + stringify!(mode) + ) + ); + } + test_field_mode(); + fn test_field_resolve() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resolve) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(open_how), + "::", + stringify!(resolve) + ) + ); + } + test_field_resolve(); } pub type __kernel_rwf_t = libc::c_int; #[repr(C)] @@ -209,28 +246,40 @@ fn bindgen_test_layout_io_uring_sqe__bindgen_ty_1() { 8usize, concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_1)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).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::())).addr2 as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe__bindgen_ty_1), - "::", - stringify!(addr2) - ) - ); + fn test_field_off() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).off) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_1), + "::", + stringify!(off) + ) + ); + } + test_field_off(); + fn test_field_addr2() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).addr2) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_1), + "::", + stringify!(addr2) + ) + ); + } + test_field_addr2(); } impl Default for io_uring_sqe__bindgen_ty_1 { fn default() -> Self { @@ -259,31 +308,40 @@ fn bindgen_test_layout_io_uring_sqe__bindgen_ty_2() { 8usize, concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_2)) ); - assert_eq!( - unsafe { - &(*(::core::ptr::null::())).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::())).splice_off_in as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe__bindgen_ty_2), - "::", - stringify!(splice_off_in) - ) - ); + fn test_field_addr() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).addr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_2), + "::", + stringify!(addr) + ) + ); + } + test_field_addr(); + fn test_field_splice_off_in() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).splice_off_in) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_2), + "::", + stringify!(splice_off_in) + ) + ); + } + test_field_splice_off_in(); } impl Default for io_uring_sqe__bindgen_ty_2 { fn default() -> Self { @@ -326,208 +384,278 @@ fn bindgen_test_layout_io_uring_sqe__bindgen_ty_3() { 4usize, concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_3)) ); - assert_eq!( - unsafe { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::ptr::null::())).unlink_flags as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe__bindgen_ty_3), - "::", - stringify!(unlink_flags) - ) - ); - assert_eq!( - unsafe { - &(*(::core::ptr::null::())).hardlink_flags as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe__bindgen_ty_3), - "::", - stringify!(hardlink_flags) - ) - ); + fn test_field_rw_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).rw_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(rw_flags) + ) + ); + } + test_field_rw_flags(); + fn test_field_fsync_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).fsync_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(fsync_flags) + ) + ); + } + test_field_fsync_flags(); + fn test_field_poll_events() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).poll_events) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(poll_events) + ) + ); + } + test_field_poll_events(); + fn test_field_poll32_events() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).poll32_events) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(poll32_events) + ) + ); + } + test_field_poll32_events(); + fn test_field_sync_range_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).sync_range_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(sync_range_flags) + ) + ); + } + test_field_sync_range_flags(); + fn test_field_msg_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).msg_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(msg_flags) + ) + ); + } + test_field_msg_flags(); + fn test_field_timeout_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).timeout_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(timeout_flags) + ) + ); + } + test_field_timeout_flags(); + fn test_field_accept_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).accept_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(accept_flags) + ) + ); + } + test_field_accept_flags(); + fn test_field_cancel_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).cancel_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(cancel_flags) + ) + ); + } + test_field_cancel_flags(); + fn test_field_open_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).open_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(open_flags) + ) + ); + } + test_field_open_flags(); + fn test_field_statx_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).statx_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(statx_flags) + ) + ); + } + test_field_statx_flags(); + fn test_field_fadvise_advice() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).fadvise_advice) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(fadvise_advice) + ) + ); + } + test_field_fadvise_advice(); + fn test_field_splice_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).splice_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(splice_flags) + ) + ); + } + test_field_splice_flags(); + fn test_field_rename_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).rename_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(rename_flags) + ) + ); + } + test_field_rename_flags(); + fn test_field_unlink_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).unlink_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(unlink_flags) + ) + ); + } + test_field_unlink_flags(); + fn test_field_hardlink_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).hardlink_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_3), + "::", + stringify!(hardlink_flags) + ) + ); + } + test_field_hardlink_flags(); } impl Default for io_uring_sqe__bindgen_ty_3 { fn default() -> Self { @@ -556,30 +684,40 @@ fn bindgen_test_layout_io_uring_sqe__bindgen_ty_4() { 1usize, concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_4)) ); - assert_eq!( - unsafe { - &(*(::core::ptr::null::())).buf_index as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe__bindgen_ty_4), - "::", - stringify!(buf_index) - ) - ); - assert_eq!( - unsafe { - &(*(::core::ptr::null::())).buf_group as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe__bindgen_ty_4), - "::", - stringify!(buf_group) - ) - ); + fn test_field_buf_index() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).buf_index) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_4), + "::", + stringify!(buf_index) + ) + ); + } + test_field_buf_index(); + fn test_field_buf_group() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).buf_group) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_4), + "::", + stringify!(buf_group) + ) + ); + } + test_field_buf_group(); } impl Default for io_uring_sqe__bindgen_ty_4 { fn default() -> Self { @@ -608,31 +746,40 @@ fn bindgen_test_layout_io_uring_sqe__bindgen_ty_5() { 4usize, concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_5)) ); - assert_eq!( - unsafe { - &(*(::core::ptr::null::())).splice_fd_in as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe__bindgen_ty_5), - "::", - stringify!(splice_fd_in) - ) - ); - assert_eq!( - unsafe { - &(*(::core::ptr::null::())).file_index as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe__bindgen_ty_5), - "::", - stringify!(file_index) - ) - ); + fn test_field_splice_fd_in() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).splice_fd_in) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_5), + "::", + stringify!(splice_fd_in) + ) + ); + } + test_field_splice_fd_in(); + fn test_field_file_index() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).file_index) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe__bindgen_ty_5), + "::", + stringify!(file_index) + ) + ); + } + test_field_file_index(); } impl Default for io_uring_sqe__bindgen_ty_5 { fn default() -> Self { @@ -655,86 +802,142 @@ fn bindgen_test_layout_io_uring_sqe() { 8usize, concat!("Alignment of ", stringify!(io_uring_sqe)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).opcode as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe), - "::", - stringify!(opcode) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).flags as *const _ as usize }, - 1usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe), - "::", - stringify!(flags) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).ioprio as *const _ as usize }, - 2usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe), - "::", - stringify!(ioprio) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).fd as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe), - "::", - stringify!(fd) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).len as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe), - "::", - stringify!(len) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).user_data as *const _ as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe), - "::", - stringify!(user_data) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).personality as *const _ as usize }, - 42usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe), - "::", - stringify!(personality) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).__pad2 as *const _ as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(io_uring_sqe), - "::", - stringify!(__pad2) - ) - ); + fn test_field_opcode() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).opcode) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe), + "::", + stringify!(opcode) + ) + ); + } + test_field_opcode(); + fn test_field_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize + }, + 1usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe), + "::", + stringify!(flags) + ) + ); + } + test_field_flags(); + fn test_field_ioprio() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).ioprio) as usize - ptr as usize + }, + 2usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe), + "::", + stringify!(ioprio) + ) + ); + } + test_field_ioprio(); + fn test_field_fd() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).fd) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe), + "::", + stringify!(fd) + ) + ); + } + test_field_fd(); + fn test_field_len() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).len) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe), + "::", + stringify!(len) + ) + ); + } + test_field_len(); + fn test_field_user_data() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe), + "::", + stringify!(user_data) + ) + ); + } + test_field_user_data(); + fn test_field_personality() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).personality) as usize - ptr as usize + }, + 42usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe), + "::", + stringify!(personality) + ) + ); + } + test_field_personality(); + fn test_field___pad2() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(io_uring_sqe), + "::", + stringify!(__pad2) + ) + ); + } + test_field___pad2(); } impl Default for io_uring_sqe { fn default() -> Self { @@ -745,54 +948,55 @@ impl Default for io_uring_sqe { } } } -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 const IOSQE_FIXED_FILE_BIT: _bindgen_ty_4 = 0; +pub const IOSQE_IO_DRAIN_BIT: _bindgen_ty_4 = 1; +pub const IOSQE_IO_LINK_BIT: _bindgen_ty_4 = 2; +pub const IOSQE_IO_HARDLINK_BIT: _bindgen_ty_4 = 3; +pub const IOSQE_ASYNC_BIT: _bindgen_ty_4 = 4; +pub const IOSQE_BUFFER_SELECT_BIT: _bindgen_ty_4 = 5; +pub const IOSQE_CQE_SKIP_SUCCESS_BIT: _bindgen_ty_4 = 6; 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_MKDIRAT: libc::c_uint = 37; -pub const IORING_OP_SYMLINKAT: libc::c_uint = 38; -pub const IORING_OP_LINKAT: libc::c_uint = 39; -pub const IORING_OP_LAST: libc::c_uint = 40; +pub const IORING_OP_NOP: _bindgen_ty_5 = 0; +pub const IORING_OP_READV: _bindgen_ty_5 = 1; +pub const IORING_OP_WRITEV: _bindgen_ty_5 = 2; +pub const IORING_OP_FSYNC: _bindgen_ty_5 = 3; +pub const IORING_OP_READ_FIXED: _bindgen_ty_5 = 4; +pub const IORING_OP_WRITE_FIXED: _bindgen_ty_5 = 5; +pub const IORING_OP_POLL_ADD: _bindgen_ty_5 = 6; +pub const IORING_OP_POLL_REMOVE: _bindgen_ty_5 = 7; +pub const IORING_OP_SYNC_FILE_RANGE: _bindgen_ty_5 = 8; +pub const IORING_OP_SENDMSG: _bindgen_ty_5 = 9; +pub const IORING_OP_RECVMSG: _bindgen_ty_5 = 10; +pub const IORING_OP_TIMEOUT: _bindgen_ty_5 = 11; +pub const IORING_OP_TIMEOUT_REMOVE: _bindgen_ty_5 = 12; +pub const IORING_OP_ACCEPT: _bindgen_ty_5 = 13; +pub const IORING_OP_ASYNC_CANCEL: _bindgen_ty_5 = 14; +pub const IORING_OP_LINK_TIMEOUT: _bindgen_ty_5 = 15; +pub const IORING_OP_CONNECT: _bindgen_ty_5 = 16; +pub const IORING_OP_FALLOCATE: _bindgen_ty_5 = 17; +pub const IORING_OP_OPENAT: _bindgen_ty_5 = 18; +pub const IORING_OP_CLOSE: _bindgen_ty_5 = 19; +pub const IORING_OP_FILES_UPDATE: _bindgen_ty_5 = 20; +pub const IORING_OP_STATX: _bindgen_ty_5 = 21; +pub const IORING_OP_READ: _bindgen_ty_5 = 22; +pub const IORING_OP_WRITE: _bindgen_ty_5 = 23; +pub const IORING_OP_FADVISE: _bindgen_ty_5 = 24; +pub const IORING_OP_MADVISE: _bindgen_ty_5 = 25; +pub const IORING_OP_SEND: _bindgen_ty_5 = 26; +pub const IORING_OP_RECV: _bindgen_ty_5 = 27; +pub const IORING_OP_OPENAT2: _bindgen_ty_5 = 28; +pub const IORING_OP_EPOLL_CTL: _bindgen_ty_5 = 29; +pub const IORING_OP_SPLICE: _bindgen_ty_5 = 30; +pub const IORING_OP_PROVIDE_BUFFERS: _bindgen_ty_5 = 31; +pub const IORING_OP_REMOVE_BUFFERS: _bindgen_ty_5 = 32; +pub const IORING_OP_TEE: _bindgen_ty_5 = 33; +pub const IORING_OP_SHUTDOWN: _bindgen_ty_5 = 34; +pub const IORING_OP_RENAMEAT: _bindgen_ty_5 = 35; +pub const IORING_OP_UNLINKAT: _bindgen_ty_5 = 36; +pub const IORING_OP_MKDIRAT: _bindgen_ty_5 = 37; +pub const IORING_OP_SYMLINKAT: _bindgen_ty_5 = 38; +pub const IORING_OP_LINKAT: _bindgen_ty_5 = 39; +pub const IORING_OP_LAST: _bindgen_ty_5 = 40; pub type _bindgen_ty_5 = libc::c_uint; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -813,38 +1017,59 @@ fn bindgen_test_layout_io_uring_cqe() { 8usize, concat!("Alignment of ", stringify!(io_uring_cqe)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).user_data as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_cqe), - "::", - stringify!(user_data) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).res as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(io_uring_cqe), - "::", - stringify!(res) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).flags as *const _ as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(io_uring_cqe), - "::", - stringify!(flags) - ) - ); + fn test_field_user_data() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_cqe), + "::", + stringify!(user_data) + ) + ); + } + test_field_user_data(); + fn test_field_res() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).res) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(io_uring_cqe), + "::", + stringify!(res) + ) + ); + } + test_field_res(); + fn test_field_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(io_uring_cqe), + "::", + stringify!(flags) + ) + ); + } + test_field_flags(); } -pub const IORING_CQE_BUFFER_SHIFT: libc::c_uint = 16; +pub const IORING_CQE_BUFFER_SHIFT: _bindgen_ty_6 = 16; pub type _bindgen_ty_6 = libc::c_uint; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -871,96 +1096,159 @@ fn bindgen_test_layout_io_sqring_offsets() { 8usize, concat!("Alignment of ", stringify!(io_sqring_offsets)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).head as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_sqring_offsets), - "::", - stringify!(head) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).tail as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(io_sqring_offsets), - "::", - stringify!(tail) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).ring_mask as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(io_sqring_offsets), - "::", - stringify!(ring_mask) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).ring_entries as *const _ as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(io_sqring_offsets), - "::", - stringify!(ring_entries) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).flags as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(io_sqring_offsets), - "::", - stringify!(flags) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).dropped as *const _ as usize }, - 20usize, - concat!( - "Offset of field: ", - stringify!(io_sqring_offsets), - "::", - stringify!(dropped) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).array as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(io_sqring_offsets), - "::", - stringify!(array) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv1 as *const _ as usize }, - 28usize, - concat!( - "Offset of field: ", - stringify!(io_sqring_offsets), - "::", - stringify!(resv1) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv2 as *const _ as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(io_sqring_offsets), - "::", - stringify!(resv2) - ) - ); + fn test_field_head() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).head) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_sqring_offsets), + "::", + stringify!(head) + ) + ); + } + test_field_head(); + fn test_field_tail() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).tail) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(io_sqring_offsets), + "::", + stringify!(tail) + ) + ); + } + test_field_tail(); + fn test_field_ring_mask() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).ring_mask) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(io_sqring_offsets), + "::", + stringify!(ring_mask) + ) + ); + } + test_field_ring_mask(); + fn test_field_ring_entries() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).ring_entries) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(io_sqring_offsets), + "::", + stringify!(ring_entries) + ) + ); + } + test_field_ring_entries(); + fn test_field_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(io_sqring_offsets), + "::", + stringify!(flags) + ) + ); + } + test_field_flags(); + fn test_field_dropped() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).dropped) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(io_sqring_offsets), + "::", + stringify!(dropped) + ) + ); + } + test_field_dropped(); + fn test_field_array() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).array) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(io_sqring_offsets), + "::", + stringify!(array) + ) + ); + } + test_field_array(); + fn test_field_resv1() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv1) as usize - ptr as usize + }, + 28usize, + concat!( + "Offset of field: ", + stringify!(io_sqring_offsets), + "::", + stringify!(resv1) + ) + ); + } + test_field_resv1(); + fn test_field_resv2() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(io_sqring_offsets), + "::", + stringify!(resv2) + ) + ); + } + test_field_resv2(); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -987,96 +1275,159 @@ fn bindgen_test_layout_io_cqring_offsets() { 8usize, concat!("Alignment of ", stringify!(io_cqring_offsets)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).head as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_cqring_offsets), - "::", - stringify!(head) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).tail as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(io_cqring_offsets), - "::", - stringify!(tail) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).ring_mask as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(io_cqring_offsets), - "::", - stringify!(ring_mask) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).ring_entries as *const _ as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(io_cqring_offsets), - "::", - stringify!(ring_entries) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).overflow as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(io_cqring_offsets), - "::", - stringify!(overflow) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).cqes as *const _ as usize }, - 20usize, - concat!( - "Offset of field: ", - stringify!(io_cqring_offsets), - "::", - stringify!(cqes) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).flags as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(io_cqring_offsets), - "::", - stringify!(flags) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv1 as *const _ as usize }, - 28usize, - concat!( - "Offset of field: ", - stringify!(io_cqring_offsets), - "::", - stringify!(resv1) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv2 as *const _ as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(io_cqring_offsets), - "::", - stringify!(resv2) - ) - ); + fn test_field_head() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).head) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_cqring_offsets), + "::", + stringify!(head) + ) + ); + } + test_field_head(); + fn test_field_tail() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).tail) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(io_cqring_offsets), + "::", + stringify!(tail) + ) + ); + } + test_field_tail(); + fn test_field_ring_mask() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).ring_mask) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(io_cqring_offsets), + "::", + stringify!(ring_mask) + ) + ); + } + test_field_ring_mask(); + fn test_field_ring_entries() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).ring_entries) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(io_cqring_offsets), + "::", + stringify!(ring_entries) + ) + ); + } + test_field_ring_entries(); + fn test_field_overflow() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).overflow) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(io_cqring_offsets), + "::", + stringify!(overflow) + ) + ); + } + test_field_overflow(); + fn test_field_cqes() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).cqes) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(io_cqring_offsets), + "::", + stringify!(cqes) + ) + ); + } + test_field_cqes(); + fn test_field_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(io_cqring_offsets), + "::", + stringify!(flags) + ) + ); + } + test_field_flags(); + fn test_field_resv1() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv1) as usize - ptr as usize + }, + 28usize, + concat!( + "Offset of field: ", + stringify!(io_cqring_offsets), + "::", + stringify!(resv1) + ) + ); + } + test_field_resv1(); + fn test_field_resv2() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(io_cqring_offsets), + "::", + stringify!(resv2) + ) + ); + } + test_field_resv2(); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -1104,128 +1455,198 @@ fn bindgen_test_layout_io_uring_params() { 8usize, concat!("Alignment of ", stringify!(io_uring_params)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).sq_entries as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_params), - "::", - stringify!(sq_entries) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).cq_entries as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(io_uring_params), - "::", - stringify!(cq_entries) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).flags as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(io_uring_params), - "::", - stringify!(flags) - ) - ); - assert_eq!( - unsafe { &(*(::core::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 { &(*(::core::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 { &(*(::core::ptr::null::())).features as *const _ as usize }, - 20usize, - concat!( - "Offset of field: ", - stringify!(io_uring_params), - "::", - stringify!(features) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).wq_fd as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(io_uring_params), - "::", - stringify!(wq_fd) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv as *const _ as usize }, - 28usize, - concat!( - "Offset of field: ", - stringify!(io_uring_params), - "::", - stringify!(resv) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).sq_off as *const _ as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(io_uring_params), - "::", - stringify!(sq_off) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).cq_off as *const _ as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(io_uring_params), - "::", - stringify!(cq_off) - ) - ); + fn test_field_sq_entries() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).sq_entries) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_params), + "::", + stringify!(sq_entries) + ) + ); + } + test_field_sq_entries(); + fn test_field_cq_entries() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).cq_entries) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(io_uring_params), + "::", + stringify!(cq_entries) + ) + ); + } + test_field_cq_entries(); + fn test_field_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(io_uring_params), + "::", + stringify!(flags) + ) + ); + } + test_field_flags(); + fn test_field_sq_thread_cpu() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).sq_thread_cpu) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(io_uring_params), + "::", + stringify!(sq_thread_cpu) + ) + ); + } + test_field_sq_thread_cpu(); + fn test_field_sq_thread_idle() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).sq_thread_idle) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(io_uring_params), + "::", + stringify!(sq_thread_idle) + ) + ); + } + test_field_sq_thread_idle(); + fn test_field_features() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).features) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(io_uring_params), + "::", + stringify!(features) + ) + ); + } + test_field_features(); + fn test_field_wq_fd() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).wq_fd) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(io_uring_params), + "::", + stringify!(wq_fd) + ) + ); + } + test_field_wq_fd(); + fn test_field_resv() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize + }, + 28usize, + concat!( + "Offset of field: ", + stringify!(io_uring_params), + "::", + stringify!(resv) + ) + ); + } + test_field_resv(); + fn test_field_sq_off() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).sq_off) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(io_uring_params), + "::", + stringify!(sq_off) + ) + ); + } + test_field_sq_off(); + fn test_field_cq_off() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).cq_off) as usize - ptr as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(io_uring_params), + "::", + stringify!(cq_off) + ) + ); + } + test_field_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_FILES2: libc::c_uint = 13; -pub const IORING_REGISTER_FILES_UPDATE2: libc::c_uint = 14; -pub const IORING_REGISTER_BUFFERS2: libc::c_uint = 15; -pub const IORING_REGISTER_BUFFERS_UPDATE: libc::c_uint = 16; -pub const IORING_REGISTER_IOWQ_AFF: libc::c_uint = 17; -pub const IORING_UNREGISTER_IOWQ_AFF: libc::c_uint = 18; -pub const IORING_REGISTER_IOWQ_MAX_WORKERS: libc::c_uint = 19; -pub const IORING_REGISTER_LAST: libc::c_uint = 20; +pub const IORING_REGISTER_BUFFERS: _bindgen_ty_7 = 0; +pub const IORING_UNREGISTER_BUFFERS: _bindgen_ty_7 = 1; +pub const IORING_REGISTER_FILES: _bindgen_ty_7 = 2; +pub const IORING_UNREGISTER_FILES: _bindgen_ty_7 = 3; +pub const IORING_REGISTER_EVENTFD: _bindgen_ty_7 = 4; +pub const IORING_UNREGISTER_EVENTFD: _bindgen_ty_7 = 5; +pub const IORING_REGISTER_FILES_UPDATE: _bindgen_ty_7 = 6; +pub const IORING_REGISTER_EVENTFD_ASYNC: _bindgen_ty_7 = 7; +pub const IORING_REGISTER_PROBE: _bindgen_ty_7 = 8; +pub const IORING_REGISTER_PERSONALITY: _bindgen_ty_7 = 9; +pub const IORING_UNREGISTER_PERSONALITY: _bindgen_ty_7 = 10; +pub const IORING_REGISTER_RESTRICTIONS: _bindgen_ty_7 = 11; +pub const IORING_REGISTER_ENABLE_RINGS: _bindgen_ty_7 = 12; +pub const IORING_REGISTER_FILES2: _bindgen_ty_7 = 13; +pub const IORING_REGISTER_FILES_UPDATE2: _bindgen_ty_7 = 14; +pub const IORING_REGISTER_BUFFERS2: _bindgen_ty_7 = 15; +pub const IORING_REGISTER_BUFFERS_UPDATE: _bindgen_ty_7 = 16; +pub const IORING_REGISTER_IOWQ_AFF: _bindgen_ty_7 = 17; +pub const IORING_UNREGISTER_IOWQ_AFF: _bindgen_ty_7 = 18; +pub const IORING_REGISTER_IOWQ_MAX_WORKERS: _bindgen_ty_7 = 19; +pub const IORING_REGISTER_LAST: _bindgen_ty_7 = 20; pub type _bindgen_ty_7 = libc::c_uint; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -1246,36 +1667,57 @@ fn bindgen_test_layout_io_uring_files_update() { 8usize, concat!("Alignment of ", stringify!(io_uring_files_update)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).offset as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_files_update), - "::", - stringify!(offset) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(io_uring_files_update), - "::", - stringify!(resv) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).fds as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(io_uring_files_update), - "::", - stringify!(fds) - ) - ); + fn test_field_offset() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_files_update), + "::", + stringify!(offset) + ) + ); + } + test_field_offset(); + fn test_field_resv() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(io_uring_files_update), + "::", + stringify!(resv) + ) + ); + } + test_field_resv(); + fn test_field_fds() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).fds) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(io_uring_files_update), + "::", + stringify!(fds) + ) + ); + } + test_field_fds(); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -1298,56 +1740,91 @@ fn bindgen_test_layout_io_uring_rsrc_register() { 8usize, concat!("Alignment of ", stringify!(io_uring_rsrc_register)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).nr as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_register), - "::", - stringify!(nr) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_register), - "::", - stringify!(resv) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv2 as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_register), - "::", - stringify!(resv2) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).data as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_register), - "::", - stringify!(data) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).tags as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_register), - "::", - stringify!(tags) - ) - ); + fn test_field_nr() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).nr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_register), + "::", + stringify!(nr) + ) + ); + } + test_field_nr(); + fn test_field_resv() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_register), + "::", + stringify!(resv) + ) + ); + } + test_field_resv(); + fn test_field_resv2() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_register), + "::", + stringify!(resv2) + ) + ); + } + test_field_resv2(); + fn test_field_data() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_register), + "::", + stringify!(data) + ) + ); + } + test_field_data(); + fn test_field_tags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).tags) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_register), + "::", + stringify!(tags) + ) + ); + } + test_field_tags(); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -1368,36 +1845,57 @@ fn bindgen_test_layout_io_uring_rsrc_update() { 8usize, concat!("Alignment of ", stringify!(io_uring_rsrc_update)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).offset as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_update), - "::", - stringify!(offset) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_update), - "::", - stringify!(resv) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).data as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_update), - "::", - stringify!(data) - ) - ); + fn test_field_offset() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_update), + "::", + stringify!(offset) + ) + ); + } + test_field_offset(); + fn test_field_resv() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_update), + "::", + stringify!(resv) + ) + ); + } + test_field_resv(); + fn test_field_data() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_update), + "::", + stringify!(data) + ) + ); + } + test_field_data(); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -1421,66 +1919,108 @@ fn bindgen_test_layout_io_uring_rsrc_update2() { 8usize, concat!("Alignment of ", stringify!(io_uring_rsrc_update2)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).offset as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_update2), - "::", - stringify!(offset) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_update2), - "::", - stringify!(resv) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).data as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_update2), - "::", - stringify!(data) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).tags as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_update2), - "::", - stringify!(tags) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).nr as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_update2), - "::", - stringify!(nr) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv2 as *const _ as usize }, - 28usize, - concat!( - "Offset of field: ", - stringify!(io_uring_rsrc_update2), - "::", - stringify!(resv2) - ) - ); + fn test_field_offset() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_update2), + "::", + stringify!(offset) + ) + ); + } + test_field_offset(); + fn test_field_resv() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_update2), + "::", + stringify!(resv) + ) + ); + } + test_field_resv(); + fn test_field_data() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_update2), + "::", + stringify!(data) + ) + ); + } + test_field_data(); + fn test_field_tags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).tags) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_update2), + "::", + stringify!(tags) + ) + ); + } + test_field_tags(); + fn test_field_nr() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).nr) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_update2), + "::", + stringify!(nr) + ) + ); + } + test_field_nr(); + fn test_field_resv2() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize + }, + 28usize, + concat!( + "Offset of field: ", + stringify!(io_uring_rsrc_update2), + "::", + stringify!(resv2) + ) + ); + } + test_field_resv2(); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -1502,46 +2042,74 @@ fn bindgen_test_layout_io_uring_probe_op() { 4usize, concat!("Alignment of ", stringify!(io_uring_probe_op)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).op as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_probe_op), - "::", - stringify!(op) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv as *const _ as usize }, - 1usize, - concat!( - "Offset of field: ", - stringify!(io_uring_probe_op), - "::", - stringify!(resv) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).flags as *const _ as usize }, - 2usize, - concat!( - "Offset of field: ", - stringify!(io_uring_probe_op), - "::", - stringify!(flags) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv2 as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(io_uring_probe_op), - "::", - stringify!(resv2) - ) - ); + fn test_field_op() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).op) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_probe_op), + "::", + stringify!(op) + ) + ); + } + test_field_op(); + fn test_field_resv() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize + }, + 1usize, + concat!( + "Offset of field: ", + stringify!(io_uring_probe_op), + "::", + stringify!(resv) + ) + ); + } + test_field_resv(); + fn test_field_flags() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize + }, + 2usize, + concat!( + "Offset of field: ", + stringify!(io_uring_probe_op), + "::", + stringify!(flags) + ) + ); + } + test_field_flags(); + fn test_field_resv2() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(io_uring_probe_op), + "::", + stringify!(resv2) + ) + ); + } + test_field_resv2(); } #[repr(C)] #[derive(Debug, Default)] @@ -1564,56 +2132,91 @@ fn bindgen_test_layout_io_uring_probe() { 4usize, concat!("Alignment of ", stringify!(io_uring_probe)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).last_op as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_probe), - "::", - stringify!(last_op) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).ops_len as *const _ as usize }, - 1usize, - concat!( - "Offset of field: ", - stringify!(io_uring_probe), - "::", - stringify!(ops_len) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv as *const _ as usize }, - 2usize, - concat!( - "Offset of field: ", - stringify!(io_uring_probe), - "::", - stringify!(resv) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv2 as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(io_uring_probe), - "::", - stringify!(resv2) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).ops as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(io_uring_probe), - "::", - stringify!(ops) - ) - ); + fn test_field_last_op() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).last_op) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_probe), + "::", + stringify!(last_op) + ) + ); + } + test_field_last_op(); + fn test_field_ops_len() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).ops_len) as usize - ptr as usize + }, + 1usize, + concat!( + "Offset of field: ", + stringify!(io_uring_probe), + "::", + stringify!(ops_len) + ) + ); + } + test_field_ops_len(); + fn test_field_resv() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize + }, + 2usize, + concat!( + "Offset of field: ", + stringify!(io_uring_probe), + "::", + stringify!(resv) + ) + ); + } + test_field_resv(); + fn test_field_resv2() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(io_uring_probe), + "::", + stringify!(resv2) + ) + ); + } + test_field_resv2(); + fn test_field_ops() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).ops) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(io_uring_probe), + "::", + stringify!(ops) + ) + ); + } + test_field_ops(); } #[repr(C)] #[derive(Copy, Clone)] @@ -1645,45 +2248,60 @@ fn bindgen_test_layout_io_uring_restriction__bindgen_ty_1() { stringify!(io_uring_restriction__bindgen_ty_1) ) ); - assert_eq!( - unsafe { - &(*(::core::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 { - &(*(::core::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 { - &(*(::core::ptr::null::())).sqe_flags as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_restriction__bindgen_ty_1), - "::", - stringify!(sqe_flags) - ) - ); + fn test_field_register_op() { + assert_eq!( + unsafe { + let uninit = + ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).register_op) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_restriction__bindgen_ty_1), + "::", + stringify!(register_op) + ) + ); + } + test_field_register_op(); + fn test_field_sqe_op() { + assert_eq!( + unsafe { + let uninit = + ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).sqe_op) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_restriction__bindgen_ty_1), + "::", + stringify!(sqe_op) + ) + ); + } + test_field_sqe_op(); + fn test_field_sqe_flags() { + assert_eq!( + unsafe { + let uninit = + ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).sqe_flags) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_restriction__bindgen_ty_1), + "::", + stringify!(sqe_flags) + ) + ); + } + test_field_sqe_flags(); } impl Default for io_uring_restriction__bindgen_ty_1 { fn default() -> Self { @@ -1706,36 +2324,57 @@ fn bindgen_test_layout_io_uring_restriction() { 4usize, concat!("Alignment of ", stringify!(io_uring_restriction)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).opcode as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_restriction), - "::", - stringify!(opcode) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv as *const _ as usize }, - 3usize, - concat!( - "Offset of field: ", - stringify!(io_uring_restriction), - "::", - stringify!(resv) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).resv2 as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(io_uring_restriction), - "::", - stringify!(resv2) - ) - ); + fn test_field_opcode() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).opcode) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_restriction), + "::", + stringify!(opcode) + ) + ); + } + test_field_opcode(); + fn test_field_resv() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize + }, + 3usize, + concat!( + "Offset of field: ", + stringify!(io_uring_restriction), + "::", + stringify!(resv) + ) + ); + } + test_field_resv(); + fn test_field_resv2() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(io_uring_restriction), + "::", + stringify!(resv2) + ) + ); + } + test_field_resv2(); } impl Default for io_uring_restriction { fn default() -> Self { @@ -1746,11 +2385,11 @@ impl Default for io_uring_restriction { } } } -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 const IORING_RESTRICTION_REGISTER_OP: _bindgen_ty_9 = 0; +pub const IORING_RESTRICTION_SQE_OP: _bindgen_ty_9 = 1; +pub const IORING_RESTRICTION_SQE_FLAGS_ALLOWED: _bindgen_ty_9 = 2; +pub const IORING_RESTRICTION_SQE_FLAGS_REQUIRED: _bindgen_ty_9 = 3; +pub const IORING_RESTRICTION_LAST: _bindgen_ty_9 = 4; pub type _bindgen_ty_9 = libc::c_uint; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -1772,46 +2411,72 @@ fn bindgen_test_layout_io_uring_getevents_arg() { 8usize, concat!("Alignment of ", stringify!(io_uring_getevents_arg)) ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).sigmask as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(io_uring_getevents_arg), - "::", - stringify!(sigmask) - ) - ); - assert_eq!( - unsafe { - &(*(::core::ptr::null::())).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::())).pad as *const _ as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(io_uring_getevents_arg), - "::", - stringify!(pad) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::())).ts as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(io_uring_getevents_arg), - "::", - stringify!(ts) - ) - ); + fn test_field_sigmask() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).sigmask) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(io_uring_getevents_arg), + "::", + stringify!(sigmask) + ) + ); + } + test_field_sigmask(); + fn test_field_sigmask_sz() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).sigmask_sz) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(io_uring_getevents_arg), + "::", + stringify!(sigmask_sz) + ) + ); + } + test_field_sigmask_sz(); + fn test_field_pad() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(io_uring_getevents_arg), + "::", + stringify!(pad) + ) + ); + } + test_field_pad(); + fn test_field_ts() { + assert_eq!( + unsafe { + let uninit = ::core::mem::MaybeUninit::::uninit(); + let ptr = uninit.as_ptr(); + ::core::ptr::addr_of!((*ptr).ts) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(io_uring_getevents_arg), + "::", + stringify!(ts) + ) + ); + } + test_field_ts(); }