NeKernel dev
Loading...
Searching...
No Matches
NS.h File Reference
#include <NeKit/Config.h>
#include <FirmwareKit/EFI/EFI.h>

Go to the source code of this file.

Classes

struct  Firmware::Detail::EFI::EfiHandle
 Core Handle Kind Self is like NT's Win32 HANDLE type. More...
struct  Firmware::Detail::EFI::EfiMemoryDescriptor
struct  Firmware::Detail::EFI::EfiTableHeader
 Present in every header, used to identify a UEFI structure. More...
struct  Firmware::Detail::EFI::EFI_SIMPLE_NETWORK_MODE
struct  Firmware::Detail::EFI::EFI_SIMPLE_NETWORK_PROTOCOL
struct  Firmware::Detail::EFI::EfiBitmask
struct  Firmware::Detail::EFI::EfiGraphicsOutputBltPixel
struct  Firmware::Detail::EFI::EfiGraphicsOutputProtocolModeInformation
struct  Firmware::Detail::EFI::EfiGraphicsOutputProtocolMode
struct  Firmware::Detail::EFI::EfiGraphicsOutputProtocol
struct  Firmware::Detail::EFI::EfiLoadImageProtocol
struct  Firmware::Detail::EFI::EfiLoadFileProtocol
struct  Firmware::Detail::EFI::EfiDevicePathProtocol
struct  Firmware::Detail::EFI::EfiFileDevicePathProtocol
struct  Firmware::Detail::EFI::EFI_FINAL
 GUID type, something you can also find in CFKit. More...
struct  Firmware::Detail::EFI::EfiBootServices
struct  Firmware::Detail::EFI::EfiSimpleTextOutputProtocol
 PrintF like protocol. More...
struct  Firmware::Detail::EFI::EfiInputKey
struct  Firmware::Detail::EFI::EfiSimpleTextInputProtocol
struct  Firmware::Detail::EFI::EfiSimpleFilesystemProtocol
struct  Firmware::Detail::EFI::EfiRuntimeServices
struct  Firmware::Detail::EFI::EfiSystemTable
 The Structure that they give you when booting. More...
struct  Firmware::Detail::EFI::EfiIPV4
struct  Firmware::Detail::EFI::EfiIPV6
struct  Firmware::Detail::EFI::EfiIOToken
struct  Firmware::Detail::EFI::EfiFileProtocol
struct  Firmware::Detail::EFI::EfiTime
struct  Firmware::Detail::EFI::_EfiCPUPhyiscalLocation
union  Firmware::Detail::EFI::_EfiExtendedProcessorInformation
struct  Firmware::Detail::EFI::_EfiProcessorInformation
struct  Firmware::Detail::EFI::_EfiMpServicesProtocol

Namespaces

namespace  Firmware
namespace  Firmware::Detail
namespace  Firmware::Detail::EFI

Macros

#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

Typedefs

typedef UInt64 Firmware::Detail::EFI::EfiStatusType
typedef Char16 Firmware::Detail::EFI::EfiChar16Type
typedef struct Firmware::Detail::EFI::EfiHandleFirmware::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_APIFirmware::Detail::EFI::EfiTextString) (struct EfiSimpleTextOutputProtocol *Self, const WideChar *OutputString)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiTextAttrib) (struct EfiSimpleTextOutputProtocol *Self, const WideChar Attribute)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiTextClear) (struct EfiSimpleTextOutputProtocol *Self)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiLoadFile) (EfiLoadFileProtocol *Self, EfiFileDevicePathProtocol *FilePath, Boolean BootPolicy, UInt32 *BufferSize, VoidPtr Buffer)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiCopyMem) (VoidPtr DstBuf, VoidPtr SrcBuf, SizeT Length)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiSetMem) (VoidPtr DstBuf, Char Byte, SizeT Length)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiHandleProtocol) (EfiHandlePtr Handle, EFI_GUID *Guid, VoidPtr *Device)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiLocateDevicePath) (EFI_GUID *Protocol, EfiDevicePathProtocol **DevicePath, EfiHandlePtr Device)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiStartImage) (EfiHandlePtr Handle, VoidPtr ArgsSize, VoidPtr ArgsPtr)
typedef UInt64(EFI_APIFirmware::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_APIFirmware::Detail::EFI::EfiAllocatePool) (EfiMemoryType PoolType, UInt32 Size, VoidPtr *Buffer)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiFreePool) (VoidPtr Buffer)
typedef UInt64(EFI_APIFirmware::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_APIFirmware::Detail::EFI::EFI_SIMPLE_NETWORK_START) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This)
typedef EFI_STATUS(EFI_APIFirmware::Detail::EFI::EFI_SIMPLE_NETWORK_STOP) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This)
typedef EFI_STATUS(EFI_APIFirmware::Detail::EFI::EFI_SIMPLE_NETWORK_INITIALIZE) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This, IN UInt32 ExtraRxBufferSize OPTIONAL, IN UInt32 ExtraTxBufferSize OPTIONAL)
typedef EFI_STATUS(EFIAPIFirmware::Detail::EFI::EFI_SIMPLE_NETWORK_RESET) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This, IN Boolean ExtendedVerification)
typedef EFI_STATUS(EFIAPIFirmware::Detail::EFI::EFI_SIMPLE_NETWORK_SHUTDOWN) (IN EFI_SIMPLE_NETWORK_PROTOCOL *This)
typedef UInt8 Firmware::Detail::EFI::EfiMacAddress[32]
typedef EFI_STATUS(EFIAPIFirmware::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(EFIAPIFirmware::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_APIFirmware::Detail::EFI::EfiGraphicsOutputProtocolQueryMode) (EfiGraphicsOutputProtocol *Self, UInt32 ModeNumber, UInt32 *SizeOfInfo, EfiGraphicsOutputProtocolModeInformation **Info)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiGraphicsOutputProtocolSetMode) (EfiGraphicsOutputProtocol *Self, UInt32 ModeNumber)
typedef UInt64(EFI_APIFirmware::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_APIFirmware::Detail::EFI::EfiExitBootServices) (VoidPtr ImageHandle, UInt32 MapKey)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiAllocatePages) (EfiAllocateType AllocType, EfiMemoryType MemType, UInt32 Count, EfiPhysicalAddress *Memory)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiFreePages) (EfiPhysicalAddress *Memory, UInt32 Pages)
typedef UInt64(EFI_APIFirmware::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_APIFirmware::Detail::EFI::EfiLocateProtocol) (EFI_GUID *Protocol, VoidPtr Registration, VoidPtr *Interface)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiOpenProtocol) (EfiHandlePtr Handle, EFI_GUID *Guid, VoidPtr *Interface, EfiHandlePtr AgentHandle, EfiHandlePtr ControllerHandle, UInt32 Attributes)
typedef UInt64(EFI_APIFirmware::Detail::EFI::EfiEnableCursor) (EfiSimpleTextOutputProtocol *Self, Boolean Visible)

Enumerations

enum  Firmware::Detail::EFI::EfiMemoryType {
  Firmware::Detail::EFI::EfiReservedMemoryType , Firmware::Detail::EFI::EfiLoaderCode , Firmware::Detail::EFI::EfiLoaderData , Firmware::Detail::EFI::EfiBootServicesCode ,
  Firmware::Detail::EFI::EfiBootServicesData , Firmware::Detail::EFI::EfiRuntimeServicesCode , Firmware::Detail::EFI::EfiRuntimeServicesData , Firmware::Detail::EFI::EfiConventionalMemory ,
  Firmware::Detail::EFI::EfiUnusableMemory , Firmware::Detail::EFI::EfiACPIReclaimMemory , Firmware::Detail::EFI::EfiACPIMemoryNVS , Firmware::Detail::EFI::EfiMemoryMappedIO ,
  Firmware::Detail::EFI::EfiMemoryMappedIOPortSpace , Firmware::Detail::EFI::EfiPalCode , Firmware::Detail::EFI::EfiPersistentMemory , Firmware::Detail::EFI::EfiUnacceptedMemoryType ,
  Firmware::Detail::EFI::EfiMaxMemoryType
}
 EFI pool helpers, taken from iPXE. More...
enum  Firmware::Detail::EFI::EfiAllocateType { Firmware::Detail::EFI::AllocateAnyPages , Firmware::Detail::EFI::AllocateMaxAddress , Firmware::Detail::EFI::AllocateAddress , Firmware::Detail::EFI::MaxAllocateType }
enum  {
  Firmware::Detail::EFI::kPixelRedGreenBlueReserved8BitPerColor , Firmware::Detail::EFI::kPixelBlueGreenRedReserved8BitPerColor , Firmware::Detail::EFI::kPixelBitMask , Firmware::Detail::EFI::kPixelBltOnly ,
  Firmware::Detail::EFI::kPixelFormatMax
}
enum  Firmware::Detail::EFI::EfiGraphicsOutputProtocolBltOperation {
  Firmware::Detail::EFI::EfiBltVideoFill , Firmware::Detail::EFI::EfiBltVideoToBltBuffer , Firmware::Detail::EFI::EfiBltBufferToVideo , Firmware::Detail::EFI::EfiBltVideoToVideo ,
  Firmware::Detail::EFI::EfiGraphicsOutputBltOperationMax
}

Variables

 Firmware::Detail::EFI::EXTERN_C

EfiBootServices

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_APIFirmware::Detail::EFI::EfiInputReadKey) (IN EfiSimpleTextInputProtocol *This, OUT EfiInputKey *Key)
typedef EfiStatusType(EFI_APIFirmware::Detail::EFI::EfiInputReset) (IN EfiSimpleTextInputProtocol *This, IN Boolean ExtendedChk)
typedef EfiStatusType(EFI_APIFirmware::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_APIFirmware::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::EfiFileProtocolFirmware::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

Macro Definition Documentation

◆ __NE_VER__

#define __NE_VER__   (2024)

◆ ALIGN

#define ALIGN ( X)
Value:
__attribute__((aligned(X)))

◆ ARRAY_SIZE

#define ARRAY_SIZE ( a)
Value:
(((sizeof(a) / sizeof(*(a))) / (static_cast<Kernel::Size>(!(sizeof(a) % sizeof(*(a)))))))
__SIZE_TYPE__ Size
Definition Config.h:59

◆ ATTRIBUTE

#define ATTRIBUTE ( ...)
Value:
__attribute__((__VA_ARGS__))

◆ BOOL

#define BOOL   Kernel::Boolean

◆ CANT_REACH

#define CANT_REACH ( )
Value:
__builtin_unreachable()

◆ char8_t

#define char8_t   char

◆ CONST

#define CONST   const

◆ DBG_TRAP

#define DBG_TRAP ( )
Value:
void Void
Definition Config.h:87

◆ DEPRECATED

#define DEPRECATED   ATTRIBUTE(deprecated)

◆ EFI_ACPI_TABLE_PROTOCOL_GUID

#define EFI_ACPI_TABLE_PROTOCOL_GUID    {0xffe06bdd, 0x6107, 0x46a6, {0x7b, 0xb2, 0x5a, 0x9c, 0x7e, 0xc5, 0x27, 0x5c}}

◆ EFI_API

#define EFI_API   __attribute__((ms_abi))

◆ EFI_DEVICE_PATH_PROTOCOL_GUID

#define EFI_DEVICE_PATH_PROTOCOL_GUID    {0x9576e91, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}

◆ EFI_EXTERN_C

#define EFI_EXTERN_C   extern "C"

◆ EFI_EXTRA_DESCRIPTOR_SIZE

#define EFI_EXTRA_DESCRIPTOR_SIZE   8

◆ EFI_FILE_INFO_GUID

#define EFI_FILE_INFO_GUID    {0x09576e92, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}

◆ EFI_FILE_PROTOCOL_LATEST_REVISION

#define EFI_FILE_PROTOCOL_LATEST_REVISION   EFI_FILE_PROTOCOL_REVISION2

◆ EFI_FILE_PROTOCOL_REVISION

#define EFI_FILE_PROTOCOL_REVISION   0x00010000

◆ EFI_FILE_PROTOCOL_REVISION2

#define EFI_FILE_PROTOCOL_REVISION2   0x00020000

◆ EFI_FINAL

#define EFI_FINAL   final

◆ EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID

#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID    {0x9042a9de, 0x23dc, 0x4a38, {0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a}}

◆ EFI_IP4_PROTOCOL_GUID

#define EFI_IP4_PROTOCOL_GUID    {0x41d94cd2, 0x35b6, 0x455a, {0x82, 0x58, 0xd4, 0xe5, 0x13, 0x34, 0xaa, 0xdd}}

◆ EFI_LOAD_FILE2_PROTOCOL_GUID

#define EFI_LOAD_FILE2_PROTOCOL_GUID    {0x4006c0c1, 0xfcb3, 0x403e, {0x99, 0x6d, 0x4a, 0x6c, 0x87, 0x24, 0xe0, 0x6d}}

◆ EFI_LOAD_FILE_PROTOCOL_GUID

#define EFI_LOAD_FILE_PROTOCOL_GUID    {0x56EC3091, 0x954C, 0x11d2, {0x8e, 0x3f, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}

◆ EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID

#define EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID    {0xbc62157e, 0x3e33, 0x4fec, {0x99, 0x20, 0x2d, 0x3b, 0x36, 0xd7, 0x50, 0xdf}}

◆ EFI_LOADED_IMAGE_PROTOCOL_GUID

#define EFI_LOADED_IMAGE_PROTOCOL_GUID    {0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}

◆ EFI_LOADED_IMAGE_PROTOCOL_REVISION

#define EFI_LOADED_IMAGE_PROTOCOL_REVISION   0x1000

◆ EFI_MP_SERVICES_PROTOCOL_GUID

#define EFI_MP_SERVICES_PROTOCOL_GUID    {0x3fdda605, 0xa76e, 0x4f46, {0xad, 0x29, 0x12, 0xf4, 0x53, 0x1b, 0x3d, 0x08}}

◆ EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER

#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER   0x00000008

◆ EFI_OPEN_PROTOCOL_BY_DRIVER

#define EFI_OPEN_PROTOCOL_BY_DRIVER   0x00000010

◆ EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL

#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL   0x00000001

some helpers

◆ EFI_OPEN_PROTOCOL_EXCLUSIVE

#define EFI_OPEN_PROTOCOL_EXCLUSIVE   0x00000020

◆ EFI_OPEN_PROTOCOL_GET_PROTOCOL

#define EFI_OPEN_PROTOCOL_GET_PROTOCOL   0x00000002

◆ EFI_OPEN_PROTOCOL_TEST_PROTOCOL

#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL   0x00000004

◆ EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID [1/2]

#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID    {0x0964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}

◆ EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID [2/2]

#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID    {0x0964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}

◆ EFI_SIMPLE_NETWORK_PROTOCOL_GUID

#define EFI_SIMPLE_NETWORK_PROTOCOL_GUID    {0xA19832B9, 0xAC25, 0x11D3, {0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d}}

◆ EFI_SIMPLE_NETWORK_PROTOCOL_REVISION

#define EFI_SIMPLE_NETWORK_PROTOCOL_REVISION   0x00010000

◆ EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID

#define EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID    {0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}

◆ EFI_STATUS

#define EFI_STATUS   EfiStatusType

◆ EFIAPI

#define EFIAPI   __attribute__((ms_abi))

◆ END_DEVICE_PATH_TYPE

#define END_DEVICE_PATH_TYPE   0x7f

◆ END_ENTIRE_DEVICE_PATH_SUBTYPE

#define END_ENTIRE_DEVICE_PATH_SUBTYPE   0xFF

◆ END_ENUM

#define END_ENUM ( )
Value:
} \
;

◆ END_INSTANCE_DEVICE_PATH_SUBTYPE

#define END_INSTANCE_DEVICE_PATH_SUBTYPE   0x01

◆ END_OF_CPU_LIST

#define END_OF_CPU_LIST   0xffffffff

◆ END_STRING_ENUM

#define END_STRING_ENUM ( )
Value:
}

◆ ENUM_STRING

#define ENUM_STRING ( NAME,
VAL )
Value:
inline constexpr const char* e##NAME = VAL

◆ EXTERN [1/2]

#define EXTERN   extern

◆ EXTERN [2/2]

#define EXTERN   extern

◆ EXTERN_C

#define EXTERN_C   extern "C"

◆ FALSE

#define FALSE   false

◆ FIRMWARE_KIT_EFI_H

#define FIRMWARE_KIT_EFI_H

◆ GIB

#define GIB ( X)
Value:
#define MIB(X)
__UINT64_TYPE__ UInt64
Definition Config.h:48

◆ gib_cast

#define gib_cast ( X)
Value:
#define mib_cast(X)

◆ IN

#define IN

◆ kBadAddress

#define kBadAddress   0x0000000000000000

◆ kBufferTooSmall

#define kBufferTooSmall   5

◆ kEFIArchive

#define kEFIArchive   0x20

◆ kEFIDirectory

#define kEFIDirectory   0x10

◆ kEfiFail

#define kEfiFail   -1

◆ kEFIFileCreate

#define kEFIFileCreate   0x0000000000000000

◆ kEFIFileRead

#define kEFIFileRead   0x0000000000000001

File I/O macros.

◆ kEFIFileWrite

#define kEFIFileWrite   0x0000000000000002

◆ kEFIHidden

#define kEFIHidden   0x02

◆ kEfiOffsetOf

#define kEfiOffsetOf ( T,
F )
Value:
__builtin_offsetof(T, F)

◆ kEfiOk

#define kEfiOk   0

◆ kEFIReadOnly

#define kEFIReadOnly   0x01

◆ kEFIReserved

#define kEFIReserved   0x08

◆ kEFISystem

#define kEFISystem   0x04

◆ kEFIYellow

#define kEFIYellow   (0x01 | 0x02 | 0x04 | 0x08)

◆ kEntireDevPath

#define kEntireDevPath   0xFF

◆ KIB

#define KIB ( X)
Value:
(Kernel::UInt64)((X) / 1024)

◆ kib_cast

#define kib_cast ( X)
Value:
(Kernel::UInt64)((X) * 1024)

◆ kInvalidAddress

#define kInvalidAddress   0xFBFBFBFBFBFBFBFB

◆ kMaxAddr

#define kMaxAddr   0xFFFFFFFFFFFFFFFF

◆ kPathLen

#define kPathLen   0x100

◆ kThisInstancePath

#define kThisInstancePath   0x01

◆ LIKELY

#define LIKELY ( ARG)
Value:
((ARG) ? MUST_PASS(NO) : ((Kernel::Void) 0))
#define NO
#define MUST_PASS(EXPR)
Definition KernelPanic.h:37
UPS inline definitions.
Definition Device.h:12

◆ MAKE_ENUM

#define MAKE_ENUM ( NAME)
Value:
enum NAME {

◆ MAKE_STRING_ENUM

#define MAKE_STRING_ENUM ( NAME)
Value:
namespace NAME {

◆ MAX_MCAST_FILTER_CNT

#define MAX_MCAST_FILTER_CNT   16

◆ MIB

#define MIB ( X)
Value:
#define KIB(X)

◆ mib_cast

#define mib_cast ( X)
Value:
#define kib_cast(X)

◆ NE_UNUSED

#define NE_UNUSED ( X)
Value:

◆ NEKIT_VERSION_BCD

#define NEKIT_VERSION_BCD   0x0001

◆ NEKIT_VERSION_STR

#define NEKIT_VERSION_STR   "0.0.1"

◆ NO

#define NO   false

◆ No

#define No   false

◆ NO_EXEC

#define NO_EXEC   ATTRIBUTE(noexec)

◆ OPTIONAL

#define OPTIONAL

◆ OUT

#define OUT

◆ PACKED

#define PACKED   ATTRIBUTE(packed)

◆ PROCESSOR_AS_BSP_BIT

#define PROCESSOR_AS_BSP_BIT   0x00000001

◆ PROCESSOR_ENABLED_BIT

#define PROCESSOR_ENABLED_BIT   0x00000002

◆ PROCESSOR_HEALTH_STATUS_BIT

#define PROCESSOR_HEALTH_STATUS_BIT   0x00000004

◆ RGB

#define RGB ( R,
G,
B )
Value:
((Kernel::UInt32) ((0xFF << 24) | ((R) << 16) | ((G) << 8) | (B)))
__UINT32_TYPE__ UInt32
Definition Config.h:44

◆ RTL_ALLOCA

#define RTL_ALLOCA ( sz)
Value:
__builtin_alloca(sz)

◆ RTL_ENDIAN

#define RTL_ENDIAN ( address,
value )
Value:
(((reinterpret_cast<Kernel::Char*>(address)[0]) == (value)) ? (Kernel::Endian::kEndianBig) \
char Char
Definition Config.h:51
@ kEndianLittle
Definition Config.h:94
@ kEndianBig
Definition Config.h:94

◆ RTL_INIT_OBJECT

#define RTL_INIT_OBJECT ( OBJ,
TYPE,
... )
Value:
TYPE OBJ = TYPE(__VA_ARGS__)

◆ STATIC

#define STATIC   static

◆ STRINGIFY

#define STRINGIFY ( X)
Value:
#X

◆ TIB

#define TIB ( X)
Value:
#define GIB(X)

◆ tib_cast

#define tib_cast ( X)
Value:
((Kernel::UInt64) gib_cast(X) * 1024)
#define gib_cast(X)

◆ TRUE

#define TRUE   true

◆ UNLIKELY

#define UNLIKELY ( ARG)
Value:
LIKELY(!(ARG))
#define LIKELY(ARG)

◆ YES

#define YES   true

◆ Yes

#define Yes   true