mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 20:33:54 -06:00
rust: re-export C types from qemu-api submodules
Long term we do not want device code to use "bindings" at all, so make it possible to get the relevant types from the other modules of qemu-api. Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
4aed0296b3
commit
716d89f9cc
5 changed files with 25 additions and 17 deletions
|
@ -10,6 +10,8 @@
|
|||
//! [`vmstate_fields`](crate::vmstate_fields) are meant to be used when
|
||||
//! declaring a device model state struct.
|
||||
|
||||
pub use crate::bindings::VMStateDescription;
|
||||
|
||||
#[doc(alias = "VMSTATE_UNUSED_BUFFER")]
|
||||
#[macro_export]
|
||||
macro_rules! vmstate_unused_buffer {
|
||||
|
@ -328,7 +330,7 @@ macro_rules! vmstate_fields {
|
|||
}
|
||||
|
||||
/// A transparent wrapper type for the `subsections` field of
|
||||
/// [`VMStateDescription`](crate::bindings::VMStateDescription).
|
||||
/// [`VMStateDescription`].
|
||||
///
|
||||
/// This is necessary to be able to declare subsection descriptions as statics,
|
||||
/// because the only way to implement `Sync` for a foreign type (and `*const`
|
||||
|
@ -342,9 +344,8 @@ pub struct VMStateSubsectionsWrapper(pub &'static [*const crate::bindings::VMSta
|
|||
|
||||
unsafe impl Sync for VMStateSubsectionsWrapper {}
|
||||
|
||||
/// Helper macro to declare a list of subsections
|
||||
/// ([`VMStateDescription`](`crate::bindings::VMStateDescription`)) into a
|
||||
/// static and return a pointer to the array of pointers it created.
|
||||
/// Helper macro to declare a list of subsections ([`VMStateDescription`])
|
||||
/// into a static and return a pointer to the array of pointers it created.
|
||||
#[macro_export]
|
||||
macro_rules! vmstate_subsections {
|
||||
($($subsection:expr),*$(,)*) => {{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue