pub unsafe trait KernelInterruptLine: KernelBase {
    const RAW_MANAGED_INTERRUPT_PRIORITY_RANGE: Range<InterruptPriority> = _;
    const RAW_MANAGED_INTERRUPT_LINES: &'static [InterruptNum] = _;

    // Required methods
    unsafe fn raw_interrupt_line_set_priority(
        this: InterruptNum,
        value: InterruptPriority
    ) -> Result<(), SetInterruptLinePriorityError>;
    unsafe fn raw_interrupt_line_enable(
        this: InterruptNum
    ) -> Result<(), EnableInterruptLineError>;
    unsafe fn raw_interrupt_line_disable(
        this: InterruptNum
    ) -> Result<(), EnableInterruptLineError>;
    unsafe fn raw_interrupt_line_pend(
        this: InterruptNum
    ) -> Result<(), PendInterruptLineError>;
    unsafe fn raw_interrupt_line_clear(
        this: InterruptNum
    ) -> Result<(), ClearInterruptLineError>;
    unsafe fn raw_interrupt_line_is_pending(
        this: InterruptNum
    ) -> Result<bool, QueryInterruptLineError>;
}
Expand description

Provides access to the interrupt line API exposed by a kernel.

Safety

See the Safety section of the module documentation.

Provided Associated Constants§

source

const RAW_MANAGED_INTERRUPT_PRIORITY_RANGE: Range<InterruptPriority> = _

The range of interrupt priority values considered managed.

Defaults to 0..0 (empty) when unspecified.

source

const RAW_MANAGED_INTERRUPT_LINES: &'static [InterruptNum] = _

The list of interrupt lines which are considered managed.

Defaults to &[] (empty) when unspecified.

This is useful when the driver employs a fixed priority scheme and doesn’t support changing interrupt line priorities.

Required Methods§

source

unsafe fn raw_interrupt_line_set_priority( this: InterruptNum, value: InterruptPriority ) -> Result<(), SetInterruptLinePriorityError>

Implements InterruptLine::set_priority.

Safety

See the Safety section of the module documentation.

source

unsafe fn raw_interrupt_line_enable( this: InterruptNum ) -> Result<(), EnableInterruptLineError>

Implements InterruptLine::enable.

Safety

See the Safety section of the module documentation.

source

unsafe fn raw_interrupt_line_disable( this: InterruptNum ) -> Result<(), EnableInterruptLineError>

Implements InterruptLine::disable.

Safety

See the Safety section of the module documentation.

source

unsafe fn raw_interrupt_line_pend( this: InterruptNum ) -> Result<(), PendInterruptLineError>

Implements InterruptLine::pend.

Safety

See the Safety section of the module documentation.

source

unsafe fn raw_interrupt_line_clear( this: InterruptNum ) -> Result<(), ClearInterruptLineError>

Implements InterruptLine::clear.

Safety

See the Safety section of the module documentation.

source

unsafe fn raw_interrupt_line_is_pending( this: InterruptNum ) -> Result<bool, QueryInterruptLineError>

Implements InterruptLine::is_pending.

Safety

See the Safety section of the module documentation.

Implementors§