XenevaOS
Loading...
Searching...
No Matches
UefiSpec.h
Go to the documentation of this file.
1
19#ifndef __UEFI_SPEC_H__
20#define __UEFI_SPEC_H__
21
22#include <Uefi/UefiMultiPhase.h>
23
24#include <Protocol/DevicePath.h>
28
51
52//
53// Bit definitions for EFI_TIME.Daylight
54//
55#define EFI_TIME_ADJUST_DAYLIGHT 0x01
56#define EFI_TIME_IN_DAYLIGHT 0x02
57
61#define EFI_UNSPECIFIED_TIMEZONE 0x07FF
62
63//
64// Memory cacheability attributes
65//
66#define EFI_MEMORY_UC 0x0000000000000001ULL
67#define EFI_MEMORY_WC 0x0000000000000002ULL
68#define EFI_MEMORY_WT 0x0000000000000004ULL
69#define EFI_MEMORY_WB 0x0000000000000008ULL
70#define EFI_MEMORY_UCE 0x0000000000000010ULL
71//
72// Physical memory protection attributes
73//
74// Note: UEFI spec 2.5 and following: use EFI_MEMORY_RO as write-protected physical memory
75// protection attribute. Also, EFI_MEMORY_WP means cacheability attribute.
76//
77#define EFI_MEMORY_WP 0x0000000000001000ULL
78#define EFI_MEMORY_RP 0x0000000000002000ULL
79#define EFI_MEMORY_XP 0x0000000000004000ULL
80#define EFI_MEMORY_RO 0x0000000000020000ULL
81//
82// Physical memory persistence attribute.
83// The memory region supports byte-addressable non-volatility.
84//
85#define EFI_MEMORY_NV 0x0000000000008000ULL
86//
87// The memory region provides higher reliability relative to other memory in the system.
88// If all memory has the same reliability, then this bit is not used.
89//
90#define EFI_MEMORY_MORE_RELIABLE 0x0000000000010000ULL
91//
92// Runtime memory attribute
93//
94#define EFI_MEMORY_RUNTIME 0x8000000000000000ULL
95
99#define EFI_MEMORY_DESCRIPTOR_VERSION 1
100
137
162typedef
166 IN EFI_MEMORY_TYPE MemoryType,
167 IN UINTN Pages,
169 );
170
183typedef
187 IN UINTN Pages
188 );
189
215typedef
218 IN OUT UINTN *MemoryMapSize,
219 IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,
220 OUT UINTN *MapKey,
221 OUT UINTN *DescriptorSize,
222 OUT UINT32 *DescriptorVersion
223 );
224
244typedef
247 IN EFI_MEMORY_TYPE PoolType,
248 IN UINTN Size,
249 OUT VOID **Buffer
250 );
251
261typedef
264 IN VOID *Buffer
265 );
266
286typedef
289 IN UINTN MemoryMapSize,
290 IN UINTN DescriptorSize,
291 IN UINT32 DescriptorVersion,
292 IN EFI_MEMORY_DESCRIPTOR *VirtualMap
293 );
294
320typedef
323 IN EFI_HANDLE ControllerHandle,
324 IN EFI_HANDLE *DriverImageHandle, OPTIONAL
325 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath, OPTIONAL
326 IN BOOLEAN Recursive
327 );
328
353typedef
356 IN EFI_HANDLE ControllerHandle,
357 IN EFI_HANDLE DriverImageHandle, OPTIONAL
358 IN EFI_HANDLE ChildHandle OPTIONAL
359 );
360
361
362
363//
364// ConvertPointer DebugDisposition type.
365//
366#define EFI_OPTIONAL_PTR 0x00000001
367
383typedef
386 IN UINTN DebugDisposition,
388 );
389
390
391//
392// These types can be ORed together as needed - for example,
393// EVT_TIMER might be Ored with EVT_NOTIFY_WAIT or
394// EVT_NOTIFY_SIGNAL.
395//
396#define EVT_TIMER 0x80000000
397#define EVT_RUNTIME 0x40000000
398#define EVT_NOTIFY_WAIT 0x00000100
399#define EVT_NOTIFY_SIGNAL 0x00000200
400
401#define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201
402#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202
403
404//
405// The event's NotifyContext pointer points to a runtime memory
406// address.
407// The event is deprecated in UEFI2.0 and later specifications.
408//
409#define EVT_RUNTIME_CONTEXT 0x20000000
410
411
420typedef
423 IN EFI_EVENT Event,
425 );
426
443typedef
446 IN UINT32 Type,
447 IN EFI_TPL NotifyTpl,
448 IN EFI_EVENT_NOTIFY NotifyFunction,
449 IN VOID *NotifyContext,
450 OUT EFI_EVENT *Event
451 );
452
472typedef
475 IN UINT32 Type,
476 IN EFI_TPL NotifyTpl,
477 IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL,
478 IN CONST VOID *NotifyContext OPTIONAL,
479 IN CONST EFI_GUID *EventGroup OPTIONAL,
480 OUT EFI_EVENT *Event
481 );
482
500
517typedef
520 IN EFI_EVENT Event,
522 IN UINT64 TriggerTime
523 );
524
533typedef
536 IN EFI_EVENT Event
537 );
538
553typedef
556 IN UINTN NumberOfEvents,
557 IN EFI_EVENT *Event,
558 OUT UINTN *Index
559 );
560
569typedef
572 IN EFI_EVENT Event
573 );
574
585typedef
588 IN EFI_EVENT Event
589 );
590
591
592//
593// Task priority level
594//
595#define TPL_APPLICATION 4
596#define TPL_CALLBACK 8
597#define TPL_NOTIFY 16
598#define TPL_HIGH_LEVEL 31
599
600
609typedef
612 IN EFI_TPL NewTpl
613 );
614
621typedef
624 IN EFI_TPL OldTpl
625 );
626
651typedef
654 IN CHAR16 *VariableName,
655 IN EFI_GUID *VendorGuid,
656 OUT UINT32 *Attributes, OPTIONAL
657 IN OUT UINTN *DataSize,
658 OUT VOID *Data OPTIONAL
659 );
660
687typedef
690 IN OUT UINTN *VariableNameSize,
691 IN OUT CHAR16 *VariableName,
692 IN OUT EFI_GUID *VendorGuid
693 );
694
729typedef
732 IN CHAR16 *VariableName,
733 IN EFI_GUID *VendorGuid,
734 IN UINT32 Attributes,
735 IN UINTN DataSize,
736 IN VOID *Data
737 );
738
739
768
782typedef
785 OUT EFI_TIME *Time,
787 );
788
799typedef
802 IN EFI_TIME *Time
803 );
804
820typedef
823 OUT BOOLEAN *Enabled,
824 OUT BOOLEAN *Pending,
825 OUT EFI_TIME *Time
826 );
827
842typedef
845 IN BOOLEAN Enable,
846 IN EFI_TIME *Time OPTIONAL
847 );
848
879typedef
882 IN BOOLEAN BootPolicy,
883 IN EFI_HANDLE ParentImageHandle,
884 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
885 IN VOID *SourceBuffer OPTIONAL,
886 IN UINTN SourceSize,
887 OUT EFI_HANDLE *ImageHandle
888 );
889
904typedef
907 IN EFI_HANDLE ImageHandle,
908 OUT UINTN *ExitDataSize,
909 OUT CHAR16 **ExitData OPTIONAL
910 );
911
932typedef
935 IN EFI_HANDLE ImageHandle,
936 IN EFI_STATUS ExitStatus,
937 IN UINTN ExitDataSize,
938 IN CHAR16 *ExitData OPTIONAL
939 );
940
950typedef
953 IN EFI_HANDLE ImageHandle
954 );
955
966typedef
969 IN EFI_HANDLE ImageHandle,
970 IN UINTN MapKey
971 );
972
982typedef
985 IN UINTN Microseconds
986 );
987
1004typedef
1007 IN UINTN Timeout,
1008 IN UINT64 WatchdogCode,
1009 IN UINTN DataSize,
1010 IN CHAR16 *WatchdogData OPTIONAL
1011 );
1012
1031typedef
1034 IN EFI_RESET_TYPE ResetType,
1035 IN EFI_STATUS ResetStatus,
1036 IN UINTN DataSize,
1037 IN VOID *ResetData OPTIONAL
1038 );
1039
1050typedef
1053 OUT UINT64 *Count
1054 );
1055
1066typedef
1069 OUT UINT32 *HighCount
1070 );
1071
1087typedef
1090 IN VOID *Data,
1091 IN UINTN DataSize,
1092 OUT UINT32 *Crc32
1093 );
1094
1103typedef
1106 IN VOID *Destination,
1107 IN VOID *Source,
1109 );
1110
1119typedef
1122 IN VOID *Buffer,
1123 IN UINTN Size,
1124 IN UINT8 Value
1125 );
1126
1136
1157typedef
1160 IN OUT EFI_HANDLE *Handle,
1161 IN EFI_GUID *Protocol,
1162 IN EFI_INTERFACE_TYPE InterfaceType,
1163 IN VOID *Interface
1164 );
1165
1182typedef
1185 IN OUT EFI_HANDLE *Handle,
1186 ...
1187 );
1188
1207typedef
1210 IN EFI_HANDLE Handle,
1211 IN EFI_GUID *Protocol,
1212 IN VOID *OldInterface,
1213 IN VOID *NewInterface
1214 );
1215
1233typedef
1236 IN EFI_HANDLE Handle,
1237 IN EFI_GUID *Protocol,
1238 IN VOID *Interface
1239 );
1240
1252typedef
1255 IN EFI_HANDLE Handle,
1256 ...
1257 );
1258
1274typedef
1277 IN EFI_HANDLE Handle,
1278 IN EFI_GUID *Protocol,
1279 OUT VOID **Interface
1280 );
1281
1282#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001
1283#define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002
1284#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004
1285#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008
1286#define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
1287#define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020
1288
1316typedef
1319 IN EFI_HANDLE Handle,
1320 IN EFI_GUID *Protocol,
1321 OUT VOID **Interface, OPTIONAL
1322 IN EFI_HANDLE AgentHandle,
1323 IN EFI_HANDLE ControllerHandle,
1324 IN UINT32 Attributes
1325 );
1326
1327
1349typedef
1352 IN EFI_HANDLE Handle,
1353 IN EFI_GUID *Protocol,
1354 IN EFI_HANDLE AgentHandle,
1355 IN EFI_HANDLE ControllerHandle
1356 );
1357
1367
1383typedef
1386 IN EFI_HANDLE Handle,
1387 IN EFI_GUID *Protocol,
1389 OUT UINTN *EntryCount
1390 );
1391
1413typedef
1416 IN EFI_HANDLE Handle,
1417 OUT EFI_GUID ***ProtocolBuffer,
1418 OUT UINTN *ProtocolBufferCount
1419 );
1420
1436typedef
1439 IN EFI_GUID *Protocol,
1440 IN EFI_EVENT Event,
1441 OUT VOID **Registration
1442 );
1443
1462
1485typedef
1488 IN EFI_LOCATE_SEARCH_TYPE SearchType,
1489 IN EFI_GUID *Protocol, OPTIONAL
1490 IN VOID *SearchKey, OPTIONAL
1491 IN OUT UINTN *BufferSize,
1492 OUT EFI_HANDLE *Buffer
1493 );
1494
1511typedef
1514 IN EFI_GUID *Protocol,
1515 IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath,
1516 OUT EFI_HANDLE *Device
1517 );
1518
1532typedef
1535 IN EFI_GUID *Guid,
1536 IN VOID *Table
1537 );
1538
1558typedef
1561 IN EFI_LOCATE_SEARCH_TYPE SearchType,
1562 IN EFI_GUID *Protocol, OPTIONAL
1563 IN VOID *SearchKey, OPTIONAL
1564 IN OUT UINTN *NoHandles,
1565 OUT EFI_HANDLE **Buffer
1566 );
1567
1585typedef
1588 IN EFI_GUID *Protocol,
1589 IN VOID *Registration, OPTIONAL
1590 OUT VOID **Interface
1591 );
1592
1616
1642
1648typedef struct {
1656 VOID* CapsulePtr[1];
1658
1659#define CAPSULE_FLAGS_PERSIST_ACROSS_RESET 0x00010000
1660#define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE 0x00020000
1661#define CAPSULE_FLAGS_INITIATE_RESET 0x00040000
1662
1693typedef
1696 IN EFI_CAPSULE_HEADER **CapsuleHeaderArray,
1697 IN UINTN CapsuleCount,
1698 IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL
1699 );
1700
1724typedef
1727 IN EFI_CAPSULE_HEADER **CapsuleHeaderArray,
1728 IN UINTN CapsuleCount,
1729 OUT UINT64 *MaximumCapsuleSize,
1730 OUT EFI_RESET_TYPE *ResetType
1731 );
1732
1755typedef
1758 IN UINT32 Attributes,
1759 OUT UINT64 *MaximumVariableStorageSize,
1760 OUT UINT64 *RemainingVariableStorageSize,
1761 OUT UINT64 *MaximumVariableSize
1762 );
1763
1764//
1765// Firmware should stop at a firmware user interface on next boot
1766//
1767#define EFI_OS_INDICATIONS_BOOT_TO_FW_UI 0x0000000000000001
1768#define EFI_OS_INDICATIONS_TIMESTAMP_REVOCATION 0x0000000000000002
1769#define EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED 0x0000000000000004
1770#define EFI_OS_INDICATIONS_FMP_CAPSULE_SUPPORTED 0x0000000000000008
1771#define EFI_OS_INDICATIONS_CAPSULE_RESULT_VAR_SUPPORTED 0x0000000000000010
1772#define EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY 0x0000000000000040
1773
1774//
1775// EFI Runtime Services Table
1776//
1777#define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')
1778#define EFI_2_70_SYSTEM_TABLE_REVISION ((2 << 16) | (70))
1779#define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60))
1780#define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50))
1781#define EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40))
1782#define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31))
1783#define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30))
1784#define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20))
1785#define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10))
1786#define EFI_2_00_SYSTEM_TABLE_REVISION ((2 << 16) | (00))
1787#define EFI_1_10_SYSTEM_TABLE_REVISION ((1 << 16) | (10))
1788#define EFI_1_02_SYSTEM_TABLE_REVISION ((1 << 16) | (02))
1789#define EFI_SYSTEM_TABLE_REVISION EFI_2_70_SYSTEM_TABLE_REVISION
1790#define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION
1791
1792#define EFI_RUNTIME_SERVICES_SIGNATURE SIGNATURE_64 ('R','U','N','T','S','E','R','V')
1793#define EFI_RUNTIME_SERVICES_REVISION EFI_SPECIFICATION_VERSION
1794
1842
1843
1844#define EFI_BOOT_SERVICES_SIGNATURE SIGNATURE_64 ('B','O','O','T','S','E','R','V')
1845#define EFI_BOOT_SERVICES_REVISION EFI_SPECIFICATION_VERSION
1846
1850typedef struct {
1855
1856 //
1857 // Task Priority Services
1858 //
1861
1862 //
1863 // Memory Services
1864 //
1870
1871 //
1872 // Event & Timer Services
1873 //
1880
1881 //
1882 // Protocol Handler Services
1883 //
1893
1894 //
1895 // Image Services
1896 //
1902
1903 //
1904 // Miscellaneous Services
1905 //
1909
1910 //
1911 // DriverSupport Services
1912 //
1915
1916 //
1917 // Open and Close Protocol Services
1918 //
1922
1923 //
1924 // Library Services
1925 //
1931
1932 //
1933 // 32-bit CRC Services
1934 //
1936
1937 //
1938 // Miscellaneous Services
1939 //
1944
1959
2025
2037typedef
2040 IN EFI_HANDLE ImageHandle,
2041 IN EFI_SYSTEM_TABLE *SystemTable
2042 );
2043
2044//
2045// EFI Load Option. This data structure describes format of UEFI boot option variables.
2046//
2047// NOTE: EFI Load Option is a byte packed buffer of variable length fields.
2048// The first two fields have fixed length. They are declared as members of the
2049// EFI_LOAD_OPTION structure. All the other fields are variable length fields.
2050// They are listed in the comment block below for reference purposes.
2051//
2052#pragma pack(1)
2053typedef struct _EFI_LOAD_OPTION {
2069 // CHAR16 Description[];
2081 // EFI_DEVICE_PATH_PROTOCOL FilePathList[];
2089 // UINT8 OptionalData[];
2091#pragma pack()
2092
2093//
2094// EFI Load Options Attributes
2095//
2096#define LOAD_OPTION_ACTIVE 0x00000001
2097#define LOAD_OPTION_FORCE_RECONNECT 0x00000002
2098#define LOAD_OPTION_HIDDEN 0x00000008
2099#define LOAD_OPTION_CATEGORY 0x00001F00
2100
2101#define LOAD_OPTION_CATEGORY_BOOT 0x00000000
2102#define LOAD_OPTION_CATEGORY_APP 0x00000100
2103
2104#define EFI_BOOT_OPTION_SUPPORT_KEY 0x00000001
2105#define EFI_BOOT_OPTION_SUPPORT_APP 0x00000002
2106#define EFI_BOOT_OPTION_SUPPORT_SYSPREP 0x00000010
2107#define EFI_BOOT_OPTION_SUPPORT_COUNT 0x00000300
2108
2152
2156#pragma pack(1)
2157typedef struct {
2178 //EFI_INPUT_KEY Keys[];
2180#pragma pack()
2181
2182//
2183// EFI File location to boot from on removable media devices
2184//
2185#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 L"\\EFI\\BOOT\\BOOTIA32.EFI"
2186#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA64 L"\\EFI\\BOOT\\BOOTIA64.EFI"
2187#define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.EFI"
2188#define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.EFI"
2189#define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI"
2190
2191#if defined (MDE_CPU_IA32)
2192 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32
2193#elif defined (MDE_CPU_X64)
2194 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_X64
2195#elif defined (MDE_CPU_EBC)
2196#elif defined (MDE_CPU_ARM)
2197 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_ARM
2198#elif defined (MDE_CPU_AARCH64)
2199 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64
2200#else
2201 #error Unknown Processor Type
2202#endif
2203
2204#include <Uefi/UefiPxe.h>
2205#include <Uefi/UefiGpt.h>
2207
2208#endif
UINT64 UINTN
Definition ProcessorBind.h:118
unsigned short CHAR16
Definition ProcessorBind.h:105
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define CONST
Definition Base.h:327
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
uint32_t Size
Definition pe.h:1
UINT64 EFI_PHYSICAL_ADDRESS
Definition UefiBaseType.h:54
UINT64 EFI_VIRTUAL_ADDRESS
Definition UefiBaseType.h:59
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
VOID * EFI_EVENT
Definition UefiBaseType.h:41
UINTN EFI_TPL
Definition UefiBaseType.h:45
VOID * EFI_HANDLE
Definition UefiBaseType.h:37
EFI_MEMORY_TYPE
Definition UefiMultiPhase.h:44
EFI_RESET_TYPE
Definition UefiMultiPhase.h:118
EFI_STATUS(EFIAPI * EFI_CLOSE_PROTOCOL)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN EFI_HANDLE AgentHandle, IN EFI_HANDLE ControllerHandle)
Definition UefiSpec.h:1351
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)
Definition UefiSpec.h:1385
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)
Definition UefiSpec.h:1318
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)
Definition UefiSpec.h:653
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)
Definition UefiSpec.h:445
EFI_STATUS(EFIAPI * EFI_IMAGE_START)(IN EFI_HANDLE ImageHandle, OUT UINTN *ExitDataSize, OUT CHAR16 **ExitData OPTIONAL)
Definition UefiSpec.h:906
EFI_STATUS(EFIAPI * EFI_LOCATE_HANDLE_BUFFER)(IN EFI_LOCATE_SEARCH_TYPE SearchType, IN EFI_GUID *Protocol, OPTIONAL IN VOID *SearchKey, OPTIONAL IN OUT UINTN *NoHandles, OUT EFI_HANDLE **Buffer)
Definition UefiSpec.h:1560
EFI_STATUS(EFIAPI * EFI_CALCULATE_CRC32)(IN VOID *Data, IN UINTN DataSize, OUT UINT32 *Crc32)
Definition UefiSpec.h:1089
EFI_STATUS(EFIAPI * EFI_ALLOCATE_POOL)(IN EFI_MEMORY_TYPE PoolType, IN UINTN Size, OUT VOID **Buffer)
Definition UefiSpec.h:246
EFI_STATUS(EFIAPI * EFI_GET_NEXT_HIGH_MONO_COUNT)(OUT UINT32 *HighCount)
Definition UefiSpec.h:1068
EFI_STATUS(EFIAPI * EFI_DISCONNECT_CONTROLLER)(IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE DriverImageHandle, OPTIONAL IN EFI_HANDLE ChildHandle OPTIONAL)
Definition UefiSpec.h:355
EFI_STATUS(EFIAPI * EFI_LOCATE_DEVICE_PATH)(IN EFI_GUID *Protocol, IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath, OUT EFI_HANDLE *Device)
Definition UefiSpec.h:1513
EFI_STATUS(EFIAPI * EFI_IMAGE_UNLOAD)(IN EFI_HANDLE ImageHandle)
Definition UefiSpec.h:952
EFI_STATUS(EFIAPI * EFI_EXIT)(IN EFI_HANDLE ImageHandle, IN EFI_STATUS ExitStatus, IN UINTN ExitDataSize, IN CHAR16 *ExitData OPTIONAL)
Definition UefiSpec.h:934
VOID(EFIAPI * EFI_RESTORE_TPL)(IN EFI_TPL OldTpl)
Definition UefiSpec.h:623
EFI_STATUS(EFIAPI * EFI_INSTALL_CONFIGURATION_TABLE)(IN EFI_GUID *Guid, IN VOID *Table)
Definition UefiSpec.h:1534
EFI_STATUS(EFIAPI * EFI_PROTOCOLS_PER_HANDLE)(IN EFI_HANDLE Handle, OUT EFI_GUID ***ProtocolBuffer, OUT UINTN *ProtocolBufferCount)
Definition UefiSpec.h:1415
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)
Definition UefiSpec.h:1487
EFI_INTERFACE_TYPE
Definition UefiSpec.h:1130
@ EFI_NATIVE_INTERFACE
Definition UefiSpec.h:1134
EFI_STATUS(EFIAPI * EFI_SET_TIME)(IN EFI_TIME *Time)
Definition UefiSpec.h:801
EFI_STATUS(EFIAPI * EFI_GET_MEMORY_MAP)(IN OUT UINTN *MemoryMapSize, IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap, OUT UINTN *MapKey, OUT UINTN *DescriptorSize, OUT UINT32 *DescriptorVersion)
Definition UefiSpec.h:217
EFI_STATUS(EFIAPI * EFI_STALL)(IN UINTN Microseconds)
Definition UefiSpec.h:984
EFI_STATUS(EFIAPI * EFI_CONVERT_POINTER)(IN UINTN DebugDisposition, IN OUT VOID **Address)
Definition UefiSpec.h:385
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)
Definition UefiSpec.h:322
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)
Definition UefiSpec.h:474
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)
Definition UefiSpec.h:881
VOID(EFIAPI * EFI_EVENT_NOTIFY)(IN EFI_EVENT Event, IN VOID *Context)
Definition UefiSpec.h:422
struct _EFI_LOAD_OPTION EFI_LOAD_OPTION
EFI_STATUS(EFIAPI * EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES)(IN EFI_HANDLE Handle,...)
Definition UefiSpec.h:1254
EFI_STATUS(EFIAPI * EFI_SET_VARIABLE)(IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN UINT32 Attributes, IN UINTN DataSize, IN VOID *Data)
Definition UefiSpec.h:731
EFI_TIMER_DELAY
Definition UefiSpec.h:486
@ TimerCancel
Definition UefiSpec.h:490
@ TimerRelative
Definition UefiSpec.h:498
@ TimerPeriodic
Definition UefiSpec.h:494
EFI_STATUS(EFIAPI * EFI_QUERY_VARIABLE_INFO)(IN UINT32 Attributes, OUT UINT64 *MaximumVariableStorageSize, OUT UINT64 *RemainingVariableStorageSize, OUT UINT64 *MaximumVariableSize)
Definition UefiSpec.h:1757
EFI_STATUS(EFIAPI * EFI_INSTALL_PROTOCOL_INTERFACE)(IN OUT EFI_HANDLE *Handle, IN EFI_GUID *Protocol, IN EFI_INTERFACE_TYPE InterfaceType, IN VOID *Interface)
Definition UefiSpec.h:1159
VOID(EFIAPI * EFI_COPY_MEM)(IN VOID *Destination, IN VOID *Source, IN UINTN Length)
Definition UefiSpec.h:1105
EFI_STATUS(EFIAPI * EFI_HANDLE_PROTOCOL)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, OUT VOID **Interface)
Definition UefiSpec.h:1276
EFI_STATUS(EFIAPI * EFI_EXIT_BOOT_SERVICES)(IN EFI_HANDLE ImageHandle, IN UINTN MapKey)
Definition UefiSpec.h:968
EFI_STATUS(EFIAPI * EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES)(IN OUT EFI_HANDLE *Handle,...)
Definition UefiSpec.h:1184
EFI_STATUS(EFIAPI * EFI_UPDATE_CAPSULE)(IN EFI_CAPSULE_HEADER **CapsuleHeaderArray, IN UINTN CapsuleCount, IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL)
Definition UefiSpec.h:1695
EFI_STATUS(EFIAPI * EFI_GET_NEXT_MONOTONIC_COUNT)(OUT UINT64 *Count)
Definition UefiSpec.h:1052
EFI_TPL(EFIAPI * EFI_RAISE_TPL)(IN EFI_TPL NewTpl)
Definition UefiSpec.h:611
EFI_STATUS(EFIAPI * EFI_REINSTALL_PROTOCOL_INTERFACE)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN VOID *OldInterface, IN VOID *NewInterface)
Definition UefiSpec.h:1209
EFI_STATUS(EFIAPI * EFI_SET_WATCHDOG_TIMER)(IN UINTN Timeout, IN UINT64 WatchdogCode, IN UINTN DataSize, IN CHAR16 *WatchdogData OPTIONAL)
Definition UefiSpec.h:1006
EFI_STATUS(EFIAPI * EFI_SIGNAL_EVENT)(IN EFI_EVENT Event)
Definition UefiSpec.h:535
EFI_STATUS(EFIAPI * EFI_WAIT_FOR_EVENT)(IN UINTN NumberOfEvents, IN EFI_EVENT *Event, OUT UINTN *Index)
Definition UefiSpec.h:555
VOID(EFIAPI * EFI_SET_MEM)(IN VOID *Buffer, IN UINTN Size, IN UINT8 Value)
Definition UefiSpec.h:1121
EFI_STATUS(EFIAPI * EFI_UNINSTALL_PROTOCOL_INTERFACE)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN VOID *Interface)
Definition UefiSpec.h:1235
EFI_STATUS(EFIAPI * EFI_IMAGE_ENTRY_POINT)(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
Definition UefiSpec.h:2039
EFI_STATUS(EFIAPI * EFI_FREE_PAGES)(IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN Pages)
Definition UefiSpec.h:185
EFI_LOCATE_SEARCH_TYPE
Definition UefiSpec.h:1447
@ ByProtocol
Definition UefiSpec.h:1460
@ ByRegisterNotify
Definition UefiSpec.h:1455
@ AllHandles
Definition UefiSpec.h:1451
EFI_STATUS(EFIAPI * EFI_CLOSE_EVENT)(IN EFI_EVENT Event)
Definition UefiSpec.h:571
EFI_STATUS(EFIAPI * EFI_GET_TIME)(OUT EFI_TIME *Time, OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL)
Definition UefiSpec.h:784
VOID(EFIAPI * EFI_RESET_SYSTEM)(IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
Definition UefiSpec.h:1033
EFI_STATUS(EFIAPI * EFI_SET_VIRTUAL_ADDRESS_MAP)(IN UINTN MemoryMapSize, IN UINTN DescriptorSize, IN UINT32 DescriptorVersion, IN EFI_MEMORY_DESCRIPTOR *VirtualMap)
Definition UefiSpec.h:288
EFI_STATUS(EFIAPI * EFI_SET_WAKEUP_TIME)(IN BOOLEAN Enable, IN EFI_TIME *Time OPTIONAL)
Definition UefiSpec.h:844
EFI_STATUS(EFIAPI * EFI_LOCATE_PROTOCOL)(IN EFI_GUID *Protocol, IN VOID *Registration, OPTIONAL OUT VOID **Interface)
Definition UefiSpec.h:1587
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)
Definition UefiSpec.h:164
EFI_STATUS(EFIAPI * EFI_FREE_POOL)(IN VOID *Buffer)
Definition UefiSpec.h:263
EFI_STATUS(EFIAPI * EFI_QUERY_CAPSULE_CAPABILITIES)(IN EFI_CAPSULE_HEADER **CapsuleHeaderArray, IN UINTN CapsuleCount, OUT UINT64 *MaximumCapsuleSize, OUT EFI_RESET_TYPE *ResetType)
Definition UefiSpec.h:1726
EFI_STATUS(EFIAPI * EFI_CHECK_EVENT)(IN EFI_EVENT Event)
Definition UefiSpec.h:587
EFI_STATUS(EFIAPI * EFI_GET_WAKEUP_TIME)(OUT BOOLEAN *Enabled, OUT BOOLEAN *Pending, OUT EFI_TIME *Time)
Definition UefiSpec.h:822
EFI_STATUS(EFIAPI * EFI_GET_NEXT_VARIABLE_NAME)(IN OUT UINTN *VariableNameSize, IN OUT CHAR16 *VariableName, IN OUT EFI_GUID *VendorGuid)
Definition UefiSpec.h:689
EFI_ALLOCATE_TYPE
Definition UefiSpec.h:32
@ AllocateMaxAddress
Definition UefiSpec.h:41
@ AllocateAddress
Definition UefiSpec.h:45
@ AllocateAnyPages
Definition UefiSpec.h:36
@ MaxAllocateType
Definition UefiSpec.h:49
EFI_STATUS(EFIAPI * EFI_SET_TIMER)(IN EFI_EVENT Event, IN EFI_TIMER_DELAY Type, IN UINT64 TriggerTime)
Definition UefiSpec.h:519
EFI_STATUS(EFIAPI * EFI_REGISTER_PROTOCOL_NOTIFY)(IN EFI_GUID *Protocol, IN EFI_EVENT Event, OUT VOID **Registration)
Definition UefiSpec.h:1438
#define VOID
Definition acefi.h:190
UINT32 void * Context
Definition acevents.h:322
ACPI_PHYSICAL_ADDRESS Address
Definition acpixf.h:637
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE ACPI_HANDLE *OutHandle ACPI_HANDLE *OutHandle void *Context void *Context ACPI_EVENT_HANDLER Handler UINT32 UINT32 Type
Definition acpixf.h:894
ACPI_PHYSICAL_ADDRESS ACPI_SIZE Length
Definition acpixf.h:638
unsigned short UINT16
Definition actypes.h:237
unsigned char BOOLEAN
Definition actypes.h:235
unsigned char UINT8
Definition actypes.h:236
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition UefiSpec.h:1850
EFI_ALLOCATE_PAGES AllocatePages
Definition UefiSpec.h:1865
EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable
Definition UefiSpec.h:1892
EFI_RESTORE_TPL RestoreTPL
Definition UefiSpec.h:1860
EFI_SET_TIMER SetTimer
Definition UefiSpec.h:1875
EFI_IMAGE_START StartImage
Definition UefiSpec.h:1898
EFI_SET_MEM SetMem
Definition UefiSpec.h:1941
EFI_FREE_POOL FreePool
Definition UefiSpec.h:1869
EFI_LOCATE_HANDLE LocateHandle
Definition UefiSpec.h:1890
EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation
Definition UefiSpec.h:1921
EFI_CREATE_EVENT CreateEvent
Definition UefiSpec.h:1874
EFI_IMAGE_UNLOAD UnloadImage
Definition UefiSpec.h:1900
EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface
Definition UefiSpec.h:1885
EFI_FREE_PAGES FreePages
Definition UefiSpec.h:1866
EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle
Definition UefiSpec.h:1926
EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface
Definition UefiSpec.h:1884
EFI_DISCONNECT_CONTROLLER DisconnectController
Definition UefiSpec.h:1914
EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces
Definition UefiSpec.h:1930
EFI_TABLE_HEADER Hdr
Definition UefiSpec.h:1854
EFI_LOCATE_PROTOCOL LocateProtocol
Definition UefiSpec.h:1928
EFI_CLOSE_EVENT CloseEvent
Definition UefiSpec.h:1878
EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces
Definition UefiSpec.h:1929
EFI_CLOSE_PROTOCOL CloseProtocol
Definition UefiSpec.h:1920
EFI_COPY_MEM CopyMem
Definition UefiSpec.h:1940
EFI_SET_WATCHDOG_TIMER SetWatchdogTimer
Definition UefiSpec.h:1908
EFI_HANDLE_PROTOCOL HandleProtocol
Definition UefiSpec.h:1887
EFI_EXIT_BOOT_SERVICES ExitBootServices
Definition UefiSpec.h:1901
EFI_ALLOCATE_POOL AllocatePool
Definition UefiSpec.h:1868
EFI_LOCATE_DEVICE_PATH LocateDevicePath
Definition UefiSpec.h:1891
EFI_RAISE_TPL RaiseTPL
Definition UefiSpec.h:1859
EFI_CREATE_EVENT_EX CreateEventEx
Definition UefiSpec.h:1942
EFI_CALCULATE_CRC32 CalculateCrc32
Definition UefiSpec.h:1935
EFI_GET_MEMORY_MAP GetMemoryMap
Definition UefiSpec.h:1867
EFI_EXIT Exit
Definition UefiSpec.h:1899
EFI_IMAGE_LOAD LoadImage
Definition UefiSpec.h:1897
EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify
Definition UefiSpec.h:1889
EFI_OPEN_PROTOCOL OpenProtocol
Definition UefiSpec.h:1919
VOID * Reserved
Definition UefiSpec.h:1888
EFI_SIGNAL_EVENT SignalEvent
Definition UefiSpec.h:1877
EFI_WAIT_FOR_EVENT WaitForEvent
Definition UefiSpec.h:1876
EFI_STALL Stall
Definition UefiSpec.h:1907
EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer
Definition UefiSpec.h:1927
EFI_CHECK_EVENT CheckEvent
Definition UefiSpec.h:1879
EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount
Definition UefiSpec.h:1906
EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface
Definition UefiSpec.h:1886
EFI_CONNECT_CONTROLLER ConnectController
Definition UefiSpec.h:1913
Definition UefiSpec.h:1596
UINT64 Length
Definition UefiSpec.h:1600
EFI_PHYSICAL_ADDRESS DataBlock
Definition UefiSpec.h:1606
EFI_PHYSICAL_ADDRESS ContinuationPointer
Definition UefiSpec.h:1613
Definition UefiSpec.h:1620
UINT32 CapsuleImageSize
Definition UefiSpec.h:1640
UINT32 HeaderSize
Definition UefiSpec.h:1630
UINT32 Flags
Definition UefiSpec.h:1636
EFI_GUID CapsuleGuid
Definition UefiSpec.h:1624
Definition UefiSpec.h:1648
UINT32 CapsuleArrayNumber
Definition UefiSpec.h:1652
Definition UefiSpec.h:1949
VOID * VendorTable
Definition UefiSpec.h:1957
EFI_GUID VendorGuid
Definition UefiSpec.h:1953
Definition DevicePath.h:49
Definition UefiSpec.h:2157
UINT32 BootOptionCrc
Definition UefiSpec.h:2167
UINT16 BootOption
Definition UefiSpec.h:2172
EFI_BOOT_KEY_DATA KeyData
Definition UefiSpec.h:2161
Definition UefiSpec.h:104
EFI_VIRTUAL_ADDRESS VirtualStart
Definition UefiSpec.h:122
UINT64 Attribute
Definition UefiSpec.h:135
UINT64 NumberOfPages
Definition UefiSpec.h:129
UINT32 Type
Definition UefiSpec.h:110
EFI_PHYSICAL_ADDRESS PhysicalStart
Definition UefiSpec.h:116
Definition UefiSpec.h:1361
EFI_HANDLE AgentHandle
Definition UefiSpec.h:1362
UINT32 OpenCount
Definition UefiSpec.h:1365
UINT32 Attributes
Definition UefiSpec.h:1364
EFI_HANDLE ControllerHandle
Definition UefiSpec.h:1363
Definition UefiSpec.h:1798
EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities
Definition UefiSpec.h:1835
EFI_CONVERT_POINTER ConvertPointer
Definition UefiSpec.h:1816
EFI_TABLE_HEADER Hdr
Definition UefiSpec.h:1802
EFI_UPDATE_CAPSULE UpdateCapsule
Definition UefiSpec.h:1834
EFI_GET_TIME GetTime
Definition UefiSpec.h:1807
EFI_SET_VARIABLE SetVariable
Definition UefiSpec.h:1823
EFI_SET_WAKEUP_TIME SetWakeupTime
Definition UefiSpec.h:1810
EFI_GET_WAKEUP_TIME GetWakeupTime
Definition UefiSpec.h:1809
EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName
Definition UefiSpec.h:1822
EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount
Definition UefiSpec.h:1828
EFI_QUERY_VARIABLE_INFO QueryVariableInfo
Definition UefiSpec.h:1840
EFI_SET_TIME SetTime
Definition UefiSpec.h:1808
EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap
Definition UefiSpec.h:1815
EFI_GET_VARIABLE GetVariable
Definition UefiSpec.h:1821
EFI_RESET_SYSTEM ResetSystem
Definition UefiSpec.h:1829
Definition UefiSpec.h:1963
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * StdErr
Definition UefiSpec.h:2006
EFI_BOOT_SERVICES * BootServices
Definition UefiSpec.h:2014
EFI_CONFIGURATION_TABLE * ConfigurationTable
Definition UefiSpec.h:2023
UINT32 FirmwareRevision
Definition UefiSpec.h:1977
EFI_HANDLE ConsoleInHandle
Definition UefiSpec.h:1982
EFI_HANDLE ConsoleOutHandle
Definition UefiSpec.h:1991
EFI_RUNTIME_SERVICES * RuntimeServices
Definition UefiSpec.h:2010
EFI_HANDLE StandardErrorHandle
Definition UefiSpec.h:2001
EFI_SIMPLE_TEXT_INPUT_PROTOCOL * ConIn
Definition UefiSpec.h:1987
CHAR16 * FirmwareVendor
Definition UefiSpec.h:1972
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * ConOut
Definition UefiSpec.h:1996
EFI_TABLE_HEADER Hdr
Definition UefiSpec.h:1967
UINTN NumberOfTableEntries
Definition UefiSpec.h:2018
Definition UefiMultiPhase.h:151
Definition UefiSpec.h:744
UINT32 Resolution
Definition UefiSpec.h:751
UINT32 Accuracy
Definition UefiSpec.h:758
BOOLEAN SetsToZero
Definition UefiSpec.h:766
Definition UefiBaseType.h:72
Definition Base.h:281
Definition UefiSpec.h:2053
UINT16 FilePathListLength
Definition UefiSpec.h:2064
UINT32 Attributes
Definition UefiSpec.h:2058
Definition SimpleTextIn.h:122
Definition SimpleTextOut.h:393
Definition UefiSpec.h:2112
UINT32 ControlPressed
Definition UefiSpec.h:2125
UINT32 SysReqPressed
Definition UefiSpec.h:2141
UINT32 MenuPressed
Definition UefiSpec.h:2137
UINT32 LogoPressed
Definition UefiSpec.h:2133
UINT32 Revision
Definition UefiSpec.h:2117
UINT32 InputKeyCount
Definition UefiSpec.h:2148
UINT32 ShiftPressed
Definition UefiSpec.h:2121
UINT32 AltPressed
Definition UefiSpec.h:2129
UINT32 PackedValue
Definition UefiSpec.h:2150
UINT32 Reserved
Definition UefiSpec.h:2142