raw-acpi 0.0.2

Simply ACPI, in Rust.
Documentation
#[derive(Copy, Clone)]
#[repr(C, packed)]
/// ## MSI Programmable Interrupt Controller (MSI PIC) Structure
///
/// MSI Programmable Interrupt Controller Structure is defined to support MSI of PCI/PCIE devices in system.
pub struct MSIProgrammableInterruptController {
    /// 21 - Message Programmable Interrupt Controller Structure
    pub r#type: u8,
    /// Length of the Message Programmable Interrupt Controller Structure in bytes.
    ///
    /// **JJ's Note: There doesn't seem to be any variable-sized fields in this struct.  The size is 24 bytes...**
    pub length: u8,
    /// - **0x00** - Invalid
    /// - **0x01** - MSI PIC v1
    ///
    /// Other values are reserved.
    pub version: u8,
    /// The physical address for MSI.
    pub message_address: u64,
    /// The start vector allocated for MSI from global vectors of HT PIC or EIO PIC.
    pub start: u32,
    /// The count of allocated vectors for MSI.
    pub count: u32,
}