use crate::SDTHeader;
#[derive(Copy, Clone)]
#[repr(C, packed)]
pub struct CorrectedPlatformErrorPollingProcessor {
pub r#type: u8,
pub length: u8,
pub processor_id: u8,
pub processor_eid: u8,
pub polling_interval: u32,
}
#[derive(Copy, Clone)]
#[repr(C, packed)]
pub struct CorrectedPlatformErrorPolling {
pub header: SDTHeader,
reserved: u64,
pub cpep_processor_structures: [CorrectedPlatformErrorPollingProcessor; 0],
}
impl CorrectedPlatformErrorPolling {
pub const fn cpep_processor_structures(&self) -> &[CorrectedPlatformErrorPollingProcessor] {
unsafe {
core::slice::from_raw_parts(
(self as *const _ as *const u8).add(crate::SDT_HEADER_SIZE + 8)
as *const CorrectedPlatformErrorPollingProcessor,
(self.header.length as usize - (crate::SDT_HEADER_SIZE + 8)) / core::mem::size_of::<CorrectedPlatformErrorPollingProcessor>(),
)
}
}
}