pub struct VirtIONet<'a> { /* private fields */ }
Implementations§
Source§impl<'a> VirtIONet<'a>
impl<'a> VirtIONet<'a>
pub fn new( id: usize, txqueue: &'a SplitVirtqueue<'static, 'static, 2>, tx_header: &'static mut [u8; 12], rxqueue: &'a SplitVirtqueue<'static, 'static, 2>, rx_header: &'static mut [u8], rx_buffer: &'static mut [u8], ) -> VirtIONet<'a>
pub fn id(&self) -> usize
pub fn set_client(&self, client: &'a dyn VirtIONetClient)
pub fn enable_rx(&self)
pub fn return_rx_buffer(&self, buf: &'static mut [u8])
pub fn send_packet( &self, packet: &'static mut [u8], packet_len: usize, ) -> Result<(), (&'static mut [u8], ErrorCode)>
Trait Implementations§
Source§impl SplitVirtqueueClient<'static> for VirtIONet<'_>
impl SplitVirtqueueClient<'static> for VirtIONet<'_>
fn buffer_chain_ready( &self, queue_number: u32, buffer_chain: &mut [Option<VirtqueueBuffer<'static>>], bytes_used: usize, )
Source§impl VirtIODeviceDriver for VirtIONet<'_>
impl VirtIODeviceDriver for VirtIONet<'_>
Source§fn negotiate_features(&self, offered_features: u64) -> Option<u64>
fn negotiate_features(&self, offered_features: u64) -> Option<u64>
VirtIO feature negotiation. Read more
Source§fn device_type(&self) -> VirtIODeviceType
fn device_type(&self) -> VirtIODeviceType
VirtIO device type which the driver supports. Read more
Auto Trait Implementations§
impl<'a> !Freeze for VirtIONet<'a>
impl<'a> !RefUnwindSafe for VirtIONet<'a>
impl<'a> !Send for VirtIONet<'a>
impl<'a> !Sync for VirtIONet<'a>
impl<'a> Unpin for VirtIONet<'a>
impl<'a> !UnwindSafe for VirtIONet<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more