| // SPDX-License-Identifier: GPL-2.0-or-later | |
| #![allow( | |
| dead_code, | |
| improper_ctypes_definitions, | |
| improper_ctypes, | |
| non_camel_case_types, | |
| non_snake_case, | |
| non_upper_case_globals, | |
| unnecessary_transmutes, | |
| unsafe_op_in_unsafe_fn, | |
| clippy::pedantic, | |
| clippy::restriction, | |
| clippy::style, | |
| clippy::missing_const_for_fn, | |
| clippy::ptr_offset_with_cast, | |
| clippy::useless_transmute, | |
| clippy::missing_safety_doc, | |
| clippy::too_many_arguments | |
| )] | |
| //! `bindgen`-generated declarations. | |
| #[cfg(MESON)] | |
| include!("bindings.inc.rs"); | |
| #[cfg(not(MESON))] | |
| include!(concat!(env!("OUT_DIR"), "/bindings.inc.rs")); | |
| // SAFETY: these are implemented in C; the bindings need to assert that the | |
| // BQL is taken, either directly or via `BqlCell` and `BqlRefCell`. | |
| // When bindings for character devices are introduced, this can be | |
| // moved to the Opaque<> wrapper in src/chardev.rs. | |
| unsafe impl Send for CharBackend {} | |
| unsafe impl Sync for CharBackend {} | |
| // SAFETY: this is a pure data struct | |
| unsafe impl Send for CoalescedMemoryRange {} | |
| unsafe impl Sync for CoalescedMemoryRange {} | |
| // SAFETY: these are constants and vtables; the Send and Sync requirements | |
| // are deferred to the unsafe callbacks that they contain | |
| unsafe impl Send for MemoryRegionOps {} | |
| unsafe impl Sync for MemoryRegionOps {} | |
| unsafe impl Send for Property {} | |
| unsafe impl Sync for Property {} | |
| unsafe impl Send for TypeInfo {} | |
| unsafe impl Sync for TypeInfo {} | |
| unsafe impl Send for VMStateDescription {} | |
| unsafe impl Sync for VMStateDescription {} | |
| unsafe impl Send for VMStateField {} | |
| unsafe impl Sync for VMStateField {} | |
| unsafe impl Send for VMStateInfo {} | |
| unsafe impl Sync for VMStateInfo {} |