pub trait Interface: DriverGeneric {
// Required methods
fn mac_address(&self) -> [u8; 6];
fn create_tx_queue(&mut self) -> Option<Box<dyn ITxQueue>>;
fn create_rx_queue(&mut self) -> Option<Box<dyn IRxQueue>>;
fn enable_irq(&mut self);
fn disable_irq(&mut self);
fn is_irq_enabled(&self) -> bool;
fn handle_irq(&mut self) -> Event;
// Provided method
fn wifi_control(&mut self) -> Option<&mut dyn WifiControl> { ... }
}Expand description
Required Methods§
Sourcefn mac_address(&self) -> [u8; 6]
fn mac_address(&self) -> [u8; 6]
Returns the device’s 6-byte MAC address.
Sourcefn create_tx_queue(&mut self) -> Option<Box<dyn ITxQueue>>
fn create_tx_queue(&mut self) -> Option<Box<dyn ITxQueue>>
Create a new transmit queue. Returns None if no more queues are
available.
Sourcefn create_rx_queue(&mut self) -> Option<Box<dyn IRxQueue>>
fn create_rx_queue(&mut self) -> Option<Box<dyn IRxQueue>>
Create a new receive queue. Returns None if no more queues are
available.
Sourcefn enable_irq(&mut self)
fn enable_irq(&mut self)
Enable device interrupts.
Sourcefn disable_irq(&mut self)
fn disable_irq(&mut self)
Disable device interrupts.
Sourcefn is_irq_enabled(&self) -> bool
fn is_irq_enabled(&self) -> bool
Check whether device interrupts are currently enabled.
Sourcefn handle_irq(&mut self) -> Event
fn handle_irq(&mut self) -> Event
Handle a device interrupt, returning which queues have events.
Provided Methods§
Sourcefn wifi_control(&mut self) -> Option<&mut dyn WifiControl>
fn wifi_control(&mut self) -> Option<&mut dyn WifiControl>
Optional wireless control plane.
A plain wired NIC returns None (the default). A wireless device
returns its WifiControl so the upper layers can drive STA/SoftAP
control, link policy and out-of-band RX wake-up through the same net
device model — no separate Wi-Fi device type or registration path.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".