Crate uefi[][src]

Rusty wrapper for the Unified Extensible Firmware Interface.

Crate organisation

The top-level module contains some of the most used types, such as the result and error types, or other common data structures such as GUIDs and handles.

Tables and protocols

The table module contains definitions of the UEFI tables, which are structures containing some basic functions and references to other tables. Most importantly, the boot services table also provides a way to obtain protocol handles.

The proto module contains the standard UEFI protocols, which are normally provided by the various UEFI drivers and firmware layers.

Adapting to local conditions

Unlike system tables, which are present on all UEFI implementations, protocols may or may not be present on a certain system.

For example, a PC with no network card might not contain a network driver, therefore all the network protocols will be unavailable.

Re-exports

pub use self::data_types::Char16;
pub use self::data_types::Char8;
pub use self::data_types::Event;
pub use self::data_types::Handle;

Modules

data_types

Data type definitions

prelude

This module is used to simplify importing the most common UEFI types.

proto

Protocol definitions.

table

Standard UEFI tables.

Macros

newtype_enum

Interface a C-style enum as an integer newtype.

Structs

CStr8

A Latin-1 null-terminated string

CStr16

An UCS-2 null-terminated string

Completion

This type is used when an UEFI operation has completed, but some non-fatal problems (UEFI warnings) may have been encountered along the way

Guid

A globally unique identifier

Status

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

Traits

Identify

Several entities in the UEFI specification can be referred to by their GUID, this trait is a building block to interface them in uefi-rs.

ResultExt

Extension trait for Result which helps dealing with UEFI’s warnings

Type Definitions

Result

Return type of most UEFI functions. Both success and error payloads are optional.

Attribute Macros

unsafe_guid

unsafe_guid attribute macro, implements the Identify trait for any type (mostly works like a custom derive, but also supports type aliases)