Module spec_services

Source
Expand description

An implementation of UEFI spec 8.2 - Variable Services

This implementation is a direct implementation / transcription of the UEFI spec, and does not contain any Hyper-V specific features* (i.e: injecting various nvram vars related to secure boot, boot order, etc…).

*that isn’t entirely true just yet, as there is one bit of code that enforce read-only access to certain Hyper-V specific vars, but if the need arises, those code paths can be refactored.

Modules§

auth_var_crypto
Cryptographic operations to validate authenticated variables

Structs§

NvramResult
Unlike a typical result type, NvramErrors contain both a payload and an error code. Depending on the error code, an optional NvramError might be included as well, which provides more context.
NvramSpecServices
An implementation of UEFI spec 8.2 - Variable Services
ParsedAuthVar
Helper struct to collect various properties of a parsed authenticated var
SupportedAttrs
SetVariable validation is incredibly tricky, since there are a lot of subtle logic branches that are predicated on the presence (or lack thereof) of various attribute bits.

Enums§

AuthError
NvramError

Traits§

NvramServicesExt
Extension trait around NvramServices that makes it easier to use the API outside the context of the UEFI device.