/*++ Copyright (c) 2024, Quinn Stephens. Provided under the BSD 3-Clause license. Module Name: efilib.h Abstract: Boot manager EFI library definitions. --*/ #ifndef _EFILIB_H #define _EFILIB_H #include "bootlib.h" #include "efi.h" extern EFI_GUID EfiSimpleTextInputExProtocol; PBOOT_APPLICATION_PARAMETERS EfiInitCreateInputParametersEx ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable, IN ULONG Flags ); PBOOT_APPLICATION_PARAMETERS EfiInitCreateInputParameters ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ); EFI_STATUS EfiGetEfiStatusCode ( IN NTSTATUS Status ); NTSTATUS EfiGetNtStatusCode ( IN EFI_STATUS Status ); NTSTATUS EfiGetMemoryMap ( IN OUT UINTN *MemoryMapSize, IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap, IN OUT UINTN *MapKey, IN OUT UINTN *DescriptorSize, IN OUT UINT32 *DescriptorVersion ); NTSTATUS EfiAllocatePages ( IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINTN Pages, IN OUT EFI_PHYSICAL_ADDRESS *Memory ); NTSTATUS EfiFreePages ( IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN Pages ); NTSTATUS EfiSetWatchdogTimer ( IN UINTN Timeout, IN UINT64 WatchdogCode, IN UINTN DataSize, IN CHAR16 *WatchdogData ); NTSTATUS EfiOpenProtocol ( IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN OUT VOID **Interface ); NTSTATUS EfiConInExSetState ( IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *Protocol, IN EFI_KEY_TOGGLE_STATE *KeyToggleState ); #endif