pub struct IRQGate {
prologue: unsafe fn(),
epilogue_entrant: Option<EpilogueEntrant>,
}
Expand description
describes a device interrupt handler routine. This is used to register a device driver to an interrupt line (see plugbox). Device drivers code should implement the IRQHandler or IRQHandlerEpilogue trait.
Fields§
§prologue: unsafe fn()
§epilogue_entrant: Option<EpilogueEntrant>
Implementations§
Source§impl IRQGate
impl IRQGate
pub unsafe fn call_prologue(&self)
Sourcepub fn get_epilogue(&self) -> Option<EpilogueEntrant>
pub fn get_epilogue(&self) -> Option<EpilogueEntrant>
the epilogue function should never be directly called from the IRQGate. Instead you need to get an epilogue entrant, and insert it into the epilogue queue, so that the execution of epilogues are synchronized.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for IRQGate
impl RefUnwindSafe for IRQGate
impl Send for IRQGate
impl Sync for IRQGate
impl Unpin for IRQGate
impl UnwindSafe for IRQGate
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dst: *mut u8)
unsafe fn clone_to_uninit(&self, dst: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)