Skip to main content

xen/ctrl/domain/
info.rs

1use xen_sys::xen_domctl_getdomaininfo;
2
3pub struct XenDomainInfo {
4    pub total_pages: u64,
5    pub max_pages: u64,
6    pub outstanding_pages: u64,
7    pub shared_pages: u64,
8    pub paged_pages: u64,
9    pub shared_info_frame: u64,
10    pub cpu_time: u64,
11    pub nr_online_vcpus: u32,
12    pub max_vcpu_id: u16,
13}
14
15impl From<xen_domctl_getdomaininfo> for XenDomainInfo {
16    fn from(value: xen_domctl_getdomaininfo) -> Self {
17        Self {
18            total_pages: value.tot_pages,
19            max_pages: value.max_pages,
20            outstanding_pages: value.outstanding_pages,
21            shared_pages: value.shr_pages,
22            paged_pages: value.paged_pages,
23            shared_info_frame: value.shared_info_frame,
24            cpu_time: value.cpu_time,
25            nr_online_vcpus: value.nr_online_vcpus,
26            max_vcpu_id: value.max_vcpu_id as _,
27        }
28    }
29}