uefi_std/
lib.rs

1#![no_std]
2
3extern crate alloc as alloc_crate;
4
5#[macro_use]
6mod macros;
7
8// Re-export uefi and uefi_alloc
9pub use uefi;
10pub use uefi_alloc;
11
12// Runtime support
13pub mod rt;
14
15// Public modules
16pub mod exec;
17pub mod ffi;
18pub mod fs;
19pub mod io;
20pub mod loaded_image;
21pub mod pointer;
22pub mod prelude;
23pub mod proto;
24pub mod shell;
25pub mod vars;
26
27use uefi::prelude::*;
28
29static mut HANDLE: Handle = Handle(0);
30static mut SYSTEM_TABLE: *mut SystemTable = 0 as *mut SystemTable;
31
32pub fn handle() -> Handle {
33    unsafe { HANDLE }
34}
35
36pub fn system_table() -> &'static SystemTable {
37    unsafe { &*SYSTEM_TABLE }
38}
39
40pub unsafe fn system_table_mut() -> &'static mut SystemTable {
41    &mut *SYSTEM_TABLE
42}