15#ifndef __UEFI_SPEC_H__
16#define __UEFI_SPEC_H__
51#define EFI_TIME_ADJUST_DAYLIGHT 0x01
52#define EFI_TIME_IN_DAYLIGHT 0x02
57#define EFI_UNSPECIFIED_TIMEZONE 0x07FF
62#define EFI_MEMORY_UC 0x0000000000000001ULL
63#define EFI_MEMORY_WC 0x0000000000000002ULL
64#define EFI_MEMORY_WT 0x0000000000000004ULL
65#define EFI_MEMORY_WB 0x0000000000000008ULL
66#define EFI_MEMORY_UCE 0x0000000000000010ULL
73#define EFI_MEMORY_WP 0x0000000000001000ULL
74#define EFI_MEMORY_RP 0x0000000000002000ULL
75#define EFI_MEMORY_XP 0x0000000000004000ULL
76#define EFI_MEMORY_RO 0x0000000000020000ULL
81#define EFI_MEMORY_NV 0x0000000000008000ULL
86#define EFI_MEMORY_MORE_RELIABLE 0x0000000000010000ULL
96#define EFI_MEMORY_SP 0x0000000000040000ULL
105#define EFI_MEMORY_CPU_CRYPTO 0x0000000000080000ULL
110#define EFI_MEMORY_RUNTIME 0x8000000000000000ULL
115#define EFI_CACHE_ATTRIBUTE_MASK (EFI_MEMORY_UC | EFI_MEMORY_WC | EFI_MEMORY_WT | EFI_MEMORY_WB | EFI_MEMORY_UCE | EFI_MEMORY_WP)
116#define EFI_MEMORY_ACCESS_MASK (EFI_MEMORY_RP | EFI_MEMORY_XP | EFI_MEMORY_RO)
117#define EFI_MEMORY_ATTRIBUTE_MASK (EFI_MEMORY_ACCESS_MASK | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO)
122#define EFI_MEMORY_DESCRIPTOR_VERSION 1
245 OUT UINT32 *DescriptorVersion
314 IN UINT32 DescriptorVersion,
387#define EFI_OPTIONAL_PTR 0x00000001
408 IN OUT VOID **Address
416#define EVT_TIMER 0x80000000
417#define EVT_RUNTIME 0x40000000
418#define EVT_NOTIFY_WAIT 0x00000100
419#define EVT_NOTIFY_SIGNAL 0x00000200
421#define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201
422#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202
429#define EVT_RUNTIME_CONTEXT 0x20000000
468 IN VOID *NotifyContext,
541 IN UINT64 TriggerTime
613#define TPL_APPLICATION 4
614#define TPL_CALLBACK 8
616#define TPL_HIGH_LEVEL 31
671 IN CHAR16 *VariableName,
708 IN OUT CHAR16 *VariableName,
749 IN CHAR16 *VariableName,
751 IN UINT32 Attributes,
839 OUT BOOLEAN *Enabled,
840 OUT BOOLEAN *Pending,
898 IN BOOLEAN BootPolicy,
1024 IN UINT64 WatchdogCode,
1082 OUT UINT32 *HighCount
1119 IN VOID *Destination,
1225 IN VOID *OldInterface,
1226 IN VOID *NewInterface
1292 OUT VOID **Interface
1295#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001
1296#define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002
1297#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004
1298#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008
1299#define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
1300#define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020
1337 IN UINT32 Attributes
1453 OUT VOID **Registration
1602 OUT VOID **Interface
1668 VOID *CapsulePtr[1];
1671#define CAPSULE_FLAGS_PERSIST_ACROSS_RESET 0x00010000
1672#define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE 0x00020000
1673#define CAPSULE_FLAGS_INITIATE_RESET 0x00040000
1741 OUT UINT64 *MaximumCapsuleSize,
1770 IN UINT32 Attributes,
1771 OUT UINT64 *MaximumVariableStorageSize,
1772 OUT UINT64 *RemainingVariableStorageSize,
1773 OUT UINT64 *MaximumVariableSize
1779#define EFI_OS_INDICATIONS_BOOT_TO_FW_UI 0x0000000000000001
1780#define EFI_OS_INDICATIONS_TIMESTAMP_REVOCATION 0x0000000000000002
1781#define EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED 0x0000000000000004
1782#define EFI_OS_INDICATIONS_FMP_CAPSULE_SUPPORTED 0x0000000000000008
1783#define EFI_OS_INDICATIONS_CAPSULE_RESULT_VAR_SUPPORTED 0x0000000000000010
1784#define EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY 0x0000000000000040
1785#define EFI_OS_INDICATIONS_JSON_CONFIG_DATA_REFRESH 0x0000000000000080
1790#define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')
1791#define EFI_2_80_SYSTEM_TABLE_REVISION ((2 << 16) | (80))
1792#define EFI_2_70_SYSTEM_TABLE_REVISION ((2 << 16) | (70))
1793#define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60))
1794#define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50))
1795#define EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40))
1796#define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31))
1797#define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30))
1798#define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20))
1799#define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10))
1800#define EFI_2_00_SYSTEM_TABLE_REVISION ((2 << 16) | (00))
1801#define EFI_1_10_SYSTEM_TABLE_REVISION ((1 << 16) | (10))
1802#define EFI_1_02_SYSTEM_TABLE_REVISION ((1 << 16) | (02))
1803#define EFI_SYSTEM_TABLE_REVISION EFI_2_70_SYSTEM_TABLE_REVISION
1804#define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION
1806#define EFI_RUNTIME_SERVICES_SIGNATURE SIGNATURE_64 ('R','U','N','T','S','E','R','V')
1807#define EFI_RUNTIME_SERVICES_REVISION EFI_SPECIFICATION_VERSION
1857#define EFI_BOOT_SERVICES_SIGNATURE SIGNATURE_64 ('B','O','O','T','S','E','R','V')
1858#define EFI_BOOT_SERVICES_REVISION EFI_SPECIFICATION_VERSION
2109#define LOAD_OPTION_ACTIVE 0x00000001
2110#define LOAD_OPTION_FORCE_RECONNECT 0x00000002
2111#define LOAD_OPTION_HIDDEN 0x00000008
2112#define LOAD_OPTION_CATEGORY 0x00001F00
2114#define LOAD_OPTION_CATEGORY_BOOT 0x00000000
2115#define LOAD_OPTION_CATEGORY_APP 0x00000100
2117#define EFI_BOOT_OPTION_SUPPORT_KEY 0x00000001
2118#define EFI_BOOT_OPTION_SUPPORT_APP 0x00000002
2119#define EFI_BOOT_OPTION_SUPPORT_SYSPREP 0x00000010
2120#define EFI_BOOT_OPTION_SUPPORT_COUNT 0x00000300
2155 UINT32 Reserved : 16;
2198#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 L"\\EFI\\BOOT\\BOOTIA32.EFI"
2199#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA64 L"\\EFI\\BOOT\\BOOTIA64.EFI"
2200#define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.EFI"
2201#define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.EFI"
2202#define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI"
2203#define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 L"\\EFI\\BOOT\\BOOTRISCV64.EFI"
2205#if !defined (EFI_REMOVABLE_MEDIA_FILE_NAME)
2206 #if defined (MDE_CPU_IA32)
2207#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32
2208 #elif defined (MDE_CPU_X64)
2209#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_X64
2210 #elif defined (MDE_CPU_EBC)
2211 #elif defined (MDE_CPU_ARM)
2212#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_ARM
2213 #elif defined (MDE_CPU_AARCH64)
2214#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64
2215 #elif defined (MDE_CPU_RISCV64)
2216#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64
2218 #error Unknown Processor Type
2225#define EFI_CAPSULE_FILE_DIRECTORY L"\\EFI\\UpdateCapsule\\"
VOID EFIAPI ResetSystem(IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
UINT32 EFIAPI CalculateCrc32(IN VOID *Buffer, IN UINTN Length)
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
VOID *EFIAPI SetMem(OUT VOID *Buffer, IN UINTN Length, IN UINT8 Value)
EFI_STATUS EFIAPI QueryCapsuleCapabilities(IN EFI_CAPSULE_HEADER **CapsuleHeaderArray, IN UINTN CapsuleCount, OUT UINT64 *MaxiumCapsuleSize, OUT EFI_RESET_TYPE *ResetType)
EFI_STATUS EFIAPI UpdateCapsule(IN EFI_CAPSULE_HEADER **CapsuleHeaderArray, IN UINTN CapsuleCount, IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL)
VOID EFIAPI FreePages(IN VOID *Buffer, IN UINTN Pages)
VOID EFIAPI FreePool(IN VOID *Buffer)
EFI_STATUS EFIAPI GetWakeupTime(OUT BOOLEAN *Enabled, OUT BOOLEAN *Pending, OUT EFI_TIME *Time)
EFI_STATUS EFIAPI SetTime(IN EFI_TIME *Time)
EFI_STATUS EFIAPI SetWakeupTime(IN BOOLEAN Enabled, OUT EFI_TIME *Time)
EFI_STATUS EFIAPI GetTime(OUT EFI_TIME *Time, OUT EFI_TIME_CAPABILITIES *Capabilities)
VOID ConvertPointer(IN OUT VOID **Pointer, IN UINTN TempBottom, IN UINTN TempTop, IN UINTN Offset, IN BOOLEAN OffsetPositive)
VOID *EFIAPI AllocatePool(IN UINTN AllocationSize)
VOID *EFIAPI AllocatePages(IN UINTN Pages)
VOID EFIAPI NotifyFunction(IN EFI_EVENT Event, IN VOID *Context)
VOID EFIAPI Exit(IN EFI_STATUS Status)
UINT64 EFI_PHYSICAL_ADDRESS
UINT64 EFI_VIRTUAL_ADDRESS
EFI_STATUS(EFIAPI * EFI_CLOSE_PROTOCOL)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN EFI_HANDLE AgentHandle, IN EFI_HANDLE ControllerHandle)
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)
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)
EFI_STATUS(EFIAPI * EFI_CREATE_EVENT)(IN UINT32 Type, IN EFI_TPL NotifyTpl, IN EFI_EVENT_NOTIFY NotifyFunction, IN VOID *NotifyContext, OUT EFI_EVENT *Event)
EFI_STATUS(EFIAPI * EFI_IMAGE_START)(IN EFI_HANDLE ImageHandle, OUT UINTN *ExitDataSize, OUT CHAR16 **ExitData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_CALCULATE_CRC32)(IN VOID *Data, IN UINTN DataSize, OUT UINT32 *Crc32)
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)
EFI_STATUS(EFIAPI * EFI_ALLOCATE_POOL)(IN EFI_MEMORY_TYPE PoolType, IN UINTN Size, OUT VOID **Buffer)
EFI_STATUS(EFIAPI * EFI_GET_NEXT_HIGH_MONO_COUNT)(OUT UINT32 *HighCount)
EFI_STATUS(EFIAPI * EFI_LOCATE_DEVICE_PATH)(IN EFI_GUID *Protocol, IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath, OUT EFI_HANDLE *Device)
EFI_STATUS(EFIAPI * EFI_IMAGE_UNLOAD)(IN EFI_HANDLE ImageHandle)
EFI_STATUS(EFIAPI * EFI_EXIT)(IN EFI_HANDLE ImageHandle, IN EFI_STATUS ExitStatus, IN UINTN ExitDataSize, IN CHAR16 *ExitData OPTIONAL)
VOID(EFIAPI * EFI_RESTORE_TPL)(IN EFI_TPL OldTpl)
EFI_STATUS(EFIAPI * EFI_INSTALL_CONFIGURATION_TABLE)(IN EFI_GUID *Guid, IN VOID *Table)
EFI_STATUS(EFIAPI * EFI_PROTOCOLS_PER_HANDLE)(IN EFI_HANDLE Handle, OUT EFI_GUID ***ProtocolBuffer, OUT UINTN *ProtocolBufferCount)
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)
EFI_STATUS(EFIAPI * EFI_SET_TIME)(IN EFI_TIME *Time)
EFI_STATUS(EFIAPI * EFI_DISCONNECT_CONTROLLER)(IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE DriverImageHandle OPTIONAL, IN EFI_HANDLE ChildHandle OPTIONAL)
EFI_STATUS(EFIAPI * EFI_STALL)(IN UINTN Microseconds)
EFI_STATUS(EFIAPI * EFI_CONVERT_POINTER)(IN UINTN DebugDisposition, IN OUT VOID **Address)
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)
EFI_STATUS(EFIAPI * EFI_IMAGE_LOAD)(IN BOOLEAN BootPolicy, IN EFI_HANDLE ParentImageHandle, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN VOID *SourceBuffer OPTIONAL, IN UINTN SourceSize, OUT EFI_HANDLE *ImageHandle)
VOID(EFIAPI * EFI_EVENT_NOTIFY)(IN EFI_EVENT Event, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES)(IN EFI_HANDLE Handle,...)
EFI_STATUS(EFIAPI * EFI_SET_VARIABLE)(IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN UINT32 Attributes, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS(EFIAPI * EFI_QUERY_VARIABLE_INFO)(IN UINT32 Attributes, OUT UINT64 *MaximumVariableStorageSize, OUT UINT64 *RemainingVariableStorageSize, OUT UINT64 *MaximumVariableSize)
EFI_STATUS(EFIAPI * EFI_INSTALL_PROTOCOL_INTERFACE)(IN OUT EFI_HANDLE *Handle, IN EFI_GUID *Protocol, IN EFI_INTERFACE_TYPE InterfaceType, IN VOID *Interface)
VOID(EFIAPI * EFI_COPY_MEM)(IN VOID *Destination, IN VOID *Source, IN UINTN Length)
EFI_STATUS(EFIAPI * EFI_LOCATE_PROTOCOL)(IN EFI_GUID *Protocol, IN VOID *Registration OPTIONAL, OUT VOID **Interface)
EFI_STATUS(EFIAPI * EFI_HANDLE_PROTOCOL)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, OUT VOID **Interface)
EFI_STATUS(EFIAPI * EFI_EXIT_BOOT_SERVICES)(IN EFI_HANDLE ImageHandle, IN UINTN MapKey)
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)
EFI_STATUS(EFIAPI * EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES)(IN OUT EFI_HANDLE *Handle,...)
EFI_STATUS(EFIAPI * EFI_UPDATE_CAPSULE)(IN EFI_CAPSULE_HEADER **CapsuleHeaderArray, IN UINTN CapsuleCount, IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL)
EFI_STATUS(EFIAPI * EFI_GET_NEXT_MONOTONIC_COUNT)(OUT UINT64 *Count)
EFI_TPL(EFIAPI * EFI_RAISE_TPL)(IN EFI_TPL NewTpl)
EFI_STATUS(EFIAPI * EFI_REINSTALL_PROTOCOL_INTERFACE)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN VOID *OldInterface, IN VOID *NewInterface)
EFI_STATUS(EFIAPI * EFI_SET_WATCHDOG_TIMER)(IN UINTN Timeout, IN UINT64 WatchdogCode, IN UINTN DataSize, IN CHAR16 *WatchdogData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_SIGNAL_EVENT)(IN EFI_EVENT Event)
EFI_STATUS(EFIAPI * EFI_WAIT_FOR_EVENT)(IN UINTN NumberOfEvents, IN EFI_EVENT *Event, OUT UINTN *Index)
VOID(EFIAPI * EFI_SET_MEM)(IN VOID *Buffer, IN UINTN Size, IN UINT8 Value)
EFI_STATUS(EFIAPI * EFI_UNINSTALL_PROTOCOL_INTERFACE)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN VOID *Interface)
EFI_STATUS(EFIAPI * EFI_IMAGE_ENTRY_POINT)(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
EFI_STATUS(EFIAPI * EFI_FREE_PAGES)(IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN Pages)
EFI_STATUS(EFIAPI * EFI_CLOSE_EVENT)(IN EFI_EVENT Event)
EFI_STATUS(EFIAPI * EFI_GET_TIME)(OUT EFI_TIME *Time, OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL)
VOID(EFIAPI * EFI_RESET_SYSTEM)(IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_SET_VIRTUAL_ADDRESS_MAP)(IN UINTN MemoryMapSize, IN UINTN DescriptorSize, IN UINT32 DescriptorVersion, IN EFI_MEMORY_DESCRIPTOR *VirtualMap)
EFI_STATUS(EFIAPI * EFI_SET_WAKEUP_TIME)(IN BOOLEAN Enable, IN EFI_TIME *Time OPTIONAL)
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)
EFI_STATUS(EFIAPI * EFI_FREE_POOL)(IN VOID *Buffer)
EFI_STATUS(EFIAPI * EFI_QUERY_CAPSULE_CAPABILITIES)(IN EFI_CAPSULE_HEADER **CapsuleHeaderArray, IN UINTN CapsuleCount, OUT UINT64 *MaximumCapsuleSize, OUT EFI_RESET_TYPE *ResetType)
EFI_STATUS(EFIAPI * EFI_CHECK_EVENT)(IN EFI_EVENT Event)
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)
EFI_STATUS(EFIAPI * EFI_GET_WAKEUP_TIME)(OUT BOOLEAN *Enabled, OUT BOOLEAN *Pending, OUT EFI_TIME *Time)
EFI_STATUS(EFIAPI * EFI_GET_NEXT_VARIABLE_NAME)(IN OUT UINTN *VariableNameSize, IN OUT CHAR16 *VariableName, IN OUT EFI_GUID *VendorGuid)
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)
EFI_STATUS(EFIAPI * EFI_SET_TIMER)(IN EFI_EVENT Event, IN EFI_TIMER_DELAY Type, IN UINT64 TriggerTime)
EFI_STATUS(EFIAPI * EFI_REGISTER_PROTOCOL_NOTIFY)(IN EFI_GUID *Protocol, IN EFI_EVENT Event, OUT VOID **Registration)
UINT16 FilePathListLength
EFI_PHYSICAL_ADDRESS DataBlock
EFI_PHYSICAL_ADDRESS ContinuationPointer
UINT32 CapsuleArrayNumber
EFI_BOOT_KEY_DATA KeyData
EFI_VIRTUAL_ADDRESS VirtualStart
EFI_PHYSICAL_ADDRESS PhysicalStart
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * StdErr
EFI_BOOT_SERVICES * BootServices
EFI_CONFIGURATION_TABLE * ConfigurationTable
EFI_HANDLE ConsoleInHandle
EFI_HANDLE ConsoleOutHandle
EFI_RUNTIME_SERVICES * RuntimeServices
EFI_HANDLE StandardErrorHandle
EFI_SIMPLE_TEXT_INPUT_PROTOCOL * ConIn
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * ConOut
UINTN NumberOfTableEntries