1use volatile::access::{ReadOnly, ReadWrite};
2use volatile_macro::VolatileFieldAccess;
3
4pub use super::features::balloon::F;
5use crate::le32;
6
7#[doc(alias = "virtio_balloon_config")]
11#[cfg_attr(
12 feature = "zerocopy",
13 derive(
14 zerocopy_derive::KnownLayout,
15 zerocopy_derive::Immutable,
16 zerocopy_derive::FromBytes,
17 )
18)]
19#[derive(VolatileFieldAccess)]
20#[repr(C)]
21pub struct Config {
22 #[access(ReadOnly)]
23 num_pages: le32,
24
25 #[access(ReadWrite)]
26 actual: le32,
27
28 #[access(ReadOnly)]
29 free_page_hint_cmd_id: le32,
30
31 #[access(ReadWrite)]
32 poison_val: le32,
33}