pub enum HostCallPrecondition {
ReadOutOfBounds {
addr: MemAddr,
size: Size,
},
WriteOutOfBounds {
addr: MemAddr,
size: Size,
},
NoValidCapability,
NoMessage,
SourceMismatch,
MailboxFull,
InvalidSecurityLevel {
value: u64,
},
CannotClassifyUp,
NoAddress,
NoCapabilityId,
FreeFailed {
source: StateError,
},
NotImplemented {
operation: &'static str,
},
}Expand description
Reasons a host call precondition check can fail.
Variants§
ReadOutOfBounds
A read memory region is out of bounds
WriteOutOfBounds
A write memory region is out of bounds
NoValidCapability
No valid capability is held by the caller
NoMessage
No message provided for send operation
SourceMismatch
Message source does not match the caller
MailboxFull
Destination mailbox is full
InvalidSecurityLevel
Invalid security level value
CannotClassifyUp
Cannot classify up (only declassification is allowed)
NoAddress
No address argument provided for free operation
NoCapabilityId
No capability ID argument provided for revoke operation
FreeFailed
Underlying free operation failed
Fields
§
source: StateErrorThe state error that caused the failure
NotImplemented
Operation requires Phase 3 State extension (threads/scheduler)
Trait Implementations§
Source§impl Debug for HostCallPrecondition
impl Debug for HostCallPrecondition
Auto Trait Implementations§
impl Freeze for HostCallPrecondition
impl RefUnwindSafe for HostCallPrecondition
impl Send for HostCallPrecondition
impl Sync for HostCallPrecondition
impl Unpin for HostCallPrecondition
impl UnsafeUnpin for HostCallPrecondition
impl UnwindSafe for HostCallPrecondition
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