summaryrefslogtreecommitdiffstats
path: root/src/detection/bootmgr/efi_helper.h
diff options
context:
space:
mode:
authorsumuel <samuel@yakubos.org>2026-08-17 20:44:55 +0000
committersumuel <samuel@yakubos.org>2026-08-17 20:44:55 +0000
commit76424950e373d3b04ac3dd13019151bfba3e8423 (patch)
tree4c3cfdbda039e592b9186be3e28f8d7cfd439e8a /src/detection/bootmgr/efi_helper.h
Add the files
Diffstat (limited to 'src/detection/bootmgr/efi_helper.h')
-rw-r--r--src/detection/bootmgr/efi_helper.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/detection/bootmgr/efi_helper.h b/src/detection/bootmgr/efi_helper.h
new file mode 100644
index 0000000..b52ec8a
--- /dev/null
+++ b/src/detection/bootmgr/efi_helper.h
@@ -0,0 +1,22 @@
+#include "bootmgr.h"
+
+// https://uefi.org/specs/UEFI/2.10/10_Protocols_Device_Path_Protocol.html#generic-device-path-structures
+typedef struct ffEfiDevicePathProtocol {
+ uint8_t Type;
+ uint8_t SubType;
+ uint16_t Length;
+ uint8_t SpecificDevicePathData[];
+} ffEfiDevicePathProtocol;
+
+// https://uefi.org/specs/UEFI/2.10/03_Boot_Manager.html#load-options
+typedef struct FFEfiLoadOption {
+ uint32_t Attributes;
+ uint16_t FilePathListLength;
+ uint16_t Description[];
+ // ffEfiDevicePathProtocol FilePathList[];
+ // uint8_t OptionalData[];
+} FFEfiLoadOption;
+
+bool ffEfiFillLoadOption(const FFEfiLoadOption* efiOption, FFBootmgrResult* result);
+
+#define FF_EFI_GLOBAL_GUID "8be4df61-93ca-11d2-aa0d-00e098032b8c"