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 #![allow( 12 clippy::all, 13 clippy::as_underscore, 14 clippy::cast_lossless, 15 clippy::ptr_as_ptr, 16 clippy::ref_as_ptr, 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 #![cfg_attr(not(CONFIG_RUSTC_HAS_UNNECESSARY_TRANSMUTES), allow(unknown_lints))] 28 #![allow(unnecessary_transmutes)] 29 #![cfg_attr( 30 CONFIG_RUSTC_HAS_SUSPICIOUS_RUNTIME_SYMBOL_DEFINITIONS, 31 allow(suspicious_runtime_symbol_definitions) 32 )] 33 #![feature(cfi_encoding)] 34 35 // Manual definition of blocklisted types. 36 type __kernel_size_t = usize; 37 type __kernel_ssize_t = isize; 38 type __kernel_ptrdiff_t = isize; 39 40 use pin_init::MaybeZeroable; 41 42 include!(concat!(env!("OBJTREE"), "/rust/uapi/uapi_generated.rs")); 43