pub unsafe trait KernelInterruptLine: KernelBase {
    const RAW_MANAGED_INTERRUPT_PRIORITY_RANGE: Range<i16> = #[lang = "Range"]{ start: 0,  end: 0,};
    const RAW_MANAGED_INTERRUPT_LINES: &'static [usize] = &[];

    // Required methods
    unsafe fn raw_interrupt_line_set_priority(
        this: usize,
        value: i16
    ) -> Result<(), SetInterruptLinePriorityError>;
    unsafe fn raw_interrupt_line_enable(
        this: usize
    ) -> Result<(), EnableInterruptLineError>;
    unsafe fn raw_interrupt_line_disable(
        this: usize
    ) -> Result<(), EnableInterruptLineError>;
    unsafe fn raw_interrupt_line_pend(
        this: usize
    ) -> Result<(), PendInterruptLineError>;
    unsafe fn raw_interrupt_line_clear(
        this: usize
    ) -> Result<(), ClearInterruptLineError>;
    unsafe fn raw_interrupt_line_is_pending(
        this: usize
    ) -> 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<i16> = #[lang = "Range"]{ start: 0, end: 0,}

The range of interrupt priority values considered managed.

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

source

const RAW_MANAGED_INTERRUPT_LINES: &'static [usize] = &[]

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: usize, value: i16 ) -> Result<(), SetInterruptLinePriorityError>

Implements InterruptLine::set_priority.

Safety

See the Safety section of the module documentation.

source

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

Implements InterruptLine::enable.

Safety

See the Safety section of the module documentation.

source

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

Implements InterruptLine::disable.

Safety

See the Safety section of the module documentation.

source

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

Implements InterruptLine::pend.

Safety

See the Safety section of the module documentation.

source

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

Implements InterruptLine::clear.

Safety

See the Safety section of the module documentation.

source

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

Implements InterruptLine::is_pending.

Safety

See the Safety section of the module documentation.

Implementors§