pub struct VirtioConsole { /* private fields */ }Expand description
VirtIO console device.
Implementations§
Source§impl VirtioConsole
impl VirtioConsole
Sourcepub const FEATURE_SIZE: u64
pub const FEATURE_SIZE: u64
Feature: Console size.
Sourcepub const FEATURE_MULTIPORT: u64
pub const FEATURE_MULTIPORT: u64
Feature: Multiport.
Sourcepub const FEATURE_EMERG_WRITE: u64
pub const FEATURE_EMERG_WRITE: u64
Feature: Emergency write.
Sourcepub const FEATURE_VERSION_1: u64
pub const FEATURE_VERSION_1: u64
VirtIO 1.0 feature.
Sourcepub fn new(config: ConsoleConfig) -> Self
pub fn new(config: ConsoleConfig) -> Self
Creates a new console device.
Sourcepub fn with_stdio() -> Self
pub fn with_stdio() -> Self
Creates a console with standard I/O.
Sourcepub fn queue_input(&mut self, data: &[u8]) -> Result<()>
pub fn queue_input(&mut self, data: &[u8]) -> Result<()>
Sourcepub fn read_output(&mut self) -> Vec<u8> ⓘ
pub fn read_output(&mut self) -> Vec<u8> ⓘ
Reads output data written by the guest.
Sourcepub fn rx_available(&self) -> usize
pub fn rx_available(&self) -> usize
Gets the number of bytes available for RX.
Sourcepub fn process_rx_queue(
&mut self,
memory: &mut [u8],
queue_config: &QueueConfig,
) -> Result<bool>
pub fn process_rx_queue( &mut self, memory: &mut [u8], queue_config: &QueueConfig, ) -> Result<bool>
Injects pending host input (queued via queue_input)
into the guest RX queue (queue 0), advancing the used ring.
Descriptors are read directly from guest memory — the HV path drives the
queue from QueueConfig rather than the internal VirtQueue. Returns
true if at least one descriptor was filled, in which case the caller
must raise an INT_VRING interrupt so the guest services the input.
§Errors
Returns an error if a queue address lies below the guest RAM base.
Trait Implementations§
Source§impl Drop for VirtioConsole
impl Drop for VirtioConsole
Source§impl VirtioDevice for VirtioConsole
impl VirtioDevice for VirtioConsole
Source§fn device_id(&self) -> VirtioDeviceId
fn device_id(&self) -> VirtioDeviceId
Returns the device type ID.
Source§fn ack_features(&mut self, features: u64)
fn ack_features(&mut self, features: u64)
Acknowledges features from the driver.
Source§fn read_config(&self, offset: u64, data: &mut [u8])
fn read_config(&self, offset: u64, data: &mut [u8])
Reads from the device configuration space.
Source§fn write_config(&mut self, offset: u64, data: &[u8])
fn write_config(&mut self, offset: u64, data: &[u8])
Writes to the device configuration space.
Auto Trait Implementations§
impl Freeze for VirtioConsole
impl RefUnwindSafe for VirtioConsole
impl Send for VirtioConsole
impl Sync for VirtioConsole
impl Unpin for VirtioConsole
impl UnsafeUnpin for VirtioConsole
impl UnwindSafe for VirtioConsole
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