summaryrefslogtreecommitdiff
path: root/api/efi/image.h
diff options
context:
space:
mode:
authorAda Christine <adachristine18@gmail.com>2023-01-04 21:41:09 +0000
committerAda Christine <adachristine18@gmail.com>2023-01-04 21:41:09 +0000
commitfcd3e818a9f1b7009c9c027a69b2ef0e7ef71293 (patch)
tree8ea63301dae5ba65ee92876f87dc501d032130d0 /api/efi/image.h
parenteb022d780afe1e5e92547b6b3c2369dde1c4cc0b (diff)
use homespun efi code
Diffstat (limited to 'api/efi/image.h')
-rw-r--r--api/efi/image.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/api/efi/image.h b/api/efi/image.h
new file mode 100644
index 0000000..ef16bce
--- /dev/null
+++ b/api/efi/image.h
@@ -0,0 +1,34 @@
+#pragma once
+
+#include <efi/types.h>
+#include <efi/tables.h>
+
+#define EFI_LOADED_IMAGE_PROTOCOL_GUID \
+{0x5B1B31A1,0x9562,0x11d2, \
+ {0x8E,0x3F,0x00,0xA0,0xC9,0x69,0x72,0x3B}}
+
+#define EFI_LOADED_IMAGE_PROTOCOL_REVISION 0x1000
+
+typedef struct EFI_LOADED_IMAGE_PROTOCOL EFI_LOADED_IMAGE_PROTOCOL;
+
+typedef EFI_STATUS (EFIAPI *EFI_IMAGE_ENTRY_POINT)(
+ IN EFI_HANDLE ImageHandle,
+ IN EFI_SYSTEM_TABLE *SystemTable);
+
+struct EFI_LOADED_IMAGE_PROTOCOL
+{
+ UINT32 Revision;
+ EFI_HANDLE ParentHandle;
+ EFI_SYSTEM_TABLE *SystemTable;
+ EFI_HANDLE DeviceHandle;
+ VOID *FilePath;
+ VOID *Reserved;
+ UINT32 LoadOptionsSize;
+ VOID *LoadOptions;
+ VOID *ImageBase;
+ UINT64 ImageSize;
+ EFI_MEMORY_TYPE ImageCodeType;
+ EFI_MEMORY_TYPE ImageDataType;
+ EFIX_UNUSED_FUNC Unload;
+};
+