Struct virtio_queue::Descriptor [−][src]
#[repr(C)]pub struct Descriptor { /* fields omitted */ }
Expand description
A virtio descriptor constraints with C representation.
Example
use virtio_queue::{Descriptor, Queue};
use vm_memory::{GuestAddress, GuestMemoryMmap};
let m = &GuestMemoryMmap::<()>::from_ranges(&[(GuestAddress(0), 0x10000)]).unwrap();
// Populate the queue with descriptor chains and update the available ring accordingly.
let mut queue = populate_queue(m);
let mut i = queue.iter().unwrap();
let mut c = i.next().unwrap();
// Get the first descriptor and access its fields.
let desc = c.next().unwrap();
let _addr = desc.addr();
let _len = desc.len();
let _flags = desc.flags();
let _next = desc.next();
let _is_write_only = desc.is_write_only();
let _has_next = desc.has_next();
let _refers_to_ind_table = desc.refers_to_indirect_table();
Implementations
Return the guest physical address of the descriptor buffer.
Return the flags for this descriptor, including next, write and indirect bits.
Check whether this descriptor refers to a buffer containing an indirect descriptor table.
Check if the driver designated this as a write only descriptor.
If this is false, this descriptor is read only. Write only means the the emulated device can write and the driver can read.
Trait Implementations
Converts a slice of raw data into a reference of Self
. Read more
Converts a mutable slice of raw data into a mutable reference of Self
. Read more
Converts a reference to self
into a slice of bytes. Read more
Converts a mutable reference to self
into a mutable slice of bytes. Read more
Converts a mutable reference to self
into a VolatileSlice
. This is
useful because VolatileSlice
provides a Bytes<usize>
implementation. Read more
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl RefUnwindSafe for Descriptor
impl Send for Descriptor
impl Sync for Descriptor
impl Unpin for Descriptor
impl UnwindSafe for Descriptor
Blanket Implementations
Mutably borrows from an owned value. Read more