#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum VfioInterruptMode
{
Legacy,
Msi,
MsiX,
}
impl VfioInterruptMode
{
const_cstr!
{
legacy = "legacy";
msi = "msi";
msix = "msix";
}
pub fn asFfi(self) -> rte_intr_mode
{
match self
{
VfioInterruptMode::Legacy => rte_intr_mode::RTE_INTR_MODE_LEGACY,
VfioInterruptMode::Msi => rte_intr_mode::RTE_INTR_MODE_MSI,
VfioInterruptMode::MsiX => rte_intr_mode::RTE_INTR_MODE_MSIX,
}
}
pub fn asInitialisationArgument(self) -> ConstCStr
{
match self
{
VfioInterruptMode::Legacy => Self::legacy,
VfioInterruptMode::Msi => Self::msi,
VfioInterruptMode::MsiX => Self::msix,
}
}
}