|
| #define | FIRMWARE_KIT_EFI_H |
| #define | KIB(X) |
| #define | kib_cast(X) |
| #define | MIB(X) |
| #define | mib_cast(X) |
| #define | GIB(X) |
| #define | gib_cast(X) |
| #define | TIB(X) |
| #define | tib_cast(X) |
| #define | ARRAY_SIZE(a) |
| #define | DEPRECATED ATTRIBUTE(deprecated) |
| #define | ALIGN(X) |
| #define | ATTRIBUTE(...) |
| #define | __NE_VER__ (2024) |
| #define | EXTERN extern |
| #define | EXTERN_C extern "C" |
| #define | MAKE_ENUM(NAME) |
| #define | END_ENUM() |
| #define | MAKE_STRING_ENUM(NAME) |
| #define | ENUM_STRING(NAME, VAL) |
| #define | END_STRING_ENUM() |
| #define | RTL_ALLOCA(sz) |
| #define | CANT_REACH() |
| #define | kInvalidAddress 0xFBFBFBFBFBFBFBFB |
| #define | kBadAddress 0x0000000000000000 |
| #define | kMaxAddr 0xFFFFFFFFFFFFFFFF |
| #define | kPathLen 0x100 |
| #define | PACKED ATTRIBUTE(packed) |
| #define | NO_EXEC ATTRIBUTE(noexec) |
| #define | EXTERN extern |
| #define | STATIC static |
| #define | CONST const |
| #define | STRINGIFY(X) |
| #define | NE_UNUSED(X) |
| #define | RGB(R, G, B) |
| #define | DBG_TRAP() |
| #define | LIKELY(ARG) |
| #define | UNLIKELY(ARG) |
| #define | RTL_ENDIAN(address, value) |
| #define | Yes true |
| #define | No false |
| #define | YES true |
| #define | NO false |
| #define | TRUE true |
| #define | FALSE false |
| #define | BOOL Kernel::Boolean |
| #define | RTL_INIT_OBJECT(OBJ, TYPE, ...) |
| #define | NEKIT_VERSION_STR "0.0.1" |
| #define | NEKIT_VERSION_BCD 0x0001 |
| #define | char8_t char |
| #define | EFI_API __attribute__((ms_abi)) |
| #define | EFIAPI __attribute__((ms_abi)) |
| #define | IN |
| #define | OUT |
| #define | OPTIONAL |
| #define | EFI_STATUS EfiStatusType |
| #define | EFI_FINAL final |
| #define | EFI_ACPI_TABLE_PROTOCOL_GUID {0xffe06bdd, 0x6107, 0x46a6, {0x7b, 0xb2, 0x5a, 0x9c, 0x7e, 0xc5, 0x27, 0x5c}} |
| #define | EFI_LOAD_FILE_PROTOCOL_GUID {0x56EC3091, 0x954C, 0x11d2, {0x8e, 0x3f, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}} |
| #define | EFI_LOAD_FILE2_PROTOCOL_GUID {0x4006c0c1, 0xfcb3, 0x403e, {0x99, 0x6d, 0x4a, 0x6c, 0x87, 0x24, 0xe0, 0x6d}} |
| #define | EFI_LOADED_IMAGE_PROTOCOL_GUID {0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}} |
| #define | EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID {0x9042a9de, 0x23dc, 0x4a38, {0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a}} |
| #define | EFI_SIMPLE_NETWORK_PROTOCOL_GUID {0xA19832B9, 0xAC25, 0x11D3, {0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d}} |
| #define | EFI_SIMPLE_NETWORK_PROTOCOL_REVISION 0x00010000 |
| #define | EFI_IP4_PROTOCOL_GUID {0x41d94cd2, 0x35b6, 0x455a, {0x82, 0x58, 0xd4, 0xe5, 0x13, 0x34, 0xaa, 0xdd}} |
| #define | EFI_LOADED_IMAGE_PROTOCOL_REVISION 0x1000 |
| #define | EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID {0x0964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}} |
| #define | EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID {0xbc62157e, 0x3e33, 0x4fec, {0x99, 0x20, 0x2d, 0x3b, 0x36, 0xd7, 0x50, 0xdf}} |
| #define | EFI_DEVICE_PATH_PROTOCOL_GUID {0x9576e91, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b}} |
| #define | EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID {0x0964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}} |
| #define | MAX_MCAST_FILTER_CNT 16 |
| #define | EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID {0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}} |
| #define | EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001 |
| #define | EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002 |
| #define | EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004 |
| #define | EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008 |
| #define | EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010 |
| #define | EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020 |
|
| typedef UInt64 | Firmware::Detail::EFI::EfiStatusType |
| typedef Char16 | Firmware::Detail::EFI::EfiChar16Type |
| typedef struct Firmware::Detail::EFI::EfiHandle * | Firmware::Detail::EFI::EfiHandlePtr |
| | Core Handle Kind Self is like NT's Win32 HANDLE type.
|
| typedef WideChar | Firmware::Detail::EFI::EfiCharType |
| typedef UInt64 | Firmware::Detail::EFI::EfiPhysicalAddress |
| typedef UIntPtr | Firmware::Detail::EFI::EfiVirtualAddress |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiTextString) (struct EfiSimpleTextOutputProtocol *Self, const WideChar *OutputString) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiTextAttrib) (struct EfiSimpleTextOutputProtocol *Self, const WideChar Attribute) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiTextClear) (struct EfiSimpleTextOutputProtocol *Self) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiLoadFile) (EfiLoadFileProtocol *Self, EfiFileDevicePathProtocol *FilePath, Boolean BootPolicy, UInt32 *BufferSize, VoidPtr Buffer) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiCopyMem) (VoidPtr DstBuf, VoidPtr SrcBuf, SizeT Length) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiSetMem) (VoidPtr DstBuf, Char Byte, SizeT Length) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiHandleProtocol) (EfiHandlePtr Handle, EFI_GUID *Guid, VoidPtr *Device) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiLocateDevicePath) (EFI_GUID *Protocol, EfiDevicePathProtocol **DevicePath, EfiHandlePtr Device) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiStartImage) (EfiHandlePtr Handle, VoidPtr ArgsSize, VoidPtr ArgsPtr) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiLoadImage) (Boolean BootPolicy, EfiHandlePtr ParentHandle, EfiFileDevicePathProtocol *DeviceFile, VoidPtr buffer, SizeT size, EfiHandlePtr *ppHandle) |
| typedef enum Firmware::Detail::EFI::EfiMemoryType | Firmware::Detail::EFI::EfiMemoryType |
| | EFI pool helpers, taken from iPXE.
|
| typedef enum Firmware::Detail::EFI::EfiAllocateType | Firmware::Detail::EFI::EfiAllocateType |
| typedef struct Firmware::Detail::EFI::EfiMemoryDescriptor | Firmware::Detail::EFI::EfiMemoryDescriptor |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiAllocatePool) (EfiMemoryType PoolType, UInt32 Size, VoidPtr *Buffer) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiFreePool) (VoidPtr Buffer) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiCalculateCrc32) (VoidPtr Data, UInt32 DataSize, UInt32 *CrcOut) |
| typedef struct Firmware::Detail::EFI::EfiTableHeader | Firmware::Detail::EFI::EfiTableHeader |
| | Present in every header, used to identify a UEFI structure.
|
| typedef UInt64 | Firmware::Detail::EFI::EfiImageUnload(EfiHandlePtr ImageHandle) |
| typedef EFI_STATUS(EFI_API * | Firmware::Detail::EFI::EFI_SIMPLE_NETWORK_START) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This) |
| typedef EFI_STATUS(EFI_API * | Firmware::Detail::EFI::EFI_SIMPLE_NETWORK_STOP) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This) |
| typedef EFI_STATUS(EFI_API * | Firmware::Detail::EFI::EFI_SIMPLE_NETWORK_INITIALIZE) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This, IN UInt32 ExtraRxBufferSize OPTIONAL, IN UInt32 ExtraTxBufferSize OPTIONAL) |
| typedef EFI_STATUS(EFIAPI * | Firmware::Detail::EFI::EFI_SIMPLE_NETWORK_RESET) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This, IN Boolean ExtendedVerification) |
| typedef EFI_STATUS(EFIAPI * | Firmware::Detail::EFI::EFI_SIMPLE_NETWORK_SHUTDOWN) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This) |
| typedef UInt8 | Firmware::Detail::EFI::EfiMacAddress[32] |
| typedef EFI_STATUS(EFIAPI * | Firmware::Detail::EFI::EFI_SIMPLE_NETWORK_TRANSMIT) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This, IN UInt32 HeaderSize, IN UInt32 BufferSize, IN Void *Buffer, IN EfiMacAddress *SrcAddr OPTIONAL, IN EfiMacAddress *DestAddr OPTIONAL, IN UInt16 *Protocol OPTIONAL) |
| typedef EFI_STATUS(EFIAPI * | Firmware::Detail::EFI::EFI_SIMPLE_NETWORK_RECEIVE) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This, OUT UInt32 *HeaderSize OPTIONAL, IN OUT UInt32 *BufferSize, OUT Void *Buffer, OUT EfiMacAddress *SrcAddr OPTIONAL, OUT EfiMacAddress *DestAddr OPTIONAL, OUT UInt16 *Protocol OPTIONAL) |
| typedef struct Firmware::Detail::EFI::EFI_SIMPLE_NETWORK_PROTOCOL | Firmware::Detail::EFI::EFI_SIMPLE_NETWORK_PROTOCOL |
| typedef struct Firmware::Detail::EFI::EfiBitmask | Firmware::Detail::EFI::EfiBitmask |
| typedef enum Firmware::Detail::EFI::EfiGraphicsOutputProtocolBltOperation | Firmware::Detail::EFI::EfiGraphicsOutputProtocolBltOperation |
| typedef struct Firmware::Detail::EFI::EfiGraphicsOutputProtocolModeInformation | Firmware::Detail::EFI::EfiGraphicsOutputProtocolModeInformation |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiGraphicsOutputProtocolQueryMode) (EfiGraphicsOutputProtocol *Self, UInt32 ModeNumber, UInt32 *SizeOfInfo, EfiGraphicsOutputProtocolModeInformation **Info) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiGraphicsOutputProtocolSetMode) (EfiGraphicsOutputProtocol *Self, UInt32 ModeNumber) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiGraphicsOutputProtocolBlt) (EfiGraphicsOutputProtocol *Self, EfiGraphicsOutputBltPixel *BltBuffer, EfiGraphicsOutputProtocolBltOperation BltOperation, UInt32 SourceX, UInt32 SourceY, UInt32 DestinationX, UInt32 DestinationY, UInt32 Width, UInt32 Height, UInt32 Delta) |
| typedef struct Firmware::Detail::EFI::EfiGraphicsOutputProtocol | Firmware::Detail::EFI::EfiGraphicsOutputProtocol |
| typedef struct Firmware::Detail::EFI::EfiLoadImageProtocol | Firmware::Detail::EFI::EfiLoadImageProtocol |
| typedef struct Firmware::Detail::EFI::EfiLoadFileProtocol | Firmware::Detail::EFI::EfiLoadFileProtocol |
| typedef struct Firmware::Detail::EFI::EfiDevicePathProtocol | Firmware::Detail::EFI::EfiDevicePathProtocol |
| typedef struct Firmware::Detail::EFI::EfiFileDevicePathProtocol | Firmware::Detail::EFI::EfiFileDevicePathProtocol |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiExitBootServices) (VoidPtr ImageHandle, UInt32 MapKey) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiAllocatePages) (EfiAllocateType AllocType, EfiMemoryType MemType, UInt32 Count, EfiPhysicalAddress *Memory) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiFreePages) (EfiPhysicalAddress *Memory, UInt32 Pages) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiGetMemoryMap) (UInt32 *MapSize, EfiMemoryDescriptor *DescPtr, UInt32 *MapKey, UInt32 *DescSize, UInt32 *DescVersion) |
| typedef struct EFI_GUID Firmware::Detail::EFI::EFI_FINAL | Firmware::Detail::EFI::EFI_GUID |
| | GUID type, something you can also find in CFKit.
|
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiLocateProtocol) (EFI_GUID *Protocol, VoidPtr Registration, VoidPtr *Interface) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiOpenProtocol) (EfiHandlePtr Handle, EFI_GUID *Guid, VoidPtr *Interface, EfiHandlePtr AgentHandle, EfiHandlePtr ControllerHandle, UInt32 Attributes) |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiEnableCursor) (EfiSimpleTextOutputProtocol *Self, Boolean Visible) |
|
UEFI Boot Services record, it contains functions necessary to a firmware level application.
|
| #define | kEntireDevPath 0xFF |
| #define | kThisInstancePath 0x01 |
| #define | kEfiOk 0 |
| #define | kEfiFail -1 |
| #define | kBufferTooSmall 5 |
| #define | EFI_EXTERN_C extern "C" |
| #define | kEFIYellow (0x01 | 0x02 | 0x04 | 0x08) |
| #define | END_DEVICE_PATH_TYPE 0x7f |
| #define | END_ENTIRE_DEVICE_PATH_SUBTYPE 0xFF |
| #define | END_INSTANCE_DEVICE_PATH_SUBTYPE 0x01 |
| #define | kEfiOffsetOf(T, F) |
| #define | kEFIFileRead 0x0000000000000001 |
| | File I/O macros.
|
| #define | kEFIFileWrite 0x0000000000000002 |
| #define | kEFIFileCreate 0x0000000000000000 |
| #define | kEFIReadOnly 0x01 |
| #define | kEFIHidden 0x02 |
| #define | kEFISystem 0x04 |
| #define | kEFIReserved 0x08 |
| #define | kEFIDirectory 0x10 |
| #define | kEFIArchive 0x20 |
| #define | EFI_FILE_PROTOCOL_REVISION 0x00010000 |
| #define | EFI_FILE_PROTOCOL_REVISION2 0x00020000 |
| #define | EFI_FILE_PROTOCOL_LATEST_REVISION EFI_FILE_PROTOCOL_REVISION2 |
| #define | EFI_EXTRA_DESCRIPTOR_SIZE 8 |
| #define | EFI_MP_SERVICES_PROTOCOL_GUID {0x3fdda605, 0xa76e, 0x4f46, {0xad, 0x29, 0x12, 0xf4, 0x53, 0x1b, 0x3d, 0x08}} |
| #define | PROCESSOR_AS_BSP_BIT 0x00000001 |
| #define | PROCESSOR_ENABLED_BIT 0x00000002 |
| #define | PROCESSOR_HEALTH_STATUS_BIT 0x00000004 |
| #define | END_OF_CPU_LIST 0xffffffff |
| #define | EFI_FILE_INFO_GUID {0x09576e92, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}} |
| enum | {
Firmware::Detail::EFI::kEFIHwDevicePath = 0x01
, Firmware::Detail::EFI::kEFIAcpiDevicePath = 0x02
, Firmware::Detail::EFI::kEFIMessaingDevicePath = 0x03
, Firmware::Detail::EFI::kEFIMediaDevicePath = 0x04
,
Firmware::Detail::EFI::kEFIBiosBootPath = 0x05
, Firmware::Detail::EFI::kEFIEndOfPath = 0x06
, Firmware::Detail::EFI::kEFICount = 6
} |
| typedef struct Firmware::Detail::EFI::EfiBootServices | Firmware::Detail::EFI::EfiBootServices |
| typedef struct Firmware::Detail::EFI::EfiSimpleTextOutputProtocol | Firmware::Detail::EFI::EfiSimpleTextOutputProtocol |
| | PrintF like protocol.
|
| typedef EfiStatusType(EFI_API * | Firmware::Detail::EFI::EfiInputReadKey) (IN EfiSimpleTextInputProtocol *This, OUT EfiInputKey *Key) |
| typedef EfiStatusType(EFI_API * | Firmware::Detail::EFI::EfiInputReset) (IN EfiSimpleTextInputProtocol *This, IN Boolean ExtendedChk) |
| typedef EfiStatusType(EFI_API * | Firmware::Detail::EFI::EfiWaitForEvent) (IN UInt32 NumberOfEvents, IN VoidPtr Event, OUT UInt32 *Index) |
| typedef struct Firmware::Detail::EFI::EfiSimpleTextInputProtocol | Firmware::Detail::EFI::EfiSimpleTextInputProtocol |
| typedef UInt64(EFI_API * | Firmware::Detail::EFI::EfiOpenVolume) (struct EfiSimpleFilesystemProtocol *, struct EfiFileProtocol **) |
| | @biref Open Volume procedure ptr.
|
| typedef struct Firmware::Detail::EFI::EfiRuntimeServices | Firmware::Detail::EFI::EfiRuntimeServices |
| typedef struct Firmware::Detail::EFI::EfiSystemTable | Firmware::Detail::EFI::EfiSystemTable |
| | The Structure that they give you when booting.
|
| typedef struct Firmware::Detail::EFI::EfiIPV4 | Firmware::Detail::EFI::EfiIPV4 |
| typedef struct Firmware::Detail::EFI::EfiIPV6 | Firmware::Detail::EFI::EfiIPV6 |
| typedef struct Firmware::Detail::EFI::EfiIOToken | Firmware::Detail::EFI::EfiIOToken |
| typedef struct Firmware::Detail::EFI::EfiFileProtocol | Firmware::Detail::EFI::EfiFileProtocol |
| typedef struct Firmware::Detail::EFI::EfiFileProtocol * | Firmware::Detail::EFI::EfiFileProtocolPtr |
| typedef UInt64 | Firmware::Detail::EFI::EfiCursorType |
| typedef struct Firmware::Detail::EFI::EfiTime | Firmware::Detail::EFI::EfiTime |
| typedef struct Firmware::Detail::EFI::_EfiCPUPhyiscalLocation | Firmware::Detail::EFI::EfiCPUPhyiscalLocation |
| typedef union Firmware::Detail::EFI::_EfiExtendedProcessorInformation | Firmware::Detail::EFI::EfiExtendedProcessorInformation |
| typedef struct Firmware::Detail::EFI::_EfiProcessorInformation | Firmware::Detail::EFI::EfiProcessorInformation |
| typedef EfiStatusType EFI_API(* | Firmware::Detail::EFI::EfiMpServicesGetNumberOfProcessors) (IN struct _EfiMpServicesProtocol *Self, OUT UInt32 *NumberOfProcessors, OUT UInt32 *NumberOfEnabledProcessors) |
| typedef EfiStatusType EFI_API(* | Firmware::Detail::EFI::EfiMpServicesGetProcessorInfo) (IN struct _EfiMpServicesProtocol *Self, IN UInt32 *ProcessorNumber, OUT struct _EfiProcessorInformation *NumberOfEnabledProcessors) |
| typedef void EFI_API(* | Firmware::Detail::EFI::EFI_AP_PROCEDURE) (IN VoidPtr ProcedureArgument) |
| typedef EfiStatusType EFI_API(* | Firmware::Detail::EFI::EfiMpServicesStartupAllAPS) (IN struct _EfiMpServicesProtocol *Self, IN EFI_AP_PROCEDURE Procedure, IN Boolean SingleThread, IN VoidPtr WaitEvent OPTIONAL, IN UInt32 TimeoutInMicroSeconds, IN Void *ProcedureArgument OPTIONAL, OUT UInt32 **FailedCpuList OPTIONAL) |
| typedef EfiStatusType EFI_API(* | Firmware::Detail::EFI::EfiMpServicesSwitchBSP) (IN struct _EfiMpServicesProtocol *Self, IN UInt32 ProcessorNumber, IN Boolean EnableOldBSP) |
| typedef EfiStatusType EFI_API(* | Firmware::Detail::EFI::EfiMpServicesStartupThisAP) (IN struct _EfiMpServicesProtocol *Self, IN EFI_AP_PROCEDURE Procedure, IN UInt32 ProcessorNumber, IN VoidPtr WaitEvent OPTIONAL, IN UInt32 TimeoutInMicroseconds, IN Void *ProcedureArgument OPTIONAL, OUT Boolean *Finished OPTIONAL) |
| typedef EfiStatusType EFI_API(* | Firmware::Detail::EFI::EfiMpServicesDisableThisAP) (IN struct _EfiMpServicesProtocol *Self, IN UInt32 ProcessorNumber, IN Boolean EnableAP, IN UInt32 *HealthFlag OPTIONAL) |
| typedef EfiStatusType EFI_API(* | Firmware::Detail::EFI::EfiMpServicesWhoAmI) (IN struct _EfiMpServicesProtocol *Self, OUT UInt32 *ProcessorNumber) |
| typedef struct Firmware::Detail::EFI::_EfiMpServicesProtocol | Firmware::Detail::EFI::EfiMpServicesProtocol |