diff options
Diffstat (limited to 'src/detection/bootmgr/efi_helper.h')
| -rw-r--r-- | src/detection/bootmgr/efi_helper.h | 22 |
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" |