#![cfg_attr(feature = "exts", feature(allocator_api, alloc_layout_extra))]
#![feature(auto_traits)]
#![feature(control_flow_enum)]
#![feature(try_trait_v2)]
#![feature(abi_efiapi)]
#![feature(negative_impls)]
#![feature(ptr_metadata)]
#![no_std]
#![warn(missing_docs, unused)]
#![deny(clippy::all)]
#[cfg(feature = "exts")]
extern crate alloc as alloc_api;
extern crate self as uefi;
#[macro_use]
pub mod data_types;
#[cfg(feature = "exts")]
pub use self::data_types::CString16;
pub use self::data_types::{unsafe_guid, Identify};
pub use self::data_types::{CStr16, CStr8, Char16, Char8, Event, Guid, Handle};
mod result;
pub use self::result::{Completion, Error, Result, ResultExt, Status};
pub mod table;
pub mod proto;
pub mod prelude;
#[cfg(feature = "alloc")]
pub mod alloc;
#[cfg(feature = "exts")]
pub mod exts;
#[cfg(feature = "logger")]
pub mod logger;