xref: /linux/rust/uapi/lib.rs (revision 798bb342e0416d846cf67f4725a3428f39bfb96b)
1 // SPDX-License-Identifier: GPL-2.0
2 
3 //! UAPI Bindings.
4 //!
5 //! Contains the bindings generated by `bindgen` for UAPI interfaces.
6 //!
7 //! This crate may be used directly by drivers that need to interact with
8 //! userspace APIs.
9 
10 #![no_std]
11 // See <https://github.com/rust-lang/rust-bindgen/issues/1651>.
12 #![cfg_attr(test, allow(deref_nullptr))]
13 #![cfg_attr(test, allow(unaligned_references))]
14 #![cfg_attr(test, allow(unsafe_op_in_unsafe_fn))]
15 #![allow(
16     clippy::all,
17     clippy::undocumented_unsafe_blocks,
18     dead_code,
19     missing_docs,
20     non_camel_case_types,
21     non_upper_case_globals,
22     non_snake_case,
23     improper_ctypes,
24     unreachable_pub,
25     unsafe_op_in_unsafe_fn
26 )]
27 
28 // Manual definition of blocklisted types.
29 type __kernel_size_t = usize;
30 type __kernel_ssize_t = isize;
31 type __kernel_ptrdiff_t = isize;
32 
33 include!(concat!(env!("OBJTREE"), "/rust/uapi/uapi_generated.rs"));
34