rust: map `__kernel_size_t` and friends also to usize/isize
authorGary Guo <gary@garyguo.net>
Fri, 13 Sep 2024 21:29:22 +0000 (22:29 +0100)
committerMiguel Ojeda <ojeda@kernel.org>
Sun, 10 Nov 2024 22:58:00 +0000 (23:58 +0100)
commit2fd6f55c048d0c863ffbc8590b1bd2edb5ff13e5
treef830b4aaaaeb239e160edd057d241bd09590ad41
parent75c1fd41a671a0843b89d1526411a837a7163fa2
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 <gary@garyguo.net>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Trevor Gross <tmgross@umich.edu>
Link: https://lore.kernel.org/r/20240913213041.395655-3-gary@garyguo.net
[ Formatted comment. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/bindgen_parameters
rust/bindings/lib.rs
rust/uapi/lib.rs