pub struct VirtqueueLayout {
pub num_queues: usize,
pub driver_area_offset: usize,
pub device_area_offset: usize,
pub req_offset: usize,
pub end_offset: usize,
}
Expand description
A description how the memory passed for each virtqueue is split into individual regions.
- The Virtqueue Descriptor Area starts from offset 0
- The Virtqueue Driver Area (Available Ring for split virtqueue) starts at
driver_area_offset
- The Virtqueue Device Area (Used Ring for split virtqueue) starts at
device_area_offset
- Driver-specific per request data that needs to be shared with the device (e.g. request
headers or status bytes) start at
req_offset
Fields§
§num_queues: usize
§driver_area_offset: usize
§device_area_offset: usize
§req_offset: usize
§end_offset: usize
Implementations§
Auto Trait Implementations§
impl Freeze for VirtqueueLayout
impl RefUnwindSafe for VirtqueueLayout
impl Send for VirtqueueLayout
impl Sync for VirtqueueLayout
impl Unpin for VirtqueueLayout
impl UnwindSafe for VirtqueueLayout
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