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<'_>

source

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<'_>

source§

const SIGNATURE: u64 = 6_076_298_535_811_760_713u64

source§

const MIN_REVISION: Revision = Revision::V2_00

source§

fn header(&self) -> &TableHeader

source§

fn verify(&self)
where Self: Sized,

source§

fn verify_signature(&self)

source§

fn verify_revision(&self)

source§

fn verify_size(&self)
where Self: Sized,

source§

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> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.