pub struct VmiEventResponse<Arch>where
Arch: Architecture,{
pub action: VmiEventAction,
pub view: Option<View>,
pub registers: Option<<Arch::Registers as Registers>::GpRegisters>,
}Expand description
A response to a VMI event.
Fields§
§action: VmiEventActionThe primary action to take when resuming.
view: Option<View>The view to set for the vCPU.
registers: Option<<Arch::Registers as Registers>::GpRegisters>The vCPU registers to set.
Implementations§
Source§impl<Arch> VmiEventResponse<Arch>where
Arch: Architecture,
impl<Arch> VmiEventResponse<Arch>where
Arch: Architecture,
Sourcepub fn reinject_interrupt() -> Self
pub fn reinject_interrupt() -> Self
Creates a response to reinject an interrupt.
Sourcepub fn singlestep() -> Self
pub fn singlestep() -> Self
Creates a response to single-step one instruction.
Sourcepub fn fast_singlestep(view: View) -> Self
pub fn fast_singlestep(view: View) -> Self
Creates a response to fast single-step one instruction in the specified view. Unlike regular singlestep, fast singlestep never generates a VMI event.
Sourcepub fn with_registers(
self,
registers: <Arch::Registers as Registers>::GpRegisters,
) -> Self
pub fn with_registers( self, registers: <Arch::Registers as Registers>::GpRegisters, ) -> Self
Sets specific CPU registers for the response.
Trait Implementations§
Source§impl<Arch> Debug for VmiEventResponse<Arch>
impl<Arch> Debug for VmiEventResponse<Arch>
Source§impl<Arch> Default for VmiEventResponse<Arch>where
Arch: Architecture,
impl<Arch> Default for VmiEventResponse<Arch>where
Arch: Architecture,
Auto Trait Implementations§
impl<Arch> Freeze for VmiEventResponse<Arch>
impl<Arch> RefUnwindSafe for VmiEventResponse<Arch>
impl<Arch> Send for VmiEventResponse<Arch>
impl<Arch> Sync for VmiEventResponse<Arch>
impl<Arch> Unpin for VmiEventResponse<Arch>
impl<Arch> UnsafeUnpin for VmiEventResponse<Arch>
impl<Arch> UnwindSafe for VmiEventResponse<Arch>
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.