1#![no_std]
2
3extern crate alloc as alloc_crate;
4
5#[macro_use]
6mod macros;
7
8pub use uefi;
10pub use uefi_alloc;
11
12pub mod rt;
14
15pub 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}