patina/
lib.rs

1//! Software Development Kit (SDK) for Patina
2//!
3//! This crate implements the core SDK for Patina and is only part of the Patina
4//! solution. For general knowledge on Patina, refer to the [Patina book](https://opendevicepartnership.github.io/patina/).
5//!
6//! ## Features
7//!
8//! - `core`: Exposes additional items in the [component] module necessary to
9//!   manage and execute components and their dependencies.
10//!
11//! ## License
12//!
13//! Copyright (C) Microsoft Corporation.
14//!
15//! SPDX-License-Identifier: Apache-2.0
16//!
17#![cfg_attr(all(not(feature = "std"), not(test), not(feature = "mockall")), no_std)]
18#![cfg_attr(any(test, feature = "alloc"), feature(allocator_api))]
19#![allow(static_mut_refs)]
20#![feature(coverage_attribute)]
21
22extern crate alloc;
23
24pub use base::guid::{BinaryGuid, Guid, GuidError, OwnedGuid};
25
26/// Common GUID constants
27pub mod guid_constants {
28    pub use super::base::guid::OwnedGuid;
29    /// Zero GUID constant (00000000-0000-0000-0000-000000000000)
30    pub const ZERO_GUID: OwnedGuid = OwnedGuid::ZERO;
31}
32
33#[macro_use]
34pub mod macros;
35
36pub mod arch;
37pub mod base;
38pub mod boot_services;
39pub mod component;
40pub mod driver_binding;
41pub mod efi_types;
42pub mod error;
43pub mod guids;
44pub mod log;
45pub mod performance;
46pub mod pi;
47pub mod runtime_services;
48pub mod serial;
49pub mod test;
50pub mod tpl_mutex;
51pub mod uefi_protocol;