xref: /linux-6.15/rust/uapi/lib.rs (revision 7129ea6e)
14e174665SAsahi Lina // SPDX-License-Identifier: GPL-2.0
24e174665SAsahi Lina 
34e174665SAsahi Lina //! UAPI Bindings.
44e174665SAsahi Lina //!
54e174665SAsahi Lina //! Contains the bindings generated by `bindgen` for UAPI interfaces.
64e174665SAsahi Lina //!
74e174665SAsahi Lina //! This crate may be used directly by drivers that need to interact with
84e174665SAsahi Lina //! userspace APIs.
94e174665SAsahi Lina 
104e174665SAsahi Lina #![no_std]
114e174665SAsahi Lina // See <https://github.com/rust-lang/rust-bindgen/issues/1651>.
124e174665SAsahi Lina #![cfg_attr(test, allow(deref_nullptr))]
134e174665SAsahi Lina #![cfg_attr(test, allow(unaligned_references))]
144e174665SAsahi Lina #![cfg_attr(test, allow(unsafe_op_in_unsafe_fn))]
154e174665SAsahi Lina #![allow(
164e174665SAsahi Lina     clippy::all,
17db4f72c9SMiguel Ojeda     clippy::undocumented_unsafe_blocks,
18f85bea18SMiguel Ojeda     dead_code,
194e174665SAsahi Lina     missing_docs,
204e174665SAsahi Lina     non_camel_case_types,
214e174665SAsahi Lina     non_upper_case_globals,
224e174665SAsahi Lina     non_snake_case,
234e174665SAsahi Lina     improper_ctypes,
244e174665SAsahi Lina     unreachable_pub,
254e174665SAsahi Lina     unsafe_op_in_unsafe_fn
264e174665SAsahi Lina )]
27*7129ea6eSMiguel Ojeda #![cfg_attr(CONFIG_RUSTC_HAS_UNNECESSARY_TRANSMUTES, allow(unnecessary_transmutes))]
284e174665SAsahi Lina 
292fd6f55cSGary Guo // Manual definition of blocklisted types.
302fd6f55cSGary Guo type __kernel_size_t = usize;
312fd6f55cSGary Guo type __kernel_ssize_t = isize;
322fd6f55cSGary Guo type __kernel_ptrdiff_t = isize;
332fd6f55cSGary Guo 
344e174665SAsahi Lina include!(concat!(env!("OBJTREE"), "/rust/uapi/uapi_generated.rs"));
35