-
Notifications
You must be signed in to change notification settings - Fork 24
Add UEFI APIs in std::os::uefi #87
Copy link
Copy link
Closed
Labels
ACP-acceptedAPI Change Proposal is accepted (seconded with no objections)API Change Proposal is accepted (seconded with no objections)T-libs-apiapi-change-proposalA proposal to add or alter unstable APIs in the standard librariesA proposal to add or alter unstable APIs in the standard libraries
Metadata
Metadata
Assignees
Labels
ACP-acceptedAPI Change Proposal is accepted (seconded with no objections)API Change Proposal is accepted (seconded with no objections)T-libs-apiapi-change-proposalA proposal to add or alter unstable APIs in the standard librariesA proposal to add or alter unstable APIs in the standard libraries
Type
Fields
Give feedbackNo fields configured for issues without a type.
Proposal
Problem statement
Hello everyone. I have been working on adding Rust std support for UEFI as a part of Google Summer of Code 2022.
This is a proposal to add some UEFI-specific APIs under
std::os::uefi. It is related to PR.Motivation, use-cases
In the UEFI environment, most of the services/functionality is accessed using System Table, which is passed to the application at its entry. These APIs basically add ways to access the System Table and some of its most common members.
APIs to add
APIs I propose to add under
std::os::uefi::env:pub fn get_system_table() -> NonNull<c_void>pub fn get_system_handle() -> NonNull<c_void>pub fn init_globals(handle: NonNull<c_void>, system_table: NonNull<c_void>)APIs I propose to add under
std::os::uefi::ffi(Just re-exportstd::os::windows::ffi)OsStrExtOsStringExtLinks and related work