summaryrefslogtreecommitdiff
path: root/kjarna/efi/protocol.c
diff options
context:
space:
mode:
authorAda Christine <adachristine18@gmail.com>2024-02-13 01:04:02 +0000
committerAda Christine <adachristine18@gmail.com>2024-02-13 01:04:02 +0000
commit96ff1a24a7474b91c44a3dcd6f3abf3ec0542191 (patch)
treef79dc76febe07d23d1ee6caf9a0b93bfcb85919d /kjarna/efi/protocol.c
parent3f9278b48ff4bc0d2cf1604034b3bba548572f04 (diff)
reorganize a bit
Diffstat (limited to 'kjarna/efi/protocol.c')
-rw-r--r--kjarna/efi/protocol.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/kjarna/efi/protocol.c b/kjarna/efi/protocol.c
new file mode 100644
index 0000000..e4be9cd
--- /dev/null
+++ b/kjarna/efi/protocol.c
@@ -0,0 +1,24 @@
+#include <efi/error.h>
+
+#include "kjarna_efi.h"
+
+void *efi_get_protocol(EFI_HANDLE handle, EFI_GUID *guid)
+{
+ void *protocol;
+
+ efi_errno = gBS->OpenProtocol(
+ handle,
+ guid,
+ &protocol,
+ efi_context->handle,
+ nullptr,
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL);
+
+ if (EFI_ERROR(efi_errno))
+ {
+ return nullptr;
+ }
+
+ return protocol;
+}
+