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: usizeImplementations§
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