#efi #uefi #api-bindings

no-std uefi-raw

Raw UEFI types and bindings for protocols, boot, and runtime services. This can serve as base for an UEFI firmware implementation or a high-level wrapper to access UEFI functionality from an UEFI image.

13 breaking releases

Uses new Rust 2024

new 0.14.0 Mar 23, 2026
0.13.0 Nov 5, 2025
0.12.0 Oct 21, 2025
0.11.0 May 4, 2025
0.3.0 Jun 21, 2023

#601 in Embedded development

Download history 25720/week @ 2025-12-01 31989/week @ 2025-12-08 17428/week @ 2025-12-15 16818/week @ 2025-12-22 18202/week @ 2025-12-29 57638/week @ 2026-01-05 21271/week @ 2026-01-12 22167/week @ 2026-01-19 19527/week @ 2026-01-26 16397/week @ 2026-02-02 14156/week @ 2026-02-09 8488/week @ 2026-02-16 11649/week @ 2026-02-23 19104/week @ 2026-03-02 18562/week @ 2026-03-09 19511/week @ 2026-03-16

69,520 downloads per month
Used in 48 crates (9 directly)

MIT/Apache

305KB
6.5K SLoC

Raw interface for working with UEFI.

This crate is intended for implementing UEFI services. It is also used for implementing the uefi crate, which provides a safe wrapper around UEFI.

For creating UEFI applications and drivers, consider using the uefi crate instead of uefi-raw.


uefi-raw

Crates.io Docs.rs

This crate contains raw UEFI types that closely match the definitions in the UEFI Specification.

Dependencies

~120KB