[][src]Struct uefi::Status

#[must_use]
#[repr(transparent)]pub struct Status(pub usize);

UEFI uses status codes in order to report successes, errors, and warnings.

Unfortunately, the spec allows and encourages implementation-specific non-portable status codes. Therefore, these cannot be modeled as a Rust enum, as injecting an unknown value in a Rust enum is undefined behaviour.

For lack of a better option, we therefore model them as a newtype of usize.

Implementations

impl Status[src]

pub const SUCCESS: Status[src]

The operation completed successfully.

pub const WARN_UNKNOWN_GLYPH: Status[src]

The string contained characters that could not be rendered and were skipped.

pub const WARN_DELETE_FAILURE: Status[src]

The handle was closed, but the file was not deleted.

pub const WARN_WRITE_FAILURE: Status[src]

The handle was closed, but the data to the file was not flushed properly.

pub const WARN_BUFFER_TOO_SMALL: Status[src]

The resulting buffer was too small, and the data was truncated.

pub const WARN_STALE_DATA: Status[src]

The data has not been updated within the timeframe set by local policy.

pub const WARN_FILE_SYSTEM: Status[src]

The resulting buffer contains UEFI-compliant file system.

pub const WARN_RESET_REQUIRED: Status[src]

The operation will be processed across a system reset.

pub const LOAD_ERROR: Status[src]

The image failed to load.

pub const INVALID_PARAMETER: Status[src]

A parameter was incorrect.

pub const UNSUPPORTED: Status[src]

The operation is not supported.

pub const BAD_BUFFER_SIZE: Status[src]

The buffer was not the proper size for the request.

pub const BUFFER_TOO_SMALL: Status[src]

The buffer is not large enough to hold the requested data. The required buffer size is returned in the appropriate parameter.

pub const NOT_READY: Status[src]

There is no data pending upon return.

pub const DEVICE_ERROR: Status[src]

The physical device reported an error while attempting the operation.

pub const WRITE_PROTECTED: Status[src]

The device cannot be written to.

pub const OUT_OF_RESOURCES: Status[src]

A resource has run out.

pub const VOLUME_CORRUPTED: Status[src]

An inconstency was detected on the file system.

pub const VOLUME_FULL: Status[src]

There is no more space on the file system.

pub const NO_MEDIA: Status[src]

The device does not contain any medium to perform the operation.

pub const MEDIA_CHANGED: Status[src]

The medium in the device has changed since the last access.

pub const NOT_FOUND: Status[src]

The item was not found.

pub const ACCESS_DENIED: Status[src]

Access was denied.

pub const NO_RESPONSE: Status[src]

The server was not found or did not respond to the request.

pub const NO_MAPPING: Status[src]

A mapping to a device does not exist.

pub const TIMEOUT: Status[src]

The timeout time expired.

pub const NOT_STARTED: Status[src]

The protocol has not been started.

pub const ALREADY_STARTED: Status[src]

The protocol has already been started.

pub const ABORTED: Status[src]

The operation was aborted.

pub const ICMP_ERROR: Status[src]

An ICMP error occurred during the network operation.

pub const TFTP_ERROR: Status[src]

A TFTP error occurred during the network operation.

pub const PROTOCOL_ERROR: Status[src]

A protocol error occurred during the network operation.

pub const INCOMPATIBLE_VERSION: Status[src]

The function encountered an internal version that was incompatible with a version requested by the caller.

pub const SECURITY_VIOLATION: Status[src]

The function was not performed due to a security violation.

pub const CRC_ERROR: Status[src]

A CRC error was detected.

pub const END_OF_MEDIA: Status[src]

Beginning or end of media was reached

pub const END_OF_FILE: Status[src]

The end of the file was reached.

pub const INVALID_LANGUAGE: Status[src]

The language specified was invalid.

pub const COMPROMISED_DATA: Status[src]

The security status of the data is unknown or compromised and the data must be updated or replaced to restore a valid security status.

pub const IP_ADDRESS_CONFLICT: Status[src]

There is an address conflict address allocation

pub const HTTP_ERROR: Status[src]

A HTTP error occurred during the network operation.

impl Status[src]

pub fn is_success(self) -> bool[src]

Returns true if status code indicates success.

pub fn is_warning(self) -> bool[src]

Returns true if status code indicates a warning.

pub fn is_error(self) -> bool[src]

Returns true if the status code indicates an error.

pub fn into_with_val<T>(self, val: impl FnOnce() -> T) -> Result<T, ()>[src]

Converts this status code into a result with a given value.

pub fn into_with_err<ErrData: Debug>(
    self,
    err: impl FnOnce(Status) -> ErrData
) -> Result<(), ErrData>
[src]

Converts this status code into a result with a given error payload

pub fn into_with<T, ErrData: Debug>(
    self,
    val: impl FnOnce() -> T,
    err: impl FnOnce(Status) -> ErrData
) -> Result<T, ErrData>
[src]

Convert this status code into a result with a given value and error payload

Trait Implementations

impl Clone for Status[src]

impl Copy for Status[src]

impl Debug for Status[src]

impl Eq for Status[src]

impl From<Error> for Status[src]

impl From<Status> for Completion<()>[src]

impl Into<Result<Completion<()>, Error<()>>> for Status[src]

impl PartialEq<Status> for Status[src]

impl StructuralEq for Status[src]

impl StructuralPartialEq for Status[src]

impl Try for Status[src]

type Ok = Completion<()>

🔬 This is a nightly-only experimental API. (try_trait)

The type of this value when viewed as successful.

type Error = Error<()>

🔬 This is a nightly-only experimental API. (try_trait)

The type of this value when viewed as failed.

Auto Trait Implementations

impl Send for Status

impl Sync for Status

impl Unpin for Status

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.