Trait Interface

Source
pub trait Interface: DriverGeneric {
    // Required methods
    fn cpu_interface(&self) -> BoxCPU;
    fn irq_enable(&mut self, irq: IrqId) -> Result<(), IntcError>;
    fn irq_disable(&mut self, irq: IrqId) -> Result<(), IntcError>;
    fn set_priority(
        &mut self,
        irq: IrqId,
        priority: usize,
    ) -> Result<(), IntcError>;
    fn set_trigger(
        &mut self,
        irq: IrqId,
        trigger: Trigger,
    ) -> Result<(), IntcError>;
    fn set_target_cpu(
        &mut self,
        irq: IrqId,
        cpu: CpuId,
    ) -> Result<(), IntcError>;

    // Provided method
    fn capabilities(&self) -> Vec<Capability> { ... }
}

Required Methods§

Source

fn cpu_interface(&self) -> BoxCPU

Source

fn irq_enable(&mut self, irq: IrqId) -> Result<(), IntcError>

Source

fn irq_disable(&mut self, irq: IrqId) -> Result<(), IntcError>

Source

fn set_priority(&mut self, irq: IrqId, priority: usize) -> Result<(), IntcError>

Source

fn set_trigger(&mut self, irq: IrqId, trigger: Trigger) -> Result<(), IntcError>

Source

fn set_target_cpu(&mut self, irq: IrqId, cpu: CpuId) -> Result<(), IntcError>

Provided Methods§

Implementors§