pub trait Interface: DriverGeneric {
// Required methods
fn device_info(&self) -> DeviceInfo;
fn queue_limits(&self) -> QueueLimits;
fn create_queue(&mut self) -> Option<Box<dyn IQueue>>;
// Provided methods
fn enable_irq(&self) { ... }
fn disable_irq(&self) { ... }
fn is_irq_enabled(&self) -> bool { ... }
fn irq_sources(&self) -> IrqSourceList { ... }
fn take_irq_handler(
&mut self,
_source_id: usize,
) -> Option<Box<dyn IrqHandler>> { ... }
}Required Methods§
fn device_info(&self) -> DeviceInfo
fn queue_limits(&self) -> QueueLimits
fn create_queue(&mut self) -> Option<Box<dyn IQueue>>
Provided Methods§
fn enable_irq(&self)
fn disable_irq(&self)
fn is_irq_enabled(&self) -> bool
fn irq_sources(&self) -> IrqSourceList
fn take_irq_handler(&mut self, _source_id: usize) -> Option<Box<dyn IrqHandler>>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".