From 96ff1a24a7474b91c44a3dcd6f3abf3ec0542191 Mon Sep 17 00:00:00 2001 From: Ada Christine Date: Tue, 13 Feb 2024 01:04:02 +0000 Subject: reorganize a bit --- kjarna/efi/kjarna_efi.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 kjarna/efi/kjarna_efi.h (limited to 'kjarna/efi/kjarna_efi.h') diff --git a/kjarna/efi/kjarna_efi.h b/kjarna/efi/kjarna_efi.h new file mode 100644 index 0000000..48b0034 --- /dev/null +++ b/kjarna/efi/kjarna_efi.h @@ -0,0 +1,36 @@ +#pragma once + +#include + +#include +#include + +#include "../kjarna.h" + +struct efi_context +{ + EFI_HANDLE const handle; + EFI_SYSTEM_TABLE * const system_table; +}; + +extern struct efi_context const *efi_context; +extern EFI_STATUS efi_errno; + +#define gST efi_context->system_table +#define gBS efi_context->system_table->BootServices + +void *efi_get_protocol(EFI_HANDLE handle, EFI_GUID *guid); + +int SYSV_ABI efi_open(const char *path, int flags, int mode); +int SYSV_ABI efi_close(int fd); +off_t SYSV_ABI efi_lseek(int fd, off_t offset, int whence); +ssize_t SYSV_ABI efi_read(int fd, void *buffer, size_t length); +ssize_t SYSV_ABI efi_write(int fd, const void *buffer, size_t length); + +void * SYSV_ABI efi_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); +int SYSV_ABI efi_munmap(void *addr, size_t length); + +void *efi_alloc_pool(size_t size); +void *efi_calloc_pool(size_t count, size_t size); +void efi_free_pool(void *block); + -- cgit v1.3.1-1-g115d