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
118#define EFI_MEMORY_HOT_PLUGGABLE 0x0000000000100000
123#define EFI_MEMORY_RUNTIME 0x8000000000000000ULL
130#define EFI_MEMORY_ISA_VALID 0x4000000000000000ULL
138#define EFI_MEMORY_ISA_MASK 0x0FFFF00000000000ULL
143#define EFI_CACHE_ATTRIBUTE_MASK (EFI_MEMORY_UC | EFI_MEMORY_WC | EFI_MEMORY_WT | EFI_MEMORY_WB | EFI_MEMORY_UCE | EFI_MEMORY_WP)
144#define EFI_MEMORY_ACCESS_MASK (EFI_MEMORY_RP | EFI_MEMORY_XP | EFI_MEMORY_RO)
145#define EFI_MEMORY_ATTRIBUTE_MASK (EFI_MEMORY_ACCESS_MASK | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO)
150#define EFI_MEMORY_DESCRIPTOR_VERSION 1
418#define EFI_OPTIONAL_PTR 0x00000001
450#define EVT_TIMER 0x80000000
451#define EVT_RUNTIME 0x40000000
452#define EVT_NOTIFY_WAIT 0x00000100
453#define EVT_NOTIFY_SIGNAL 0x00000200
455#define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201
456#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202
463#define EVT_RUNTIME_CONTEXT 0x20000000
647#define TPL_APPLICATION 4
648#define TPL_CALLBACK 8
650#define TPL_HIGH_LEVEL 31
1353#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001
1354#define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002
1355#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004
1356#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008
1357#define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
1358#define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020
1729#define CAPSULE_FLAGS_PERSIST_ACROSS_RESET 0x00010000
1730#define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE 0x00020000
1731#define CAPSULE_FLAGS_INITIATE_RESET 0x00040000
1836 OUT UINT64 *RemainingVariableStorageSize,
1843#define EFI_OS_INDICATIONS_BOOT_TO_FW_UI 0x0000000000000001
1844#define EFI_OS_INDICATIONS_TIMESTAMP_REVOCATION 0x0000000000000002
1845#define EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED 0x0000000000000004
1846#define EFI_OS_INDICATIONS_FMP_CAPSULE_SUPPORTED 0x0000000000000008
1847#define EFI_OS_INDICATIONS_CAPSULE_RESULT_VAR_SUPPORTED 0x0000000000000010
1848#define EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY 0x0000000000000040
1849#define EFI_OS_INDICATIONS_JSON_CONFIG_DATA_REFRESH 0x0000000000000080
1854#define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')
1855#define EFI_2_110_SYSTEM_TABLE_REVISION ((2 << 16) | (110))
1856#define EFI_2_100_SYSTEM_TABLE_REVISION ((2 << 16) | (100))
1857#define EFI_2_90_SYSTEM_TABLE_REVISION ((2 << 16) | (90))
1858#define EFI_2_80_SYSTEM_TABLE_REVISION ((2 << 16) | (80))
1859#define EFI_2_70_SYSTEM_TABLE_REVISION ((2 << 16) | (70))
1860#define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60))
1861#define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50))
1862#define EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40))
1863#define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31))
1864#define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30))
1865#define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20))
1866#define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10))
1867#define EFI_2_00_SYSTEM_TABLE_REVISION ((2 << 16) | (00))
1868#define EFI_1_10_SYSTEM_TABLE_REVISION ((1 << 16) | (10))
1869#define EFI_1_02_SYSTEM_TABLE_REVISION ((1 << 16) | (02))
1870#define EFI_SYSTEM_TABLE_REVISION EFI_2_70_SYSTEM_TABLE_REVISION
1871#define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION
1873#define EFI_RUNTIME_SERVICES_SIGNATURE SIGNATURE_64 ('R','U','N','T','S','E','R','V')
1874#define EFI_RUNTIME_SERVICES_REVISION EFI_SPECIFICATION_VERSION
1924#define EFI_BOOT_SERVICES_SIGNATURE SIGNATURE_64 ('B','O','O','T','S','E','R','V')
1925#define EFI_BOOT_SERVICES_REVISION EFI_SPECIFICATION_VERSION
2180#define LOAD_OPTION_ACTIVE 0x00000001
2181#define LOAD_OPTION_FORCE_RECONNECT 0x00000002
2182#define LOAD_OPTION_HIDDEN 0x00000008
2183#define LOAD_OPTION_CATEGORY 0x00001F00
2185#define LOAD_OPTION_CATEGORY_BOOT 0x00000000
2186#define LOAD_OPTION_CATEGORY_APP 0x00000100
2188#define EFI_BOOT_OPTION_SUPPORT_KEY 0x00000001
2189#define EFI_BOOT_OPTION_SUPPORT_APP 0x00000002
2190#define EFI_BOOT_OPTION_SUPPORT_SYSPREP 0x00000010
2191#define EFI_BOOT_OPTION_SUPPORT_COUNT 0x00000300
2269#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 L"\\EFI\\BOOT\\BOOTIA32.EFI"
2270#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA64 L"\\EFI\\BOOT\\BOOTIA64.EFI"
2271#define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.EFI"
2272#define EFI_REMOVABLE_MEDIA_FILE_NAME_EBC L"\\EFI\\BOOT\\BOOTARM.EFI"
2273#define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI"
2274#define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 L"\\EFI\\BOOT\\BOOTRISCV64.EFI"
2275#define EFI_REMOVABLE_MEDIA_FILE_NAME_LOONGARCH64 L"\\EFI\\BOOT\\BOOTLOONGARCH64.EFI"
2277#if !defined (EFI_REMOVABLE_MEDIA_FILE_NAME)
2278 #if defined (MDE_CPU_IA32)
2279#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32
2280 #elif defined (MDE_CPU_X64)
2281#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_X64
2282 #elif defined (MDE_CPU_EBC)
2283#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_EBC
2284 #elif defined (MDE_CPU_AARCH64)
2285#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64
2286 #elif defined (MDE_CPU_RISCV64)
2287#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64
2288 #elif defined (MDE_CPU_LOONGARCH64)
2289#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_LOONGARCH64
2291 #error Unknown Processor Type
2298#define EFI_CAPSULE_FILE_DIRECTORY L"\\EFI\\UpdateCapsule\\"
unsigned short UINT16
2-byte unsigned value.
unsigned char BOOLEAN
Logical Boolean.
UINT64 UINTN
Unsigned value of native width.
unsigned long long UINT64
8-byte unsigned value.
unsigned short CHAR16
2-byte Character.
unsigned char UINT8
1-byte unsigned value.
unsigned int UINT32
4-byte unsigned value.
#define CONST
Datum is read-only.
#define VOID
Undeclared type.
#define OPTIONAL
Passing the datum to the function is optional, and a NULL is passed if the value is not supplied.
The device path protocol as defined in UEFI 2.0.
Simple Text Input Ex protocol from the UEFI 2.0 specification.
Simple Text Input protocol from the UEFI 2.0 specification.
struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL
Simple Text Out protocol from the UEFI 2.0 specification.
struct _EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL
UINT64 EFI_PHYSICAL_ADDRESS
64-bit physical memory address.
UINT64 EFI_VIRTUAL_ADDRESS
64-bit virtual memory address.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
UINTN EFI_TPL
Task priority level.
GUID EFI_GUID
128-bit buffer containing a unique identifier value.
EFI Guid Partition Table Format Definition.
This includes some definitions introduced in UEFI that will be used in both PEI and DXE phases.
EFI_MEMORY_TYPE
Enumeration of memory types introduced in UEFI.
EFI_RESET_TYPE
Enumeration of reset types.
This header file contains all of the PXE type definitions, structure prototypes, global variables and...
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_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.
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_IMAGE_START)(IN EFI_HANDLE ImageHandle, OUT UINTN *ExitDataSize, OUT CHAR16 **ExitData OPTIONAL)
Transfers control to a loaded image's entry point.
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.
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_ALLOCATE_POOL)(IN EFI_MEMORY_TYPE PoolType, IN UINTN Size, OUT VOID **Buffer)
Allocates pool memory.
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_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_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_IMAGE_UNLOAD)(IN EFI_HANDLE ImageHandle)
Unloads an image.
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.
VOID(EFIAPI * EFI_RESTORE_TPL)(IN EFI_TPL OldTpl)
Restores a task's priority level to its previous value.
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.
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...
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_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.
EFI_INTERFACE_TYPE
Enumeration of EFI Interface Types.
@ EFI_NATIVE_INTERFACE
Indicates that the supplied protocol interface is supplied in native form.
EFI_STATUS(EFIAPI * EFI_SET_TIME)(IN EFI_TIME *Time)
Sets the current local time and date information.
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.
EFI_STATUS(EFIAPI * EFI_STALL)(IN UINTN Microseconds)
Induces a fine-grained stall.
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.
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.
VOID(EFIAPI * EFI_EVENT_NOTIFY)(IN EFI_EVENT Event, IN VOID *Context)
Invoke a notification event.
struct _EFI_LOAD_OPTION EFI_LOAD_OPTION
EFI_STATUS(EFIAPI * EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES)(IN EFI_HANDLE Handle,...)
Removes one or more protocol interfaces into the boot services environment.
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_TIMER_DELAY
Timer delay types.
@ TimerCancel
An event's timer settings is to be cancelled and not trigger time is to be set/.
@ TimerRelative
An event is to be signaled once at a specified interval from the current time.
@ TimerPeriodic
An event is to be signaled periodically at a specified interval from the current time.
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_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.
VOID(EFIAPI * EFI_COPY_MEM)(IN VOID *Destination, IN VOID *Source, IN UINTN Length)
Copies the contents of one buffer to another buffer.
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_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_STATUS(EFIAPI * EFI_EXIT_BOOT_SERVICES)(IN EFI_HANDLE ImageHandle, IN UINTN MapKey)
Terminates all boot services.
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.
EFI_STATUS(EFIAPI * EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES)(IN OUT EFI_HANDLE *Handle,...)
Installs one or more protocol interfaces into the boot services environment.
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.
EFI_STATUS(EFIAPI * EFI_GET_NEXT_MONOTONIC_COUNT)(OUT UINT64 *Count)
Returns a monotonically increasing count for the platform.
EFI_TPL(EFIAPI * EFI_RAISE_TPL)(IN EFI_TPL NewTpl)
Raises a task's priority level and returns its previous level.
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_SET_WATCHDOG_TIMER)(IN UINTN Timeout, IN UINT64 WatchdogCode, IN UINTN DataSize, IN CHAR16 *WatchdogData OPTIONAL)
Sets the system's watchdog timer.
EFI_STATUS(EFIAPI * EFI_SIGNAL_EVENT)(IN EFI_EVENT Event)
Signals an event.
EFI_STATUS(EFIAPI * EFI_WAIT_FOR_EVENT)(IN UINTN NumberOfEvents, IN EFI_EVENT *Event, OUT UINTN *Index)
Stops execution until an event is signaled.
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_UNINSTALL_PROTOCOL_INTERFACE)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN VOID *Interface)
Removes a protocol interface from a device handle.
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_STATUS(EFIAPI * EFI_FREE_PAGES)(IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN Pages)
Frees memory pages.
EFI_LOCATE_SEARCH_TYPE
Enumeration of EFI Locate Search Types.
@ ByProtocol
Retrieve the set of handles from the handle database that support a specified protocol.
@ ByRegisterNotify
Retrieve the next handle fron a RegisterProtocolNotify() event.
@ AllHandles
Retrieve all the handles in the handle database.
EFI_STATUS(EFIAPI * EFI_CLOSE_EVENT)(IN EFI_EVENT Event)
Closes an event.
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...
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_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.
EFI_STATUS(EFIAPI * EFI_SET_WAKEUP_TIME)(IN BOOLEAN Enable, IN EFI_TIME *Time OPTIONAL)
Sets the system wakeup alarm clock time.
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_STATUS(EFIAPI * EFI_FREE_POOL)(IN VOID *Buffer)
Returns pool memory to the system.
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_CHECK_EVENT)(IN EFI_EVENT Event)
Checks whether an event is in the signaled state.
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.
EFI_STATUS(EFIAPI * EFI_GET_WAKEUP_TIME)(OUT BOOLEAN *Enabled, OUT BOOLEAN *Pending, OUT EFI_TIME *Time)
Returns the current wakeup alarm clock setting.
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_ALLOCATE_TYPE
Enumeration of EFI memory allocation types.
@ AllocateMaxAddress
Allocate any available range of pages whose uppermost address is less than or equal to a specified ma...
@ AllocateAddress
Allocate pages at a specified address.
@ AllocateAnyPages
Allocate any available range of pages that satisfies the request.
@ MaxAllocateType
Maximum enumeration value that may be used for bounds checking.
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_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_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_HANDLE ControllerHandle
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
UINT16_t BufferSize
Buffer size.
UINT8_t Protocol
Protocol.
SEGOFF16_t Buffer
Buffer address.
UINT8_t Length
Length of this structure.
UINT16_t Size
Size of structure.
EFI_ALLOCATE_PAGES AllocatePages
EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable
EFI_RESTORE_TPL RestoreTPL
EFI_IMAGE_START StartImage
EFI_LOCATE_HANDLE LocateHandle
EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation
EFI_CREATE_EVENT CreateEvent
EFI_IMAGE_UNLOAD UnloadImage
EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface
EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle
EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface
EFI_DISCONNECT_CONTROLLER DisconnectController
EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces
EFI_TABLE_HEADER Hdr
The table header for the EFI Boot Services Table.
EFI_LOCATE_PROTOCOL LocateProtocol
EFI_CLOSE_EVENT CloseEvent
EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces
EFI_CLOSE_PROTOCOL CloseProtocol
EFI_SET_WATCHDOG_TIMER SetWatchdogTimer
EFI_HANDLE_PROTOCOL HandleProtocol
EFI_EXIT_BOOT_SERVICES ExitBootServices
EFI_ALLOCATE_POOL AllocatePool
EFI_LOCATE_DEVICE_PATH LocateDevicePath
EFI_CREATE_EVENT_EX CreateEventEx
EFI_CALCULATE_CRC32 CalculateCrc32
EFI_GET_MEMORY_MAP GetMemoryMap
EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify
EFI_OPEN_PROTOCOL OpenProtocol
EFI_SIGNAL_EVENT SignalEvent
EFI_WAIT_FOR_EVENT WaitForEvent
EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer
EFI_CHECK_EVENT CheckEvent
EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount
EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface
EFI_CONNECT_CONTROLLER ConnectController
EFI Capsule Block Descriptor.
UINT64 Length
Length in bytes of the data pointed to by DataBlock/ContinuationPointer.
EFI_PHYSICAL_ADDRESS DataBlock
Physical address of the data block.
EFI_PHYSICAL_ADDRESS ContinuationPointer
Physical address of another block of EFI_CAPSULE_BLOCK_DESCRIPTOR structures.
The EFI System Table entry must point to an array of capsules that contain the same CapsuleGuid value...
UINT32 CapsuleArrayNumber
the size of the array of capsules.
VOID * CapsulePtr[1]
Point to an array of capsules that contain the same CapsuleGuid value.
Contains a set of GUID/pointer pairs comprised of the ConfigurationTable field in the EFI System Tabl...
VOID * VendorTable
A pointer to the table associated with VendorGuid.
EFI_GUID VendorGuid
The 128-bit GUID value that uniquely identifies the system configuration table.
This protocol can be used on any device handle to obtain generic path/location information concerning...
UINT32 BootOptionCrc
The CRC-32 which should match the CRC-32 of the entire EFI_LOAD_OPTION to which BootOption refers.
UINT16 BootOption
The Boot#### option which will be invoked if this key is pressed and the boot option is active (LOAD_...
EFI_BOOT_KEY_DATA KeyData
Specifies options about how the key will be processed.
Definition of an EFI memory descriptor.
EFI_VIRTUAL_ADDRESS VirtualStart
Virtual address of the first byte in the memory region.
UINT64 Attribute
Attributes of the memory region that describe the bit mask of capabilities for that memory region,...
UINT64 NumberOfPages
NumberOfPagesNumber of 4 KiB pages in the memory region.
UINT32 Type
Type of the memory region.
EFI_PHYSICAL_ADDRESS PhysicalStart
Physical address of the first byte in the memory region.
EFI Oprn Protocol Information Entry.
EFI_HANDLE ControllerHandle
EFI Runtime Services Table.
EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities
EFI_CONVERT_POINTER ConvertPointer
EFI_TABLE_HEADER Hdr
The table header for the EFI Runtime Services Table.
EFI_UPDATE_CAPSULE UpdateCapsule
EFI_SET_VARIABLE SetVariable
EFI_SET_WAKEUP_TIME SetWakeupTime
EFI_GET_WAKEUP_TIME GetWakeupTime
EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName
EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount
EFI_QUERY_VARIABLE_INFO QueryVariableInfo
EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap
EFI_GET_VARIABLE GetVariable
EFI_RESET_SYSTEM ResetSystem
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * StdErr
A pointer to the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL interface that is associated with StandardErrorHandl...
EFI_BOOT_SERVICES * BootServices
A pointer to the EFI Boot Services Table.
EFI_CONFIGURATION_TABLE * ConfigurationTable
A pointer to the system configuration tables.
UINT32 FirmwareRevision
A firmware vendor specific value that identifies the revision of the system firmware for the platform...
EFI_HANDLE ConsoleInHandle
The handle for the active console input device.
EFI_HANDLE ConsoleOutHandle
The handle for the active console output device.
EFI_RUNTIME_SERVICES * RuntimeServices
A pointer to the EFI Runtime Services Table.
EFI_HANDLE StandardErrorHandle
The handle for the active standard error console device.
EFI_SIMPLE_TEXT_INPUT_PROTOCOL * ConIn
A pointer to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL interface that is associated with ConsoleInHandle.
CHAR16 * FirmwareVendor
A pointer to a null terminated string that identifies the vendor that produces the system firmware fo...
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * ConOut
A pointer to the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL interface that is associated with ConsoleOutHandle.
EFI_TABLE_HEADER Hdr
The table header for the EFI System Table.
UINTN NumberOfTableEntries
The number of system configuration tables in the buffer ConfigurationTable.
This provides the capabilities of the real time clock device as exposed through the EFI interfaces.
UINT32 Resolution
Provides the reporting resolution of the real-time clock device in counts per second.
UINT32 Accuracy
Provides the timekeeping accuracy of the real-time clock in an error rate of 1E-6 parts per million.
BOOLEAN SetsToZero
A TRUE indicates that a time set operation clears the device's time below the Resolution reporting le...
EFI Time Abstraction: Year: 1900 - 9999 Month: 1 - 12 Day: 1 - 31 Hour: 0 - 23 Minute: 0 - 59 Second:...
UINT16 FilePathListLength
Length in bytes of the FilePathList.
UINT32 Attributes
The attributes for this load option entry.
UINT32 ControlPressed
Either the left or right Control keys must be pressed (1) or must not be pressed (0).
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).
UINT32 LogoPressed
Either the left or right Logo keys must be pressed (1) or must not be pressed (0).
UINT32 Revision
Indicates the revision of the EFI_KEY_OPTION structure.
UINT32 InputKeyCount
Specifies the actual number of entries in EFI_KEY_OPTION.Keys, from 0-3.
UINT32 ShiftPressed
Either the left or right Shift keys must be pressed (1) or must not be pressed (0).
UINT32 AltPressed
Either the left or right Alt keys must be pressed (1) or must not be pressed (0).