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

    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

The range of interrupt priority values considered managed.

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

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

Implements InterruptLine::set_priority.

Safety

See the Safety section of the module documentation.

Implements InterruptLine::enable.

Safety

See the Safety section of the module documentation.

Implements InterruptLine::disable.

Safety

See the Safety section of the module documentation.

Implements InterruptLine::pend.

Safety

See the Safety section of the module documentation.

Implements InterruptLine::clear.

Safety

See the Safety section of the module documentation.

Implements InterruptLine::is_pending.

Safety

See the Safety section of the module documentation.

Implementors