Trait r3::kernel::traits::KernelInterruptLine
source · 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
Provided Associated Constants§
sourceconst RAW_MANAGED_INTERRUPT_PRIORITY_RANGE: Range<i16> = #[lang = "Range"]{ start: 0, end: 0,}
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.
sourceconst RAW_MANAGED_INTERRUPT_LINES: &'static [usize] = &[]
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.