-
-
Notifications
You must be signed in to change notification settings - Fork 170
Request for EFI_SHELL_INTERFACE #448
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
Hi! If you (or anyone else) is interested in adding this protocol to |
I'm interested in taking this on if nobody else is. |
Thanks, please feel free :) For our future reference, here's the current latest UEFI Shell Spec: https://uefi.org/sites/default/files/resources/UEFI_Shell_2_2.pdf |
This protocol relies on linked lists for the functions dealing with, surprisingly, lists of files. The structure defined by UEFI looks like this: #[repr(C)]
pub struct ShellFileInfo {
link: ListEntry,
status: Status,
full_name: *const CStr16,
file_name: *const CStr16,
shell_file_handle: Handle,
info: *mut FileInfo
}
#[repr(C)]
pub struct ListEntry {
flink: *mut ListEntry,
blink: *mut ListEntry,
} Do you have any advice or know of any good resources for abstracting over this in a safe and at least somewhat Rust-y way, without |
I think you can represent this with a struct that implements |
I was looking into implementing So, would opening a PR for this even make sense? |
A PR for that would be welcome, yes :) Note though that in general you don't need any shell protocol to access the parameters passed to an image -- you can use the |
For the record: If I'm not mistaken, this was an attempt that never made it into the repo: |
Hello all, is this issue available? I am interested in taking it on. |
Yes, feel free to work on it! We are happy for all external contributions |
Thank you! |
I have some questions about how I should be implementing the wrapping functions. Would it be alright if I opened a draft PR and ask as I develop? |
Yep, that sounds good. |
Name: EFI_SHELL_INTERFACE
GUID: 47C7B223-C42A-11D2-8E57-00A0C969723B
Docs: https://bsdio.com/edk2/docs/master/struct_e_f_i___s_h_e_l_l___i_n_t_e_r_f_a_c_e.html
Reason: Using it to parse boot arguments
The text was updated successfully, but these errors were encountered: