#[repr(C, align(16))]pub struct VirtqDesc {
pub addr: Pa,
pub len: u32,
pub flags: VirtqDescFlags,
/* private fields */
}
Expand description
The Virtqueue Descriptor Table.
The descriptor table refers to the buffers the driver is using for the device. addr is a physical address, and the buffers can be chained via next. Each descriptor describes a buffer which is read-only for the device (“device-readable”) or write-only for the device (“device-writable”), but a chain of descriptors can contain both device-readable and device-writable buffers. The actual contents of the memory offered to the device depends on the device type. Most common is to begin the data with a header (containing little-endian fields) for the device to read, and postfix it with a status tailer for the device to write.
Fields§
§addr: Pa
Address (guest-physical)
len: u32
Length.
flags: VirtqDescFlags
The flags.
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for VirtqDesc
impl Send for VirtqDesc
impl Sync for VirtqDesc
impl Unpin for VirtqDesc
impl UnwindSafe for VirtqDesc
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
const: unstable§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more