summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Barman <ludovicb@google.com>2024-01-05 11:21:00 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-01-05 11:21:00 +0000
commit21e13e43fe25aaaa6ac2324f444d3ec08a10f818 (patch)
tree6615bddb635b73f47409218a2e4a00e5db3f92de
parentbf7e1484f16bc73af6da3da11d04e38d5b40f962 (diff)
parent45811f60b78b5c05a8c525a42551f243331b0ce0 (diff)
downloaduserfaultfd-sys-main.tar.gz
Upgrade userfaultfd-sys to 0.5.0 am: f1ac6acd0b am: e8235061b2 am: 45811f60b7HEADmastermain
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/userfaultfd-sys/+/2878121 Change-Id: I24d81ff148b968675a4b99609e3cd54bdcf092c6 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--.cargo_vcs_info.json2
-rw-r--r--Android.bp2
-rw-r--r--Cargo.toml4
-rw-r--r--Cargo.toml.orig4
-rw-r--r--METADATA21
-rw-r--r--src/consts.c4
-rw-r--r--src/out/bindings.rs1303
-rw-r--r--wrapper.h6
8 files changed, 531 insertions, 815 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index 9652dcc..fd6166e 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,6 +1,6 @@
{
"git": {
- "sha1": "cb2cd6d359b715e24144242e4580679897268ffd"
+ "sha1": "afcbd90872e7fa0fca2c416e786e4d62e948bced"
},
"path_in_vcs": "userfaultfd-sys"
} \ No newline at end of file
diff --git a/Android.bp b/Android.bp
index 7695561..5b17a3a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -44,7 +44,7 @@ rust_library {
host_supported: true,
crate_name: "userfaultfd_sys",
cargo_env_compat: true,
- cargo_pkg_version: "0.4.3",
+ cargo_pkg_version: "0.5.0",
srcs: ["src/lib.rs"],
edition: "2018",
features: ["default"],
diff --git a/Cargo.toml b/Cargo.toml
index eac1cb3..110da27 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,7 +12,7 @@
[package]
edition = "2018"
name = "userfaultfd-sys"
-version = "0.4.3"
+version = "0.5.0"
authors = ["The Wasmtime Project Developers"]
build = "build.rs"
description = "Low-level bindings for userfaultfd functionality on Linux."
@@ -23,7 +23,7 @@ repository = "https://github.com/bytecodealliance/userfaultfd-rs"
version = "^1.0.0"
[build-dependencies.bindgen]
-version = "^0.60.1"
+version = "^0.68.1"
features = ["runtime"]
default-features = false
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index 840d295..9062ce7 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
[package]
name = "userfaultfd-sys"
-version = "0.4.3"
+version = "0.5.0"
authors = ["The Wasmtime Project Developers"]
edition = "2018"
license = "MIT OR Apache-2.0"
@@ -13,7 +13,7 @@ build = "build.rs"
cfg-if = "^1.0.0"
[build-dependencies]
-bindgen = { version = "^0.60.1", default-features = false, features = ["runtime"] }
+bindgen = { version = "^0.68.1", default-features = false, features = ["runtime"] }
cc = "1.0"
[features]
diff --git a/METADATA b/METADATA
index 92f7519..fa44b09 100644
--- a/METADATA
+++ b/METADATA
@@ -1,23 +1,20 @@
# This project was upgraded with external_updater.
# Usage: tools/external_updater/updater.sh update rust/crates/userfaultfd-sys
-# For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md
+# For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md
name: "userfaultfd-sys"
description: "Low-level bindings for userfaultfd functionality on Linux."
third_party {
- url {
- type: HOMEPAGE
- value: "https://crates.io/crates/userfaultfd-sys"
- }
- url {
- type: ARCHIVE
- value: "https://static.crates.io/crates/userfaultfd-sys/userfaultfd-sys-0.4.3.crate"
- }
- version: "0.4.3"
license_type: NOTICE
last_upgrade_date {
year: 2023
- month: 3
- day: 30
+ month: 12
+ day: 16
+ }
+ homepage: "https://crates.io/crates/userfaultfd-sys"
+ identifier {
+ type: "Archive"
+ value: "https://static.crates.io/crates/userfaultfd-sys/userfaultfd-sys-0.5.0.crate"
+ version: "0.5.0"
}
}
diff --git a/src/consts.c b/src/consts.c
index e19ca74..df78dbb 100644
--- a/src/consts.c
+++ b/src/consts.c
@@ -69,3 +69,7 @@ const __u32 _const_UFFDIO_ZEROPAGE = UFFDIO_ZEROPAGE;
#ifdef UFFDIO_WRITEPROTECT
const __u32 _const_UFFDIO_WRITEPROTECT = UFFDIO_WRITEPROTECT;
#endif
+
+#ifdef USERFAULTFD_IOC
+const __u32 _const_USERFAULTFD_IOC = USERFAULTFD_IOC;
+#endif
diff --git a/src/out/bindings.rs b/src/out/bindings.rs
index 45e46fb..cff34be 100644
--- a/src/out/bindings.rs
+++ b/src/out/bindings.rs
@@ -1,5 +1,6 @@
-/* automatically generated by rust-bindgen 0.60.1 */
+/* automatically generated by rust-bindgen 0.68.1 */
+pub const USERFAULTFD_IOC: u32 = 170;
pub const _UFFDIO_REGISTER: u64 = 0;
pub const _UFFDIO_UNREGISTER: u64 = 1;
pub const _UFFDIO_WAKE: u64 = 2;
@@ -30,6 +31,7 @@ pub const UFFD_FEATURE_MINOR_HUGETLBFS: u64 = 512;
pub const UFFD_FEATURE_MINOR_SHMEM: u64 = 1024;
pub const UFFD_FEATURE_EXACT_ADDRESS: u64 = 2048;
pub const UFFD_FEATURE_WP_HUGETLBFS_SHMEM: u64 = 4096;
+pub const UFFD_FEATURE_WP_UNPOPULATED: u64 = 8192;
pub const UFFD_USER_MODE_ONLY: u32 = 1;
pub type __s8 = ::std::os::raw::c_schar;
pub type __u8 = ::std::os::raw::c_uchar;
@@ -46,6 +48,8 @@ pub struct __kernel_fd_set {
}
#[test]
fn bindgen_test_layout___kernel_fd_set() {
+ const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__kernel_fd_set>(),
128usize,
@@ -56,23 +60,16 @@ fn bindgen_test_layout___kernel_fd_set() {
8usize,
concat!("Alignment of ", stringify!(__kernel_fd_set))
);
- fn test_field_fds_bits() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<__kernel_fd_set>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(__kernel_fd_set),
- "::",
- stringify!(fds_bits)
- )
- );
- }
- test_field_fds_bits();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__kernel_fd_set),
+ "::",
+ stringify!(fds_bits)
+ )
+ );
}
pub type __kernel_sighandler_t =
::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
@@ -103,6 +100,8 @@ pub struct __kernel_fsid_t {
}
#[test]
fn bindgen_test_layout___kernel_fsid_t() {
+ const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__kernel_fsid_t>(),
8usize,
@@ -113,23 +112,16 @@ fn bindgen_test_layout___kernel_fsid_t() {
4usize,
concat!("Alignment of ", stringify!(__kernel_fsid_t))
);
- fn test_field_val() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<__kernel_fsid_t>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(__kernel_fsid_t),
- "::",
- stringify!(val)
- )
- );
- }
- test_field_val();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__kernel_fsid_t),
+ "::",
+ stringify!(val)
+ )
+ );
}
pub type __kernel_off_t = __kernel_long_t;
pub type __kernel_loff_t = ::std::os::raw::c_longlong;
@@ -142,6 +134,8 @@ pub type __kernel_clockid_t = ::std::os::raw::c_int;
pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
+pub type __s128 = i128;
+pub type __u128 = u128;
pub type __poll_t = ::std::os::raw::c_uint;
#[repr(C, packed)]
#[derive(Copy, Clone)]
@@ -175,6 +169,9 @@ pub union uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
}
#[test]
fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
4usize,
@@ -191,28 +188,22 @@ fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
)
);
- fn test_field_ptid() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<
- uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
- >::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).ptid) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
- "::",
- stringify!(ptid)
- )
- );
- }
- test_field_ptid();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ptid) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
+ "::",
+ stringify!(ptid)
+ )
+ );
}
#[test]
fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<uffd_msg__bindgen_ty_1__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffd_msg__bindgen_ty_1__bindgen_ty_1>(),
24usize,
@@ -229,60 +220,36 @@ fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_1() {
stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_1)
)
);
- fn test_field_flags() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_1>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_1),
- "::",
- stringify!(flags)
- )
- );
- }
- test_field_flags();
- fn test_field_address() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_1>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).address) as usize - ptr as usize
- },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_1),
- "::",
- stringify!(address)
- )
- );
- }
- test_field_address();
- fn test_field_feat() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_1>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).feat) as usize - ptr as usize
- },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_1),
- "::",
- stringify!(feat)
- )
- );
- }
- test_field_feat();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_1),
+ "::",
+ stringify!(flags)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).address) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_1),
+ "::",
+ stringify!(address)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).feat) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_1),
+ "::",
+ stringify!(feat)
+ )
+ );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -291,6 +258,9 @@ pub struct uffd_msg__bindgen_ty_1__bindgen_ty_2 {
}
#[test]
fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_2() {
+ const UNINIT: ::std::mem::MaybeUninit<uffd_msg__bindgen_ty_1__bindgen_ty_2> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffd_msg__bindgen_ty_1__bindgen_ty_2>(),
4usize,
@@ -307,24 +277,16 @@ fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_2() {
stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_2)
)
);
- fn test_field_ufd() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_2>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).ufd) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_2),
- "::",
- stringify!(ufd)
- )
- );
- }
- test_field_ufd();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ufd) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_2),
+ "::",
+ stringify!(ufd)
+ )
+ );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -335,6 +297,9 @@ pub struct uffd_msg__bindgen_ty_1__bindgen_ty_3 {
}
#[test]
fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_3() {
+ const UNINIT: ::std::mem::MaybeUninit<uffd_msg__bindgen_ty_1__bindgen_ty_3> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffd_msg__bindgen_ty_1__bindgen_ty_3>(),
24usize,
@@ -351,60 +316,36 @@ fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_3() {
stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_3)
)
);
- fn test_field_from() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_3>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).from) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_3),
- "::",
- stringify!(from)
- )
- );
- }
- test_field_from();
- fn test_field_to() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_3>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).to) as usize - ptr as usize
- },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_3),
- "::",
- stringify!(to)
- )
- );
- }
- test_field_to();
- fn test_field_len() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_3>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize
- },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_3),
- "::",
- stringify!(len)
- )
- );
- }
- test_field_len();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).from) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_3),
+ "::",
+ stringify!(from)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).to) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_3),
+ "::",
+ stringify!(to)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_3),
+ "::",
+ stringify!(len)
+ )
+ );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -414,6 +355,9 @@ pub struct uffd_msg__bindgen_ty_1__bindgen_ty_4 {
}
#[test]
fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_4() {
+ const UNINIT: ::std::mem::MaybeUninit<uffd_msg__bindgen_ty_1__bindgen_ty_4> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffd_msg__bindgen_ty_1__bindgen_ty_4>(),
16usize,
@@ -430,42 +374,26 @@ fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_4() {
stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_4)
)
);
- fn test_field_start() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_4>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_4),
- "::",
- stringify!(start)
- )
- );
- }
- test_field_start();
- fn test_field_end() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_4>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize
- },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_4),
- "::",
- stringify!(end)
- )
- );
- }
- test_field_end();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_4),
+ "::",
+ stringify!(start)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_4),
+ "::",
+ stringify!(end)
+ )
+ );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -476,6 +404,9 @@ pub struct uffd_msg__bindgen_ty_1__bindgen_ty_5 {
}
#[test]
fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_5() {
+ const UNINIT: ::std::mem::MaybeUninit<uffd_msg__bindgen_ty_1__bindgen_ty_5> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffd_msg__bindgen_ty_1__bindgen_ty_5>(),
24usize,
@@ -492,63 +423,42 @@ fn bindgen_test_layout_uffd_msg__bindgen_ty_1__bindgen_ty_5() {
stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_5)
)
);
- fn test_field_reserved1() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_5>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_5),
- "::",
- stringify!(reserved1)
- )
- );
- }
- test_field_reserved1();
- fn test_field_reserved2() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_5>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize
- },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_5),
- "::",
- stringify!(reserved2)
- )
- );
- }
- test_field_reserved2();
- fn test_field_reserved3() {
- assert_eq!(
- unsafe {
- let uninit =
- ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1__bindgen_ty_5>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize
- },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_5),
- "::",
- stringify!(reserved3)
- )
- );
- }
- test_field_reserved3();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_5),
+ "::",
+ stringify!(reserved1)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_5),
+ "::",
+ stringify!(reserved2)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1__bindgen_ty_5),
+ "::",
+ stringify!(reserved3)
+ )
+ );
}
#[test]
fn bindgen_test_layout_uffd_msg__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<uffd_msg__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffd_msg__bindgen_ty_1>(),
24usize,
@@ -559,94 +469,61 @@ fn bindgen_test_layout_uffd_msg__bindgen_ty_1() {
8usize,
concat!("Alignment of ", stringify!(uffd_msg__bindgen_ty_1))
);
- fn test_field_pagefault() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).pagefault) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1),
- "::",
- stringify!(pagefault)
- )
- );
- }
- test_field_pagefault();
- fn test_field_fork() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).fork) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1),
- "::",
- stringify!(fork)
- )
- );
- }
- test_field_fork();
- fn test_field_remap() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).remap) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1),
- "::",
- stringify!(remap)
- )
- );
- }
- test_field_remap();
- fn test_field_remove() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).remove) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1),
- "::",
- stringify!(remove)
- )
- );
- }
- test_field_remove();
- fn test_field_reserved() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffd_msg__bindgen_ty_1>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg__bindgen_ty_1),
- "::",
- stringify!(reserved)
- )
- );
- }
- test_field_reserved();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pagefault) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1),
+ "::",
+ stringify!(pagefault)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).fork) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1),
+ "::",
+ stringify!(fork)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).remap) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1),
+ "::",
+ stringify!(remap)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).remove) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1),
+ "::",
+ stringify!(remove)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg__bindgen_ty_1),
+ "::",
+ stringify!(reserved)
+ )
+ );
}
#[test]
fn bindgen_test_layout_uffd_msg() {
+ const UNINIT: ::std::mem::MaybeUninit<uffd_msg> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffd_msg>(),
32usize,
@@ -657,91 +534,56 @@ fn bindgen_test_layout_uffd_msg() {
1usize,
concat!("Alignment of ", stringify!(uffd_msg))
);
- fn test_field_event() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffd_msg>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg),
- "::",
- stringify!(event)
- )
- );
- }
- test_field_event();
- fn test_field_reserved1() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffd_msg>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize
- },
- 1usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg),
- "::",
- stringify!(reserved1)
- )
- );
- }
- test_field_reserved1();
- fn test_field_reserved2() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffd_msg>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize
- },
- 2usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg),
- "::",
- stringify!(reserved2)
- )
- );
- }
- test_field_reserved2();
- fn test_field_reserved3() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffd_msg>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize
- },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg),
- "::",
- stringify!(reserved3)
- )
- );
- }
- test_field_reserved3();
- fn test_field_arg() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffd_msg>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize
- },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(uffd_msg),
- "::",
- stringify!(arg)
- )
- );
- }
- test_field_arg();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg),
+ "::",
+ stringify!(event)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
+ 1usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg),
+ "::",
+ stringify!(reserved1)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
+ 2usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg),
+ "::",
+ stringify!(reserved2)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg),
+ "::",
+ stringify!(reserved3)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffd_msg),
+ "::",
+ stringify!(arg)
+ )
+ );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -752,6 +594,8 @@ pub struct uffdio_api {
}
#[test]
fn bindgen_test_layout_uffdio_api() {
+ const UNINIT: ::std::mem::MaybeUninit<uffdio_api> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffdio_api>(),
24usize,
@@ -762,57 +606,36 @@ fn bindgen_test_layout_uffdio_api() {
8usize,
concat!("Alignment of ", stringify!(uffdio_api))
);
- fn test_field_api() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_api>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).api) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_api),
- "::",
- stringify!(api)
- )
- );
- }
- test_field_api();
- fn test_field_features() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_api>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).features) as usize - ptr as usize
- },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_api),
- "::",
- stringify!(features)
- )
- );
- }
- test_field_features();
- fn test_field_ioctls() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_api>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).ioctls) as usize - ptr as usize
- },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_api),
- "::",
- stringify!(ioctls)
- )
- );
- }
- test_field_ioctls();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).api) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_api),
+ "::",
+ stringify!(api)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).features) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_api),
+ "::",
+ stringify!(features)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ioctls) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_api),
+ "::",
+ stringify!(ioctls)
+ )
+ );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -822,6 +645,8 @@ pub struct uffdio_range {
}
#[test]
fn bindgen_test_layout_uffdio_range() {
+ const UNINIT: ::std::mem::MaybeUninit<uffdio_range> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffdio_range>(),
16usize,
@@ -832,40 +657,26 @@ fn bindgen_test_layout_uffdio_range() {
8usize,
concat!("Alignment of ", stringify!(uffdio_range))
);
- fn test_field_start() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_range>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_range),
- "::",
- stringify!(start)
- )
- );
- }
- test_field_start();
- fn test_field_len() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_range>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize
- },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_range),
- "::",
- stringify!(len)
- )
- );
- }
- test_field_len();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_range),
+ "::",
+ stringify!(start)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_range),
+ "::",
+ stringify!(len)
+ )
+ );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -876,6 +687,8 @@ pub struct uffdio_register {
}
#[test]
fn bindgen_test_layout_uffdio_register() {
+ const UNINIT: ::std::mem::MaybeUninit<uffdio_register> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffdio_register>(),
32usize,
@@ -886,57 +699,36 @@ fn bindgen_test_layout_uffdio_register() {
8usize,
concat!("Alignment of ", stringify!(uffdio_register))
);
- fn test_field_range() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_register>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).range) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_register),
- "::",
- stringify!(range)
- )
- );
- }
- test_field_range();
- fn test_field_mode() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_register>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize
- },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_register),
- "::",
- stringify!(mode)
- )
- );
- }
- test_field_mode();
- fn test_field_ioctls() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_register>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).ioctls) as usize - ptr as usize
- },
- 24usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_register),
- "::",
- stringify!(ioctls)
- )
- );
- }
- test_field_ioctls();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).range) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_register),
+ "::",
+ stringify!(range)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_register),
+ "::",
+ stringify!(mode)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ioctls) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_register),
+ "::",
+ stringify!(ioctls)
+ )
+ );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -949,6 +741,8 @@ pub struct uffdio_copy {
}
#[test]
fn bindgen_test_layout_uffdio_copy() {
+ const UNINIT: ::std::mem::MaybeUninit<uffdio_copy> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffdio_copy>(),
40usize,
@@ -959,91 +753,56 @@ fn bindgen_test_layout_uffdio_copy() {
8usize,
concat!("Alignment of ", stringify!(uffdio_copy))
);
- fn test_field_dst() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_copy>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).dst) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_copy),
- "::",
- stringify!(dst)
- )
- );
- }
- test_field_dst();
- fn test_field_src() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_copy>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).src) as usize - ptr as usize
- },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_copy),
- "::",
- stringify!(src)
- )
- );
- }
- test_field_src();
- fn test_field_len() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_copy>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize
- },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_copy),
- "::",
- stringify!(len)
- )
- );
- }
- test_field_len();
- fn test_field_mode() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_copy>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize
- },
- 24usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_copy),
- "::",
- stringify!(mode)
- )
- );
- }
- test_field_mode();
- fn test_field_copy() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_copy>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize
- },
- 32usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_copy),
- "::",
- stringify!(copy)
- )
- );
- }
- test_field_copy();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).dst) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_copy),
+ "::",
+ stringify!(dst)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).src) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_copy),
+ "::",
+ stringify!(src)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_copy),
+ "::",
+ stringify!(len)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_copy),
+ "::",
+ stringify!(mode)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize },
+ 32usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_copy),
+ "::",
+ stringify!(copy)
+ )
+ );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -1054,6 +813,8 @@ pub struct uffdio_zeropage {
}
#[test]
fn bindgen_test_layout_uffdio_zeropage() {
+ const UNINIT: ::std::mem::MaybeUninit<uffdio_zeropage> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffdio_zeropage>(),
32usize,
@@ -1064,57 +825,36 @@ fn bindgen_test_layout_uffdio_zeropage() {
8usize,
concat!("Alignment of ", stringify!(uffdio_zeropage))
);
- fn test_field_range() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_zeropage>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).range) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_zeropage),
- "::",
- stringify!(range)
- )
- );
- }
- test_field_range();
- fn test_field_mode() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_zeropage>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize
- },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_zeropage),
- "::",
- stringify!(mode)
- )
- );
- }
- test_field_mode();
- fn test_field_zeropage() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_zeropage>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).zeropage) as usize - ptr as usize
- },
- 24usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_zeropage),
- "::",
- stringify!(zeropage)
- )
- );
- }
- test_field_zeropage();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).range) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_zeropage),
+ "::",
+ stringify!(range)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_zeropage),
+ "::",
+ stringify!(mode)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).zeropage) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_zeropage),
+ "::",
+ stringify!(zeropage)
+ )
+ );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -1124,6 +864,8 @@ pub struct uffdio_writeprotect {
}
#[test]
fn bindgen_test_layout_uffdio_writeprotect() {
+ const UNINIT: ::std::mem::MaybeUninit<uffdio_writeprotect> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffdio_writeprotect>(),
24usize,
@@ -1134,40 +876,26 @@ fn bindgen_test_layout_uffdio_writeprotect() {
8usize,
concat!("Alignment of ", stringify!(uffdio_writeprotect))
);
- fn test_field_range() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_writeprotect>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).range) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_writeprotect),
- "::",
- stringify!(range)
- )
- );
- }
- test_field_range();
- fn test_field_mode() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_writeprotect>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize
- },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_writeprotect),
- "::",
- stringify!(mode)
- )
- );
- }
- test_field_mode();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).range) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_writeprotect),
+ "::",
+ stringify!(range)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_writeprotect),
+ "::",
+ stringify!(mode)
+ )
+ );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -1178,6 +906,8 @@ pub struct uffdio_continue {
}
#[test]
fn bindgen_test_layout_uffdio_continue() {
+ const UNINIT: ::std::mem::MaybeUninit<uffdio_continue> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uffdio_continue>(),
32usize,
@@ -1188,55 +918,34 @@ fn bindgen_test_layout_uffdio_continue() {
8usize,
concat!("Alignment of ", stringify!(uffdio_continue))
);
- fn test_field_range() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_continue>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).range) as usize - ptr as usize
- },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_continue),
- "::",
- stringify!(range)
- )
- );
- }
- test_field_range();
- fn test_field_mode() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_continue>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize
- },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_continue),
- "::",
- stringify!(mode)
- )
- );
- }
- test_field_mode();
- fn test_field_mapped() {
- assert_eq!(
- unsafe {
- let uninit = ::std::mem::MaybeUninit::<uffdio_continue>::uninit();
- let ptr = uninit.as_ptr();
- ::std::ptr::addr_of!((*ptr).mapped) as usize - ptr as usize
- },
- 24usize,
- concat!(
- "Offset of field: ",
- stringify!(uffdio_continue),
- "::",
- stringify!(mapped)
- )
- );
- }
- test_field_mapped();
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).range) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_continue),
+ "::",
+ stringify!(range)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_continue),
+ "::",
+ stringify!(mode)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mapped) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(uffdio_continue),
+ "::",
+ stringify!(mapped)
+ )
+ );
}
diff --git a/wrapper.h b/wrapper.h
index 42ab19c..7cffde4 100644
--- a/wrapper.h
+++ b/wrapper.h
@@ -4,3 +4,9 @@
// userfaultfd-sys has the same exports on all kernels
#define UFFD_USER_MODE_ONLY 1
#endif
+
+
+#ifndef USERFAULTFD_IOC
+// Similarly, the ioctl() for `/dev/userfaultfd` is introduced with Linux 6.1.
+#define USERFAULTFD_IOC 0xAA
+#endif