Struct zircon_object::dev::Interrupt [−][src]
Interrupts - Usermode I/O interrupt delivery.
SYNOPSIS
Interrupt objects allow userspace to create, signal, and wait on hardware interrupts.
Implementations
impl Interrupt
[src]
pub fn new_virtual() -> Arc<Self>
[src]
Create a new virtual interrupt.
pub fn new_physical(
vector: usize,
options: InterruptOptions
) -> ZxResult<Arc<Self>>
[src]
vector: usize,
options: InterruptOptions
) -> ZxResult<Arc<Self>>
Create a new physical interrupt.
pub fn new_pci(
device: Arc<dyn IPciNode>,
vector: u32,
maskable: bool
) -> ZxResult<Arc<Self>>
[src]
device: Arc<dyn IPciNode>,
vector: u32,
maskable: bool
) -> ZxResult<Arc<Self>>
Create a new PCI interrupt.
pub fn bind(&self, port: &Arc<Port>, key: u64) -> ZxResult
[src]
Bind the interrupt object to a port.
pub fn unbind(&self, port: &Arc<Port>) -> ZxResult
[src]
Unbind the interrupt object from a port.
Unbinding the port removes previously queued packets to the port.
pub fn trigger(&self, timestamp: i64) -> ZxResult
[src]
Triggers a virtual interrupt object.
pub fn ack(&self) -> ZxResult
[src]
Acknowledge the interrupt and re-arm it.
pub fn destroy(&self) -> ZxResult
[src]
Destroy the interrupt.
pub async fn wait(self: &Arc<Self>) -> ZxResult<i64>
[src]
Wait until the interrupt is triggered.
Trait Implementations
impl Debug for Interrupt
[src]
impl Drop for Interrupt
[src]
impl KernelObject for Interrupt
[src]
fn id(&self) -> KoID
[src]
fn type_name(&self) -> &str
[src]
fn name(&self) -> String
[src]
fn set_name(&self, name: &str)
[src]
fn signal(&self) -> Signal
[src]
fn signal_set(&self, signal: Signal)
[src]
fn signal_clear(&self, signal: Signal)
[src]
fn signal_change(&self, clear: Signal, set: Signal)
[src]
fn add_signal_callback(&self, callback: SignalHandler)
[src]
fn get_child(&self, _id: KoID) -> ZxResult<Arc<dyn KernelObject>>
[src]
fn peer(&self) -> ZxResult<Arc<dyn KernelObject>>
[src]
fn related_koid(&self) -> KoID
[src]
fn allowed_signals(&self) -> Signal
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Interrupt
impl Send for Interrupt
impl Sync for Interrupt
impl Unpin for Interrupt
impl !UnwindSafe for Interrupt
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any,
[src]
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,