#[non_exhaustive]pub enum Hypercall<'a> {
Cmdsize(&'a mut CmdsizeParams),
Cmdval(&'a CmdvalParams),
Exit(&'a ExitParams),
FileClose(&'a mut CloseParams),
FileLseek(&'a mut LseekParams),
FileOpen(&'a mut OpenParams),
FileRead(&'a mut ReadParams),
FileWrite(&'a WriteParams),
FileUnlink(&'a mut UnlinkParams),
SerialWriteByte(u8),
SerialWriteBuffer(&'a SerialWriteBufferParams),
}
Expand description
Hypervisor calls available in Uhyve with their respective parameters. See the module level documentation on how to invoke them.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Cmdsize(&'a mut CmdsizeParams)
Get the size of the argument and environment strings. Used to allocate memory for
Hypercall::Cmdval
.
Cmdval(&'a CmdvalParams)
Copy the argument and environment strings into the VM. Usually preceeeded by
Hypercall::Cmdsize
so that the guest can allocate the memory for this call.
Exit(&'a ExitParams)
Exit the VM and return a status.
FileClose(&'a mut CloseParams)
FileLseek(&'a mut LseekParams)
FileOpen(&'a mut OpenParams)
FileRead(&'a mut ReadParams)
FileWrite(&'a WriteParams)
FileUnlink(&'a mut UnlinkParams)
SerialWriteByte(u8)
Write a char to the terminal.
SerialWriteBuffer(&'a SerialWriteBufferParams)
Write a buffer to the terminal.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Hypercall<'a>
impl<'a> RefUnwindSafe for Hypercall<'a>
impl<'a> Send for Hypercall<'a>
impl<'a> Sync for Hypercall<'a>
impl<'a> Unpin for Hypercall<'a>
impl<'a> !UnwindSafe for Hypercall<'a>
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