Struct tartan_uefi::SystemTable
source · #[repr(C)]pub struct SystemTable<'a> {Show 13 fields
pub header: TableHeader,
pub firmware_vendor: *const u16,
pub firmware_revision: u32,
pub console_in_handle: Handle,
pub console_in: Option<&'a SimpleTextInput>,
pub console_out_handle: Handle,
pub console_out: Option<&'a SimpleTextOutput>,
pub std_err_handle: Handle,
pub std_err: Option<&'a SimpleTextOutput>,
pub runtime_services: &'a RuntimeServices,
pub boot_services: Option<&'a BootServices>,
pub config_entry_count: usize,
pub config_table: *const ConfigurationTable,
}
Fields§
§header: TableHeader
§firmware_vendor: *const u16
§firmware_revision: u32
§console_in_handle: Handle
§console_in: Option<&'a SimpleTextInput>
§console_out_handle: Handle
§console_out: Option<&'a SimpleTextOutput>
§std_err_handle: Handle
§std_err: Option<&'a SimpleTextOutput>
§runtime_services: &'a RuntimeServices
§boot_services: Option<&'a BootServices>
§config_entry_count: usize
§config_table: *const ConfigurationTable
Implementations§
source§impl SystemTable<'_>
impl SystemTable<'_>
sourcepub unsafe fn exit_boot_services(&mut self, image_handle: Handle) -> MemoryMap
pub unsafe fn exit_boot_services(&mut self, image_handle: Handle) -> MemoryMap
Safe(r) wrapper around BootServices::exit_boot_services
that fetches the
latest memory map and ensures that pointers to boot services are removed from the
system table on success.
§Safety
After this succeeds, pointers to functions that provide any kind of boot services are no longer valid. This includes the console streams and memory allocation, which may be referenced by globals outside of the control of this object. It is the caller’s responsibility to make sure any dangling references are cleared or unused.
Trait Implementations§
source§impl Table for SystemTable<'_>
impl Table for SystemTable<'_>
const SIGNATURE: u64 = 6_076_298_535_811_760_713u64
const MIN_REVISION: Revision = Revision::V2_00
fn header(&self) -> &TableHeader
fn verify(&self)where
Self: Sized,
fn verify_signature(&self)
fn verify_revision(&self)
fn verify_size(&self)where
Self: Sized,
fn verify_crc32(&self)
Auto Trait Implementations§
impl<'a> Freeze for SystemTable<'a>
impl<'a> RefUnwindSafe for SystemTable<'a>
impl<'a> !Send for SystemTable<'a>
impl<'a> !Sync for SystemTable<'a>
impl<'a> Unpin for SystemTable<'a>
impl<'a> UnwindSafe for SystemTable<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more