dyspxkrypt_libuefi/
lib.rs

1/*
2 * Dyspxkrypt LibUEFI: Raw bindings of UEFI that conforms to the definitions of the UEFI Specification.
3 * Copyright (C) 2023-2024 HTGAzureX1212.
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
17 */
18
19//! # Dyspxkrypt LibUEFI
20//!
21//! ![Crates.io Version](https://img.shields.io/crates/v/dyspxkrupt-libuefi?style=for-the-badge)
22//! ![docs.rs](https://img.shields.io/docsrs/dyspxkrupt-libuefi?style=for-the-badge)
23//! ![GitHub Repo stars](https://img.shields.io/github/stars/dyspxkrypt-os/dyspxkrypt-libuefi?style=for-the-badge)
24//! ![GitHub License](https://img.shields.io/github/license/dyspxkrypt-os/dyspxkrypt-libuefi?style=for-the-badge)
25//!
26//! ## Introduction
27//!
28//! [Unified Extensible Firmware Interface (UEFI)] is the successor to [Basic Input Output System (BIOS)], the specification
29//! that defines the architecture of the platform firmware used for booting computing hardware and its interface for interactions
30//! with the operating system.
31//!
32//! [Basic Input Output System (BIOS)]: https://en.wikipedia.org/wiki/BIOS
33//! [Unified Extensible Firmware Interface (UEFI)]: https://en.wikipedia.org/wiki/UEFI
34//!
35//! This crate aims to provide an API that is as low-level as possible and as accurate as possible with accordance to the UEFI
36//! specification. An absolute minimal amount of wrappers around the types will be provided when deemed necessary.
37//!
38//! The objective is to provide a bare-metal API empowering developers to have fine control over every aspect of whatever application
39//! they implement leveraging this library, including what to include from this library as well.
40//!
41//! ## License
42//!
43//! This library is licensed under **Version 3 of the GNU General Public License**.
44//!
45//! The full text of the license is available in the [`COPYING` file].
46//!
47//! [`COPYING` file]: ./COPYING
48
49#![no_std]
50#![allow(clippy::missing_safety_doc)]
51#![allow(internal_features)]
52#![allow(non_camel_case_types)]
53#![allow(non_snake_case)]
54#![allow(non_upper_case_globals)]
55#![cfg_attr(doc, feature(doc_cfg))]
56#![feature(extended_varargs_abi_support)]
57#![feature(prelude_2024)]
58#![feature(prelude_import)]
59
60extern crate alloc;
61
62pub mod prelude;
63
64#[cfg(feature = "partition")]
65#[cfg_attr(doc, doc(cfg(feature = "partition")))]
66#[cfg_attr(docsrs, doc(cfg(feature = "partition")))]
67pub mod partition;
68pub mod protocols;
69pub mod tables;
70pub mod types;
71
72#[allow(unused_imports)]
73#[prelude_import]
74pub(crate) use prelude::*;