diff options
author | Gary Guo <[email protected]> | 2024-09-13 22:29:22 +0100 |
---|---|---|
committer | Miguel Ojeda <[email protected]> | 2024-11-10 23:58:00 +0100 |
commit | 2fd6f55c048d0c863ffbc8590b1bd2edb5ff13e5 (patch) | |
tree | f830b4aaaaeb239e160edd057d241bd09590ad41 /rust/bindings/lib.rs | |
parent | 75c1fd41a671a0843b89d1526411a837a7163fa2 (diff) |
rust: map `__kernel_size_t` and friends also to usize/isize
Currently bindgen has special logic to recognise `size_t` and `ssize_t`
and map them to Rust `usize` and `isize`. Similarly, `ptrdiff_t` is
mapped to `isize`.
However this falls short for `__kernel_size_t`, `__kernel_ssize_t` and
`__kernel_ptrdiff_t`. To ensure that they are mapped to usize/isize
rather than 32/64 integers depending on platform, blocklist them in
bindgen parameters and manually provide their definition.
Signed-off-by: Gary Guo <[email protected]>
Reviewed-by: Alice Ryhl <[email protected]>
Reviewed-by: Trevor Gross <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[ Formatted comment. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>
Diffstat (limited to 'rust/bindings/lib.rs')
-rw-r--r-- | rust/bindings/lib.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/rust/bindings/lib.rs b/rust/bindings/lib.rs index d6da3011281a..014af0d1fc70 100644 --- a/rust/bindings/lib.rs +++ b/rust/bindings/lib.rs @@ -27,6 +27,11 @@ #[allow(dead_code)] #[allow(clippy::undocumented_unsafe_blocks)] mod bindings_raw { + // Manual definition for blocklisted types. + type __kernel_size_t = usize; + type __kernel_ssize_t = isize; + type __kernel_ptrdiff_t = isize; + // Use glob import here to expose all helpers. // Symbols defined within the module will take precedence to the glob import. pub use super::bindings_helper::*; |