xref: /qemu/rust/qemu-api/src/bindings.rs (revision 6ff5da16000f908140723e164d33a0b51a6c4162)
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 #![allow(
3     dead_code,
4     improper_ctypes_definitions,
5     improper_ctypes,
6     non_camel_case_types,
7     non_snake_case,
8     non_upper_case_globals,
9     unsafe_op_in_unsafe_fn,
10     clippy::pedantic,
11     clippy::restriction,
12     clippy::style,
13     clippy::missing_const_for_fn,
14     clippy::useless_transmute,
15     clippy::missing_safety_doc
16 )]
17 
18 //! `bindgen`-generated declarations.
19 
20 #[cfg(MESON)]
21 include!("bindings.inc.rs");
22 
23 #[cfg(not(MESON))]
24 include!(concat!(env!("OUT_DIR"), "/bindings.inc.rs"));
25 
26 // SAFETY: these are implemented in C; the bindings need to assert that the
27 // BQL is taken, either directly or via `BqlCell` and `BqlRefCell`.
28 unsafe impl Send for BusState {}
29 unsafe impl Sync for BusState {}
30 
31 unsafe impl Send for CharBackend {}
32 unsafe impl Sync for CharBackend {}
33 
34 unsafe impl Send for Chardev {}
35 unsafe impl Sync for Chardev {}
36 
37 unsafe impl Send for Clock {}
38 unsafe impl Sync for Clock {}
39 
40 unsafe impl Send for DeviceState {}
41 unsafe impl Sync for DeviceState {}
42 
43 unsafe impl Send for MemoryRegion {}
44 unsafe impl Sync for MemoryRegion {}
45 
46 unsafe impl Send for ObjectClass {}
47 unsafe impl Sync for ObjectClass {}
48 
49 unsafe impl Send for Object {}
50 unsafe impl Sync for Object {}
51 
52 unsafe impl Send for SysBusDevice {}
53 unsafe impl Sync for SysBusDevice {}
54 
55 // SAFETY: this is a pure data struct
56 unsafe impl Send for CoalescedMemoryRange {}
57 unsafe impl Sync for CoalescedMemoryRange {}
58 
59 // SAFETY: these are constants and vtables; the Send and Sync requirements
60 // are deferred to the unsafe callbacks that they contain
61 unsafe impl Send for MemoryRegionOps {}
62 unsafe impl Sync for MemoryRegionOps {}
63 
64 unsafe impl Send for Property {}
65 unsafe impl Sync for Property {}
66 
67 unsafe impl Send for TypeInfo {}
68 unsafe impl Sync for TypeInfo {}
69 
70 unsafe impl Send for VMStateDescription {}
71 unsafe impl Sync for VMStateDescription {}
72 
73 unsafe impl Send for VMStateField {}
74 unsafe impl Sync for VMStateField {}
75 
76 unsafe impl Send for VMStateInfo {}
77 unsafe impl Sync for VMStateInfo {}
78