16 #ifndef __UEFI_SPEC_H__ 17 #define __UEFI_SPEC_H__ 54 #define EFI_TIME_ADJUST_DAYLIGHT 0x01 55 #define EFI_TIME_IN_DAYLIGHT 0x02 60 #define EFI_UNSPECIFIED_TIMEZONE 0x07FF 65 #define EFI_MEMORY_UC 0x0000000000000001ULL 66 #define EFI_MEMORY_WC 0x0000000000000002ULL 67 #define EFI_MEMORY_WT 0x0000000000000004ULL 68 #define EFI_MEMORY_WB 0x0000000000000008ULL 69 #define EFI_MEMORY_UCE 0x0000000000000010ULL 76 #define EFI_MEMORY_WP 0x0000000000001000ULL 77 #define EFI_MEMORY_RP 0x0000000000002000ULL 78 #define EFI_MEMORY_XP 0x0000000000004000ULL 79 #define EFI_MEMORY_RO 0x0000000000020000ULL 84 #define EFI_MEMORY_NV 0x0000000000008000ULL 89 #define EFI_MEMORY_MORE_RELIABLE 0x0000000000010000ULL 99 #define EFI_MEMORY_SP 0x0000000000040000ULL 108 #define EFI_MEMORY_CPU_CRYPTO 0x0000000000080000ULL 113 #define EFI_MEMORY_RUNTIME 0x8000000000000000ULL 120 #define EFI_MEMORY_ISA_VALID 0x4000000000000000ULL 128 #define EFI_MEMORY_ISA_MASK 0x0FFFF00000000000ULL 133 #define EFI_CACHE_ATTRIBUTE_MASK (EFI_MEMORY_UC | EFI_MEMORY_WC | EFI_MEMORY_WT | EFI_MEMORY_WB | EFI_MEMORY_UCE | EFI_MEMORY_WP) 134 #define EFI_MEMORY_ACCESS_MASK (EFI_MEMORY_RP | EFI_MEMORY_XP | EFI_MEMORY_RO) 135 #define EFI_MEMORY_ATTRIBUTE_MASK (EFI_MEMORY_ACCESS_MASK | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO) 140 #define EFI_MEMORY_DESCRIPTOR_VERSION 1 408 #define EFI_OPTIONAL_PTR 0x00000001 440 #define EVT_TIMER 0x80000000 441 #define EVT_RUNTIME 0x40000000 442 #define EVT_NOTIFY_WAIT 0x00000100 443 #define EVT_NOTIFY_SIGNAL 0x00000200 445 #define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201 446 #define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202 453 #define EVT_RUNTIME_CONTEXT 0x20000000 637 #define TPL_APPLICATION 4 638 #define TPL_CALLBACK 8 639 #define TPL_NOTIFY 16 640 #define TPL_HIGH_LEVEL 31 1343 #define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001 1344 #define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002 1345 #define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004 1346 #define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008 1347 #define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010 1348 #define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020 1719 #define CAPSULE_FLAGS_PERSIST_ACROSS_RESET 0x00010000 1720 #define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE 0x00020000 1721 #define CAPSULE_FLAGS_INITIATE_RESET 0x00040000 1826 OUT UINT64 *RemainingVariableStorageSize,
1833 #define EFI_OS_INDICATIONS_BOOT_TO_FW_UI 0x0000000000000001 1834 #define EFI_OS_INDICATIONS_TIMESTAMP_REVOCATION 0x0000000000000002 1835 #define EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED 0x0000000000000004 1836 #define EFI_OS_INDICATIONS_FMP_CAPSULE_SUPPORTED 0x0000000000000008 1837 #define EFI_OS_INDICATIONS_CAPSULE_RESULT_VAR_SUPPORTED 0x0000000000000010 1838 #define EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY 0x0000000000000040 1839 #define EFI_OS_INDICATIONS_JSON_CONFIG_DATA_REFRESH 0x0000000000000080 1844 #define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' ','S','Y','S','T') 1845 #define EFI_2_80_SYSTEM_TABLE_REVISION ((2 << 16) | (80)) 1846 #define EFI_2_70_SYSTEM_TABLE_REVISION ((2 << 16) | (70)) 1847 #define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60)) 1848 #define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50)) 1849 #define EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40)) 1850 #define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31)) 1851 #define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30)) 1852 #define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20)) 1853 #define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10)) 1854 #define EFI_2_00_SYSTEM_TABLE_REVISION ((2 << 16) | (00)) 1855 #define EFI_1_10_SYSTEM_TABLE_REVISION ((1 << 16) | (10)) 1856 #define EFI_1_02_SYSTEM_TABLE_REVISION ((1 << 16) | (02)) 1857 #define EFI_SYSTEM_TABLE_REVISION EFI_2_70_SYSTEM_TABLE_REVISION 1858 #define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION 1860 #define EFI_RUNTIME_SERVICES_SIGNATURE SIGNATURE_64 ('R','U','N','T','S','E','R','V') 1861 #define EFI_RUNTIME_SERVICES_REVISION EFI_SPECIFICATION_VERSION 1911 #define EFI_BOOT_SERVICES_SIGNATURE SIGNATURE_64 ('B','O','O','T','S','E','R','V') 1912 #define EFI_BOOT_SERVICES_REVISION EFI_SPECIFICATION_VERSION 2163 #define LOAD_OPTION_ACTIVE 0x00000001 2164 #define LOAD_OPTION_FORCE_RECONNECT 0x00000002 2165 #define LOAD_OPTION_HIDDEN 0x00000008 2166 #define LOAD_OPTION_CATEGORY 0x00001F00 2168 #define LOAD_OPTION_CATEGORY_BOOT 0x00000000 2169 #define LOAD_OPTION_CATEGORY_APP 0x00000100 2171 #define EFI_BOOT_OPTION_SUPPORT_KEY 0x00000001 2172 #define EFI_BOOT_OPTION_SUPPORT_APP 0x00000002 2173 #define EFI_BOOT_OPTION_SUPPORT_SYSPREP 0x00000010 2174 #define EFI_BOOT_OPTION_SUPPORT_COUNT 0x00000300 2252 #define EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 L"\\EFI\\BOOT\\BOOTIA32.EFI" 2253 #define EFI_REMOVABLE_MEDIA_FILE_NAME_IA64 L"\\EFI\\BOOT\\BOOTIA64.EFI" 2254 #define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.EFI" 2255 #define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.EFI" 2256 #define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI" 2257 #define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 L"\\EFI\\BOOT\\BOOTRISCV64.EFI" 2258 #define EFI_REMOVABLE_MEDIA_FILE_NAME_LOONGARCH64 L"\\EFI\\BOOT\\BOOTLOONGARCH64.EFI" 2260 #if !defined (EFI_REMOVABLE_MEDIA_FILE_NAME) 2261 #if defined (MDE_CPU_IA32) 2262 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 2263 #elif defined (MDE_CPU_X64) 2264 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_X64 2265 #elif defined (MDE_CPU_EBC) 2266 #elif defined (MDE_CPU_ARM) 2267 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_ARM 2268 #elif defined (MDE_CPU_AARCH64) 2269 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 2270 #elif defined (MDE_CPU_RISCV64) 2271 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 2272 #elif defined (MDE_CPU_LOONGARCH64) 2273 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_LOONGARCH64 2275 #error Unknown Processor Type 2282 #define EFI_CAPSULE_FILE_DIRECTORY L"\\EFI\\UpdateCapsule\\" #define OPTIONAL
Passing the datum to the function is optional, and a NULL is passed if the value is not supplied.
EFI_QUERY_VARIABLE_INFO QueryVariableInfo
EFI_BOOT_SERVICES * BootServices
A pointer to the EFI Boot Services Table.
EFI_STATUS(EFIAPI * EFI_GET_MEMORY_MAP)(IN OUT UINTN *MemoryMapSize, OUT EFI_MEMORY_DESCRIPTOR *MemoryMap, OUT UINTN *MapKey, OUT UINTN *DescriptorSize, OUT UINT32 *DescriptorVersion)
Returns the current memory map.
EFI_SET_WATCHDOG_TIMER SetWatchdogTimer
UINT32 InputKeyCount
Specifies the actual number of entries in EFI_KEY_OPTION.Keys, from 0-3.
EFI_STATUS(EFIAPI * EFI_ALLOCATE_PAGES)(IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINTN Pages, IN OUT EFI_PHYSICAL_ADDRESS *Memory)
Allocates memory pages from the system.
EFI_TABLE_HEADER Hdr
The table header for the EFI Runtime Services Table.
EFI_GET_WAKEUP_TIME GetWakeupTime
EFI Oprn Protocol Information Entry.
UINT16 FilePathListLength
Length in bytes of the FilePathList.
EFI_STATUS(EFIAPI * EFI_INSTALL_PROTOCOL_INTERFACE)(IN OUT EFI_HANDLE *Handle, IN EFI_GUID *Protocol, IN EFI_INTERFACE_TYPE InterfaceType, IN VOID *Interface)
Installs a protocol interface on a device handle.
An event is to be signaled periodically at a specified interval from the current time.
UINT32 ShiftPressed
Either the left or right Shift keys must be pressed (1) or must not be pressed (0).
EFI_HANDLE ControllerHandle
The device path protocol as defined in UEFI 2.0.
EFI_STATUS(EFIAPI * EFI_GET_NEXT_HIGH_MONO_COUNT)(OUT UINT32 *HighCount)
Returns the next high 32 bits of the platform's monotonic counter.
EFI_TPL(EFIAPI * EFI_RAISE_TPL)(IN EFI_TPL NewTpl)
Raises a task's priority level and returns its previous level.
UINT32 ControlPressed
Either the left or right Control keys must be pressed (1) or must not be pressed (0).
EFI_STATUS(EFIAPI * EFI_GET_WAKEUP_TIME)(OUT BOOLEAN *Enabled, OUT BOOLEAN *Pending, OUT EFI_TIME *Time)
Returns the current wakeup alarm clock setting.
CHAR16 * FirmwareVendor
A pointer to a null terminated string that identifies the vendor that produces the system firmware fo...
EFI_LOCATE_PROTOCOL LocateProtocol
EFI_STATUS(EFIAPI * EFI_SET_TIME)(IN EFI_TIME *Time)
Sets the current local time and date information.
An event is to be signaled once at a specified interval from the current time.
EFI_CONVERT_POINTER ConvertPointer
Definition of an EFI memory descriptor.
EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities
EFI_STATUS(EFIAPI * EFI_LOCATE_DEVICE_PATH)(IN EFI_GUID *Protocol, IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath, OUT EFI_HANDLE *Device)
Locates the handle to a device on the device path that supports the specified protocol.
EFI_STATUS(EFIAPI * EFI_WAIT_FOR_EVENT)(IN UINTN NumberOfEvents, IN EFI_EVENT *Event, OUT UINTN *Index)
Stops execution until an event is signaled.
128 bit buffer containing a unique identifier value.
UINT32 FirmwareRevision
A firmware vendor specific value that identifies the revision of the system firmware for the platform...
struct _EFI_LOAD_OPTION EFI_LOAD_OPTION
Retrieve all the handles in the handle database.
The EFI_SIMPLE_TEXT_INPUT_PROTOCOL is used on the ConsoleIn device.
EFI_STATUS(EFIAPI * EFI_OPEN_PROTOCOL_INFORMATION)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, OUT EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer, OUT UINTN *EntryCount)
Retrieves the list of agents that currently have a protocol interface opened.
UINT32 CapsuleArrayNumber
the size of the array of capsules.
EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface
EFI_EXIT_BOOT_SERVICES ExitBootServices
EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface
EFI_RESET_TYPE
Enumeration of reset types.
VOID * EFI_EVENT
Handle to an event structure.
EFI_GUID VendorGuid
The 128-bit GUID value that uniquely identifies the system configuration table.
EFI_STATUS(EFIAPI * EFI_FREE_PAGES)(IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN Pages)
Frees memory pages.
UINT32 Attributes
The attributes for this load option entry.
EFI_STATUS(EFIAPI * EFI_SIGNAL_EVENT)(IN EFI_EVENT Event)
Signals an event.
EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount
EFI_HANDLE ConsoleInHandle
The handle for the active console input device.
EFI_STATUS(EFIAPI * EFI_STALL)(IN UINTN Microseconds)
Induces a fine-grained stall.
EFI_STATUS(EFIAPI * EFI_DISCONNECT_CONTROLLER)(IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE DriverImageHandle OPTIONAL, IN EFI_HANDLE ChildHandle OPTIONAL)
Disconnects one or more drivers from a controller.
FILE_LICENCE(BSD2_PATENT)
EFI_STATUS(EFIAPI * EFI_CALCULATE_CRC32)(IN VOID *Data, IN UINTN DataSize, OUT UINT32 *Crc32)
Computes and returns a 32-bit CRC for a data buffer.
Retrieve the next handle fron a RegisterProtocolNotify() event.
EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces
This header file contains all of the PXE type definitions, structure prototypes, global variables and...
VOID(EFIAPI * EFI_RESTORE_TPL)(IN EFI_TPL OldTpl)
Restores a task's priority level to its previous value.
UINT16_t BufferSize
Buffer size.
EFI_STATUS(EFIAPI * EFI_SET_TIMER)(IN EFI_EVENT Event, IN EFI_TIMER_DELAY Type, IN UINT64 TriggerTime)
Sets the type of timer and the trigger time for a timer event.
EFI_CLOSE_EVENT CloseEvent
EFI_TABLE_HEADER Hdr
The table header for the EFI Boot Services Table.
EFI_STATUS(EFIAPI * EFI_CLOSE_PROTOCOL)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN EFI_HANDLE AgentHandle, IN EFI_HANDLE ControllerHandle)
Closes a protocol on a handle that was opened using OpenProtocol().
EFI_LOCATE_HANDLE LocateHandle
EFI_IMAGE_UNLOAD UnloadImage
EFI_BOOT_KEY_DATA KeyData
Specifies options about how the key will be processed.
This protocol can be used on any device handle to obtain generic path/location information concerning...
EFI_STATUS(EFIAPI * EFI_LOCATE_HANDLE)(IN EFI_LOCATE_SEARCH_TYPE SearchType, IN EFI_GUID *Protocol OPTIONAL, IN VOID *SearchKey OPTIONAL, IN OUT UINTN *BufferSize, OUT EFI_HANDLE *Buffer)
Returns an array of handles that support a specified protocol.
UINT8_t Length
Length of this structure.
VOID(EFIAPI * EFI_EVENT_NOTIFY)(IN EFI_EVENT Event, IN VOID *Context)
Invoke a notification event.
EFI_STATUS(EFIAPI * EFI_GET_NEXT_VARIABLE_NAME)(IN OUT UINTN *VariableNameSize, IN OUT CHAR16 *VariableName, IN OUT EFI_GUID *VendorGuid)
Enumerates the current variable names.
EFI_STATUS(EFIAPI * EFI_IMAGE_LOAD)(IN BOOLEAN BootPolicy, IN EFI_HANDLE ParentImageHandle, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL, IN VOID *SourceBuffer OPTIONAL, IN UINTN SourceSize, OUT EFI_HANDLE *ImageHandle)
Loads an EFI image into memory.
EFI_CLOSE_PROTOCOL CloseProtocol
EFI_STATUS(EFIAPI * EFI_GET_TIME)(OUT EFI_TIME *Time, OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL)
Returns the current time and date information, and the time-keeping capabilities of the hardware plat...
EFI_CREATE_EVENT_EX CreateEventEx
UINT64 EFI_PHYSICAL_ADDRESS
64-bit physical memory address.
EFI_STATUS(EFIAPI * EFI_REINSTALL_PROTOCOL_INTERFACE)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN VOID *OldInterface, IN VOID *NewInterface)
Reinstalls a protocol interface on a device handle.
EFI_STATUS(EFIAPI * EFI_UNINSTALL_PROTOCOL_INTERFACE)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN VOID *Interface)
Removes a protocol interface from a device handle.
The SIMPLE_TEXT_OUTPUT protocol is used to control text-based output devices.
UINT64 NumberOfPages
NumberOfPagesNumber of 4 KiB pages in the memory region.
EFI_PHYSICAL_ADDRESS DataBlock
Physical address of the data block.
UINT16_t Size
Size of structure.
EFI_TABLE_HEADER Hdr
The table header for the EFI System Table.
EFI_STATUS(EFIAPI * EFI_EXIT)(IN EFI_HANDLE ImageHandle, IN EFI_STATUS ExitStatus, IN UINTN ExitDataSize, IN CHAR16 *ExitData OPTIONAL)
Terminates a loaded EFI image and returns control to boot services.
EFI_STATUS(EFIAPI * EFI_CREATE_EVENT)(IN UINT32 Type, IN EFI_TPL NotifyTpl, IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL, IN VOID *NotifyContext OPTIONAL, OUT EFI_EVENT *Event)
Creates an event.
An event's timer settings is to be cancelled and not trigger time is to be set/.
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * ConOut
A pointer to the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL interface that is associated with ConsoleOutHandle.
VOID(EFIAPI * EFI_SET_MEM)(IN VOID *Buffer, IN UINTN Size, IN UINT8 Value)
The SetMem() function fills a buffer with a specified value.
EFI_STATUS(EFIAPI * EFI_OPEN_PROTOCOL)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, OUT VOID **Interface OPTIONAL, IN EFI_HANDLE AgentHandle, IN EFI_HANDLE ControllerHandle, IN UINT32 Attributes)
Queries a handle to determine if it supports a specified protocol.
EFI_STATUS(EFIAPI * EFI_SET_WAKEUP_TIME)(IN BOOLEAN Enable, IN EFI_TIME *Time OPTIONAL)
Sets the system wakeup alarm clock time.
EFI_MEMORY_TYPE
Enumeration of memory types introduced in UEFI.
EFI_STATUS(EFIAPI * EFI_QUERY_VARIABLE_INFO)(IN UINT32 Attributes, OUT UINT64 *MaximumVariableStorageSize, OUT UINT64 *RemainingVariableStorageSize, OUT UINT64 *MaximumVariableSize)
Returns information about the EFI variables.
EFI_SET_VARIABLE SetVariable
Allocate pages at a specified address.
EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface
EFI_CREATE_EVENT CreateEvent
EFI_SIMPLE_TEXT_INPUT_PROTOCOL * ConIn
A pointer to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL interface that is associated with ConsoleInHandle.
EFI_HANDLE_PROTOCOL HandleProtocol
EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify
EFI_STATUS(EFIAPI * EFI_LOCATE_PROTOCOL)(IN EFI_GUID *Protocol, IN VOID *Registration OPTIONAL, OUT VOID **Interface)
Returns the first protocol instance that matches the given protocol.
EFI_STATUS(EFIAPI * EFI_IMAGE_ENTRY_POINT)(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
This is the declaration of an EFI image entry point.
EFI_GET_VARIABLE GetVariable
UINT32 Resolution
Provides the reporting resolution of the real-time clock device in counts per second.
BOOLEAN SetsToZero
A TRUE indicates that a time set operation clears the device's time below the Resolution reporting le...
Maximum enumeration value that may be used for bounds checking.
EFI Guid Partition Table Format Definition.
EFI_SIGNAL_EVENT SignalEvent
EFI_PHYSICAL_ADDRESS PhysicalStart
Physical address of the first byte in the memory region.
EFI_HANDLE StandardErrorHandle
The handle for the active standard error console device.
EFI Runtime Services Table.
VOID(EFIAPI * EFI_COPY_MEM)(IN VOID *Destination, IN VOID *Source, IN UINTN Length)
Copies the contents of one buffer to another buffer.
EFI_RESET_SYSTEM ResetSystem
Allocate any available range of pages whose uppermost address is less than or equal to a specified ma...
EFI_STATUS(EFIAPI * EFI_IMAGE_UNLOAD)(IN EFI_HANDLE ImageHandle)
Unloads an image.
EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount
Simple Text Input Ex protocol from the UEFI 2.0 specification.
EFI_STATUS(EFIAPI * EFI_LOCATE_HANDLE_BUFFER)(IN EFI_LOCATE_SEARCH_TYPE SearchType, IN EFI_GUID *Protocol OPTIONAL, IN VOID *SearchKey OPTIONAL, OUT UINTN *NoHandles, OUT EFI_HANDLE **Buffer)
Returns an array of handles that support the requested protocol in a buffer allocated from pool.
Indicates that the supplied protocol interface is supplied in native form.
UINT8_t Protocol
Protocol.
EFI_STATUS(EFIAPI * EFI_SET_WATCHDOG_TIMER)(IN UINTN Timeout, IN UINT64 WatchdogCode, IN UINTN DataSize, IN CHAR16 *WatchdogData OPTIONAL)
Sets the system's watchdog timer.
SEGOFF16_t Buffer
Buffer address.
This includes some definitions introduced in UEFI that will be used in both PEI and DXE phases.
Simple Text Out protocol from the UEFI 2.0 specification.
EFI_STATUS(EFIAPI * EFI_HANDLE_PROTOCOL)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, OUT VOID **Interface)
Queries a handle to determine if it supports a specified protocol.
EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces
EFI_CONNECT_CONTROLLER ConnectController
UINT32 Revision
Indicates the revision of the EFI_KEY_OPTION structure.
EFI_STATUS(EFIAPI * EFI_REGISTER_PROTOCOL_NOTIFY)(IN EFI_GUID *Protocol, IN EFI_EVENT Event, OUT VOID **Registration)
Creates an event that is to be signaled whenever an interface is installed for a specified protocol.
EFI_IMAGE_START StartImage
EFI_STATUS(EFIAPI * EFI_UPDATE_CAPSULE)(IN EFI_CAPSULE_HEADER **CapsuleHeaderArray, IN UINTN CapsuleCount, IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL)
Passes capsules to the firmware with both virtual and physical mapping.
UINT64 UINTN
Unsigned value of native width.
EFI_STATUS(EFIAPI * EFI_FREE_POOL)(IN VOID *Buffer)
Returns pool memory to the system.
EFI_VIRTUAL_ADDRESS VirtualStart
Virtual address of the first byte in the memory region.
UINT32 Type
Type of the memory region.
#define VOID
Undeclared type.
EFI_HANDLE ConsoleOutHandle
The handle for the active console output device.
unsigned long long UINT64
EFI_WAIT_FOR_EVENT WaitForEvent
EFI_HANDLE ControllerHandle
EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation
EFI Time Abstraction: Year: 1900 - 9999 Month: 1 - 12 Day: 1 - 31 Hour: 0 - 23 Minute: 0 - 59 Second:...
EFI_STATUS(EFIAPI * EFI_CLOSE_EVENT)(IN EFI_EVENT Event)
Closes an event.
EFI_ALLOCATE_TYPE
Enumeration of EFI memory allocation types.
Simple Text Input protocol from the UEFI 2.0 specification.
EFI_GET_MEMORY_MAP GetMemoryMap
EFI_ALLOCATE_PAGES AllocatePages
EFI_STATUS(EFIAPI * EFI_IMAGE_START)(IN EFI_HANDLE ImageHandle, OUT UINTN *ExitDataSize, OUT CHAR16 **ExitData OPTIONAL)
Transfers control to a loaded image's entry point.
EFI_SET_WAKEUP_TIME SetWakeupTime
EFI_RUNTIME_SERVICES * RuntimeServices
A pointer to the EFI Runtime Services Table.
UINTN EFI_TPL
Task priority level.
EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle
EFI_STATUS(EFIAPI * EFI_SET_VIRTUAL_ADDRESS_MAP)(IN UINTN MemoryMapSize, IN UINTN DescriptorSize, IN UINT32 DescriptorVersion, IN EFI_MEMORY_DESCRIPTOR *VirtualMap)
Changes the runtime addressing mode of EFI firmware from physical to virtual.
#define CONST
Datum is read-only.
EFI_STATUS(EFIAPI * EFI_CHECK_EVENT)(IN EFI_EVENT Event)
Checks whether an event is in the signaled state.
EFI_STATUS(EFIAPI * EFI_QUERY_CAPSULE_CAPABILITIES)(IN EFI_CAPSULE_HEADER **CapsuleHeaderArray, IN UINTN CapsuleCount, OUT UINT64 *MaximumCapsuleSize, OUT EFI_RESET_TYPE *ResetType)
Returns if the capsule can be supported via UpdateCapsule().
EFI_STATUS(EFIAPI * EFI_ALLOCATE_POOL)(IN EFI_MEMORY_TYPE PoolType, IN UINTN Size, OUT VOID **Buffer)
Allocates pool memory.
UINT32 BootOptionCrc
The CRC-32 which should match the CRC-32 of the entire EFI_LOAD_OPTION to which BootOption refers.
EFI_TIMER_DELAY
Timer delay types.
EFI Capsule Block Descriptor.
EFI_CHECK_EVENT CheckEvent
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName
UINT64 Length
Length in bytes of the data pointed to by DataBlock/ContinuationPointer.
The EFI System Table entry must point to an array of capsules that contain the same CapsuleGuid value...
UINTN NumberOfTableEntries
The number of system configuration tables in the buffer ConfigurationTable.
Allocate any available range of pages that satisfies the request.
Contains a set of GUID/pointer pairs comprised of the ConfigurationTable field in the EFI System Tabl...
EFI_STATUS(EFIAPI * EFI_INSTALL_CONFIGURATION_TABLE)(IN EFI_GUID *Guid, IN VOID *Table)
Adds, updates, or removes a configuration table entry from the EFI System Table.
Retrieve the set of handles from the handle database that support a specified protocol.
UINT16 BootOption
The Boot#### option which will be invoked if this key is pressed and the boot option is active (LOAD_...
EFI_OPEN_PROTOCOL OpenProtocol
EFI_PHYSICAL_ADDRESS ContinuationPointer
Physical address of another block of EFI_CAPSULE_BLOCK_DESCRIPTOR structures.
UINT64 Attribute
Attributes of the memory region that describe the bit mask of capabilities for that memory region,...
EFI_LOCATE_SEARCH_TYPE
Enumeration of EFI Locate Search Types.
EFI_INTERFACE_TYPE
Enumeration of EFI Interface Types.
EFI_STATUS(EFIAPI * EFI_EXIT_BOOT_SERVICES)(IN EFI_HANDLE ImageHandle, IN UINTN MapKey)
Terminates all boot services.
EFI_UPDATE_CAPSULE UpdateCapsule
EFI_RESTORE_TPL RestoreTPL
EFI_STATUS(EFIAPI * EFI_GET_VARIABLE)(IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, OUT UINT32 *Attributes OPTIONAL, IN OUT UINTN *DataSize, OUT VOID *Data OPTIONAL)
Returns the value of a variable.
EFI_STATUS(EFIAPI * EFI_CONVERT_POINTER)(IN UINTN DebugDisposition, IN OUT VOID **Address)
Determines the new virtual address that is to be used on subsequent memory accesses.
UINT32 SysReqPressed
The SysReq key must be pressed (1) or must not be pressed (0).
UINT32 MenuPressed
The Menu key must be pressed (1) or must not be pressed (0).
EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap
EFI_STATUS(EFIAPI * EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES)(IN OUT EFI_HANDLE *Handle,...)
Installs one or more protocol interfaces into the boot services environment.
UINT32 AltPressed
Either the left or right Alt keys must be pressed (1) or must not be pressed (0).
VOID(EFIAPI * EFI_RESET_SYSTEM)(IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
Resets the entire platform.
EFI_CALCULATE_CRC32 CalculateCrc32
UINT32 LogoPressed
Either the left or right Logo keys must be pressed (1) or must not be pressed (0).
EFI_STATUS(EFIAPI * EFI_PROTOCOLS_PER_HANDLE)(IN EFI_HANDLE Handle, OUT EFI_GUID ***ProtocolBuffer, OUT UINTN *ProtocolBufferCount)
Retrieves the list of protocol interface GUIDs that are installed on a handle in a buffer allocated f...
UINT32 Accuracy
Provides the timekeeping accuracy of the real-time clock in an error rate of 1E-6 parts per million.
EFI_STATUS(EFIAPI * EFI_CONNECT_CONTROLLER)(IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE *DriverImageHandle OPTIONAL, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL, IN BOOLEAN Recursive)
Connects one or more drivers to a controller.
EFI_STATUS(EFIAPI * EFI_SET_VARIABLE)(IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN UINT32 Attributes, IN UINTN DataSize, IN VOID *Data)
Sets the value of a variable.
EFI_STATUS(EFIAPI * EFI_CREATE_EVENT_EX)(IN UINT32 Type, IN EFI_TPL NotifyTpl, IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL, IN CONST VOID *NotifyContext OPTIONAL, IN CONST EFI_GUID *EventGroup OPTIONAL, OUT EFI_EVENT *Event)
Creates an event in a group.
UINT64 EFI_VIRTUAL_ADDRESS
64-bit virtual memory address.
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * StdErr
A pointer to the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL interface that is associated with StandardErrorHandl...
EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer
EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable
EFI_LOCATE_DEVICE_PATH LocateDevicePath
EFI_ALLOCATE_POOL AllocatePool
EFI_STATUS(EFIAPI * EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES)(IN EFI_HANDLE Handle,...)
Removes one or more protocol interfaces into the boot services environment.
EFI_CONFIGURATION_TABLE * ConfigurationTable
A pointer to the system configuration tables.
EFI_STATUS(EFIAPI * EFI_GET_NEXT_MONOTONIC_COUNT)(OUT UINT64 *Count)
Returns a monotonically increasing count for the platform.
VOID * VendorTable
A pointer to the table associated with VendorGuid.
This provides the capabilities of the real time clock device as exposed through the EFI interfaces.
EFI_DISCONNECT_CONTROLLER DisconnectController