ReactOS 0.4.15-dev-7659-ga55345b
UefiSpec.h
Go to the documentation of this file.
1
19#ifndef __UEFI_SPEC_H__
20#define __UEFI_SPEC_H__
21
22#include <UefiMultiPhase.h>
23
24#include <DevicePath.h>
25#include <SimpleTextIn.h>
26#include <SimpleTextInEx.h>
27#include <SimpleTextOut.h>
28
32typedef enum {
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#define EFI_MEMORY_WP 0x0000000000001000ULL
75#define EFI_MEMORY_RP 0x0000000000002000ULL
76#define EFI_MEMORY_XP 0x0000000000004000ULL
77//
78// Runtime memory attribute
79//
80#define EFI_MEMORY_RUNTIME 0x8000000000000000ULL
81
85#define EFI_MEMORY_DESCRIPTOR_VERSION 1
86
90typedef struct {
116
136typedef
140IN EFI_MEMORY_TYPE MemoryType,
141IN UINTN Pages,
143);
144
157typedef
161IN UINTN Pages
162);
163
189typedef
192IN OUT UINTN *MemoryMapSize,
194OUT UINTN *MapKey,
196OUT UINT32 *DescriptorVersion
197);
198
212typedef
218);
219
229typedef
233);
234
254typedef
257IN UINTN MemoryMapSize,
259IN UINT32 DescriptorVersion,
260IN EFI_MEMORY_DESCRIPTOR *VirtualMap
261);
262
286typedef
289IN EFI_HANDLE ControllerHandle,
290IN EFI_HANDLE *DriverImageHandle, OPTIONAL
291IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath, OPTIONAL
292IN BOOLEAN Recursive
293);
294
319typedef
322IN EFI_HANDLE ControllerHandle,
323IN EFI_HANDLE DriverImageHandle, OPTIONAL
324IN EFI_HANDLE ChildHandle OPTIONAL
325);
326
327
328
329//
330// ConvertPointer DebugDisposition type.
331//
332#define EFI_OPTIONAL_PTR 0x00000001
333
349typedef
352IN UINTN DebugDisposition,
354);
355
356
357//
358// These types can be ORed together as needed - for example,
359// EVT_TIMER might be Ored with EVT_NOTIFY_WAIT or
360// EVT_NOTIFY_SIGNAL.
361//
362#define EVT_TIMER 0x80000000
363#define EVT_RUNTIME 0x40000000
364#define EVT_NOTIFY_WAIT 0x00000100
365#define EVT_NOTIFY_SIGNAL 0x00000200
366
367#define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201
368#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202
369
370//
371// The event's NotifyContext pointer points to a runtime memory
372// address.
373// The event is deprecated in UEFI2.0 and later specifications.
374//
375#define EVT_RUNTIME_CONTEXT 0x20000000
376
377
386typedef
391);
392
409typedef
413IN EFI_TPL NotifyTpl,
414IN EFI_EVENT_NOTIFY NotifyFunction,
415IN VOID *NotifyContext,
417);
418
438typedef
442IN EFI_TPL NotifyTpl,
443IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL,
444IN CONST VOID *NotifyContext OPTIONAL,
445IN CONST EFI_GUID *EventGroup OPTIONAL,
447);
448
452typedef enum {
466
483typedef
488IN UINT64 TriggerTime
489);
490
499typedef
503);
504
519typedef
522IN UINTN NumberOfEvents,
525);
526
535typedef
539);
540
551typedef
555);
556
557
558//
559// Task priority level
560//
561#define TPL_APPLICATION 4
562#define TPL_CALLBACK 8
563#define TPL_NOTIFY 16
564#define TPL_HIGH_LEVEL 31
565
566
575typedef
578IN EFI_TPL NewTpl
579);
580
587typedef
590IN EFI_TPL OldTpl
591);
592
616typedef
619IN CHAR16 *VariableName,
620IN EFI_GUID *VendorGuid,
624);
625
646typedef
649IN OUT UINTN *VariableNameSize,
650IN OUT CHAR16 *VariableName,
651IN OUT EFI_GUID *VendorGuid
652);
653
682typedef
685IN CHAR16 *VariableName,
686IN EFI_GUID *VendorGuid,
689IN VOID *Data
690);
691
692
697typedef struct {
721
735typedef
740);
741
752typedef
756);
757
773typedef
779);
780
795typedef
800);
801
832typedef
835IN BOOLEAN BootPolicy,
836IN EFI_HANDLE ParentImageHandle,
837IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
838IN VOID *SourceBuffer OPTIONAL,
839IN UINTN SourceSize,
840OUT EFI_HANDLE *ImageHandle
841);
842
856typedef
859IN EFI_HANDLE ImageHandle,
860OUT UINTN *ExitDataSize,
861OUT CHAR16 **ExitData OPTIONAL
862);
863
884typedef
887IN EFI_HANDLE ImageHandle,
889IN UINTN ExitDataSize,
890IN CHAR16 *ExitData OPTIONAL
891);
892
902typedef
905IN EFI_HANDLE ImageHandle
906);
907
918typedef
921IN EFI_HANDLE ImageHandle,
922IN UINTN MapKey
923);
924
934typedef
937IN UINTN Microseconds
938);
939
956typedef
960IN UINT64 WatchdogCode,
962IN CHAR16 *WatchdogData OPTIONAL
963);
964
968typedef enum {
989
1001typedef
1004IN EFI_RESET_TYPE ResetType,
1005IN EFI_STATUS ResetStatus,
1007IN VOID *ResetData OPTIONAL
1008);
1009
1020typedef
1024);
1025
1036typedef
1039OUT UINT32 *HighCount
1040);
1041
1057typedef
1060IN VOID *Data,
1062OUT UINT32 *Crc32
1063);
1064
1073typedef
1077IN VOID *Source,
1079);
1080
1089typedef
1092IN VOID *Buffer,
1093IN UINTN Size,
1095);
1096
1100typedef enum {
1106
1127typedef
1134);
1135
1150typedef
1154...
1155);
1156
1175typedef
1180IN VOID *OldInterface,
1181IN VOID *NewInterface
1182);
1183
1201typedef
1207);
1208
1220typedef
1224...
1225);
1226
1242typedef
1248);
1249
1250#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001
1251#define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002
1252#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004
1253#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008
1254#define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
1255#define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020
1256
1284typedef
1290IN EFI_HANDLE AgentHandle,
1291IN EFI_HANDLE ControllerHandle,
1293);
1294
1295
1317typedef
1322IN EFI_HANDLE AgentHandle,
1323IN EFI_HANDLE ControllerHandle
1324);
1325
1329typedef struct {
1335
1351typedef
1357OUT UINTN *EntryCount
1358);
1359
1381typedef
1385OUT EFI_GUID ***ProtocolBuffer,
1386OUT UINTN *ProtocolBufferCount
1387);
1388
1404typedef
1410);
1411
1415typedef enum {
1430
1453typedef
1456IN EFI_LOCATE_SEARCH_TYPE SearchType,
1458IN VOID *SearchKey, OPTIONAL
1461);
1462
1479typedef
1483IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath,
1485);
1486
1500typedef
1504IN VOID *Table
1505);
1506
1526typedef
1529IN EFI_LOCATE_SEARCH_TYPE SearchType,
1531IN VOID *SearchKey, OPTIONAL
1532IN OUT UINTN *NoHandles,
1534);
1535
1552typedef
1558);
1559
1563typedef struct {
1568 union {
1581 } Union;
1583
1587typedef struct {
1609
1615typedef struct {
1623 VOID* CapsulePtr[1];
1625
1626#define CAPSULE_FLAGS_PERSIST_ACROSS_RESET 0x00010000
1627#define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE 0x00020000
1628#define CAPSULE_FLAGS_INITIATE_RESET 0x00040000
1629
1656typedef
1659IN EFI_CAPSULE_HEADER **CapsuleHeaderArray,
1660IN UINTN CapsuleCount,
1661IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL
1662);
1663
1683typedef
1686IN EFI_CAPSULE_HEADER **CapsuleHeaderArray,
1687IN UINTN CapsuleCount,
1688OUT UINT64 *MaximumCapsuleSize,
1689OUT EFI_RESET_TYPE *ResetType
1690);
1691
1714typedef
1718OUT UINT64 *MaximumVariableStorageSize,
1719OUT UINT64 *RemainingVariableStorageSize,
1720OUT UINT64 *MaximumVariableSize
1721);
1722
1723
1724//
1725// EFI Runtime Services Table
1726//
1727#define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')
1728#define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31))
1729#define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30))
1730#define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20))
1731#define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10))
1732#define EFI_2_00_SYSTEM_TABLE_REVISION ((2 << 16) | (00))
1733#define EFI_1_10_SYSTEM_TABLE_REVISION ((1 << 16) | (10))
1734#define EFI_1_02_SYSTEM_TABLE_REVISION ((1 << 16) | (02))
1735#define EFI_SYSTEM_TABLE_REVISION EFI_2_31_SYSTEM_TABLE_REVISION
1736
1737#define EFI_RUNTIME_SERVICES_SIGNATURE SIGNATURE_64 ('R','U','N','T','S','E','R','V')
1738#define EFI_RUNTIME_SERVICES_REVISION EFI_2_31_SYSTEM_TABLE_REVISION
1739
1743typedef struct {
1748
1749 //
1750 // Time Services
1751 //
1756
1757 //
1758 // Virtual Memory Services
1759 //
1762
1763 //
1764 // Variable Services
1765 //
1769
1770 //
1771 // Miscellaneous Services
1772 //
1775
1776 //
1777 // UEFI 2.0 Capsule Services
1778 //
1781
1782 //
1783 // Miscellaneous UEFI 2.0 Service
1784 //
1787
1788
1789#define EFI_BOOT_SERVICES_SIGNATURE SIGNATURE_64 ('B','O','O','T','S','E','R','V')
1790#define EFI_BOOT_SERVICES_REVISION EFI_2_31_SYSTEM_TABLE_REVISION
1791
1795typedef struct {
1800
1801 //
1802 // Task Priority Services
1803 //
1806
1807 //
1808 // Memory Services
1809 //
1815
1816 //
1817 // Event & Timer Services
1818 //
1825
1826 //
1827 // Protocol Handler Services
1828 //
1838
1839 //
1840 // Image Services
1841 //
1847
1848 //
1849 // Miscellaneous Services
1850 //
1854
1855 //
1856 // DriverSupport Services
1857 //
1860
1861 //
1862 // Open and Close Protocol Services
1863 //
1867
1868 //
1869 // Library Services
1870 //
1876
1877 //
1878 // 32-bit CRC Services
1879 //
1881
1882 //
1883 // Miscellaneous Services
1884 //
1889
1894typedef struct {
1904
1908typedef struct {
1970
1982typedef
1985IN EFI_HANDLE ImageHandle,
1986IN EFI_SYSTEM_TABLE *SystemTable
1987);
1988
1989//
1990// EFI Load Options Attributes
1991//
1992#define LOAD_OPTION_ACTIVE 0x00000001
1993#define LOAD_OPTION_FORCE_RECONNECT 0x00000002
1994#define LOAD_OPTION_HIDDEN 0x00000008
1995#define LOAD_OPTION_CATEGORY 0x00001F00
1996
1997#define LOAD_OPTION_CATEGORY_BOOT 0x00000000
1998#define LOAD_OPTION_CATEGORY_APP 0x00000100
1999
2000#define EFI_BOOT_OPTION_SUPPORT_KEY 0x00000001
2001#define EFI_BOOT_OPTION_SUPPORT_APP 0x00000002
2002#define EFI_BOOT_OPTION_SUPPORT_COUNT 0x00000300
2003
2007typedef union {
2008 struct {
2047
2051typedef struct {
2072 //EFI_INPUT_KEY Keys[];
2074
2075//
2076// EFI File location to boot from on removable media devices
2077//
2078#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 L"\\EFI\\BOOT\\BOOTIA32.EFI"
2079#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA64 L"\\EFI\\BOOT\\BOOTIA64.EFI"
2080#define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.EFI"
2081#define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.EFI"
2082
2083#if defined (MDE_CPU_IA32)
2084#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32
2085#elif defined (MDE_CPU_IPF)
2086#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA64
2087#elif defined (MDE_CPU_X64)
2088#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_X64
2089#elif defined (MDE_CPU_EBC)
2090#elif defined (MDE_CPU_ARM)
2091#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_ARM
2092#else
2093#error Unknown Processor Type
2094#endif
2095
2096//#include <Uefi/UefiPxe.h>
2097//#include <Uefi/UefiGpt.h>
2098//#include <Uefi/UefiInternalFormRepresentation.h>
2099
2100#endif
unsigned short UINT16
unsigned char BOOLEAN
unsigned long long UINT64
unsigned short CHAR16
#define EFIAPI
unsigned char UINT8
UINT32 UINTN
unsigned int UINT32
Type
Definition: Type.h:7
UINT64 EFI_PHYSICAL_ADDRESS
Definition: UefiBaseType.h:52
UINT64 EFI_VIRTUAL_ADDRESS
Definition: UefiBaseType.h:57
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:31
UINTN EFI_TPL
Definition: UefiBaseType.h:43
EFI_MEMORY_TYPE
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:1319
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:1353
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:1286
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:411
EFI_STATUS(EFIAPI * EFI_IMAGE_START)(IN EFI_HANDLE ImageHandle, OUT UINTN *ExitDataSize, OUT CHAR16 **ExitData OPTIONAL)
Definition: UefiSpec.h:858
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:1528
EFI_STATUS(EFIAPI * EFI_CALCULATE_CRC32)(IN VOID *Data, IN UINTN DataSize, OUT UINT32 *Crc32)
Definition: UefiSpec.h:1059
EFI_STATUS(EFIAPI * EFI_ALLOCATE_POOL)(IN EFI_MEMORY_TYPE PoolType, IN UINTN Size, OUT VOID **Buffer)
Definition: UefiSpec.h:214
EFI_STATUS(EFIAPI * EFI_GET_NEXT_HIGH_MONO_COUNT)(OUT UINT32 *HighCount)
Definition: UefiSpec.h:1038
EFI_STATUS(EFIAPI * EFI_DISCONNECT_CONTROLLER)(IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE DriverImageHandle, OPTIONAL IN EFI_HANDLE ChildHandle OPTIONAL)
Definition: UefiSpec.h:321
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:1481
EFI_STATUS(EFIAPI * EFI_IMAGE_UNLOAD)(IN EFI_HANDLE ImageHandle)
Definition: UefiSpec.h:904
EFI_STATUS(EFIAPI * EFI_EXIT)(IN EFI_HANDLE ImageHandle, IN EFI_STATUS ExitStatus, IN UINTN ExitDataSize, IN CHAR16 *ExitData OPTIONAL)
Definition: UefiSpec.h:886
VOID(EFIAPI * EFI_RESTORE_TPL)(IN EFI_TPL OldTpl)
Definition: UefiSpec.h:589
EFI_STATUS(EFIAPI * EFI_INSTALL_CONFIGURATION_TABLE)(IN EFI_GUID *Guid, IN VOID *Table)
Definition: UefiSpec.h:1502
EFI_STATUS(EFIAPI * EFI_PROTOCOLS_PER_HANDLE)(IN EFI_HANDLE Handle, OUT EFI_GUID ***ProtocolBuffer, OUT UINTN *ProtocolBufferCount)
Definition: UefiSpec.h:1383
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:1455
EFI_INTERFACE_TYPE
Definition: UefiSpec.h:1100
@ EFI_NATIVE_INTERFACE
Definition: UefiSpec.h:1104
EFI_STATUS(EFIAPI * EFI_SET_TIME)(IN EFI_TIME *Time)
Definition: UefiSpec.h:754
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:191
EFI_STATUS(EFIAPI * EFI_STALL)(IN UINTN Microseconds)
Definition: UefiSpec.h:936
EFI_STATUS(EFIAPI * EFI_CONVERT_POINTER)(IN UINTN DebugDisposition, IN OUT VOID **Address)
Definition: UefiSpec.h:351
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:288
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:440
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:834
VOID(EFIAPI * EFI_EVENT_NOTIFY)(IN EFI_EVENT Event, IN VOID *Context)
Definition: UefiSpec.h:388
EFI_STATUS(EFIAPI * EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES)(IN EFI_HANDLE Handle,...)
Definition: UefiSpec.h:1222
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:684
EFI_TIMER_DELAY
Definition: UefiSpec.h:452
@ TimerCancel
Definition: UefiSpec.h:456
@ TimerRelative
Definition: UefiSpec.h:464
@ TimerPeriodic
Definition: UefiSpec.h:460
EFI_STATUS(EFIAPI * EFI_QUERY_VARIABLE_INFO)(IN UINT32 Attributes, OUT UINT64 *MaximumVariableStorageSize, OUT UINT64 *RemainingVariableStorageSize, OUT UINT64 *MaximumVariableSize)
Definition: UefiSpec.h:1716
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:1129
VOID(EFIAPI * EFI_COPY_MEM)(IN VOID *Destination, IN VOID *Source, IN UINTN Length)
Definition: UefiSpec.h:1075
EFI_STATUS(EFIAPI * EFI_HANDLE_PROTOCOL)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, OUT VOID **Interface)
Definition: UefiSpec.h:1244
EFI_STATUS(EFIAPI * EFI_EXIT_BOOT_SERVICES)(IN EFI_HANDLE ImageHandle, IN UINTN MapKey)
Definition: UefiSpec.h:920
EFI_STATUS(EFIAPI * EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES)(IN OUT EFI_HANDLE *Handle,...)
Definition: UefiSpec.h:1152
EFI_STATUS(EFIAPI * EFI_UPDATE_CAPSULE)(IN EFI_CAPSULE_HEADER **CapsuleHeaderArray, IN UINTN CapsuleCount, IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL)
Definition: UefiSpec.h:1658
EFI_STATUS(EFIAPI * EFI_GET_NEXT_MONOTONIC_COUNT)(OUT UINT64 *Count)
Definition: UefiSpec.h:1022
EFI_TPL(EFIAPI * EFI_RAISE_TPL)(IN EFI_TPL NewTpl)
Definition: UefiSpec.h:577
EFI_STATUS(EFIAPI * EFI_REINSTALL_PROTOCOL_INTERFACE)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN VOID *OldInterface, IN VOID *NewInterface)
Definition: UefiSpec.h:1177
EFI_STATUS(EFIAPI * EFI_SET_WATCHDOG_TIMER)(IN UINTN Timeout, IN UINT64 WatchdogCode, IN UINTN DataSize, IN CHAR16 *WatchdogData OPTIONAL)
Definition: UefiSpec.h:958
EFI_STATUS(EFIAPI * EFI_SIGNAL_EVENT)(IN EFI_EVENT Event)
Definition: UefiSpec.h:501
EFI_STATUS(EFIAPI * EFI_GET_VARIABLE)(IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, OUT UINT32 *Attributes, OPTIONAL IN OUT UINTN *DataSize, OUT VOID *Data)
Definition: UefiSpec.h:618
EFI_STATUS(EFIAPI * EFI_WAIT_FOR_EVENT)(IN UINTN NumberOfEvents, IN EFI_EVENT *Event, OUT UINTN *Index)
Definition: UefiSpec.h:521
VOID(EFIAPI * EFI_SET_MEM)(IN VOID *Buffer, IN UINTN Size, IN UINT8 Value)
Definition: UefiSpec.h:1091
EFI_RESET_TYPE
Definition: UefiSpec.h:968
@ EfiResetCold
Definition: UefiSpec.h:975
@ EfiResetShutdown
Definition: UefiSpec.h:987
@ EfiResetWarm
Definition: UefiSpec.h:981
EFI_STATUS(EFIAPI * EFI_UNINSTALL_PROTOCOL_INTERFACE)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN VOID *Interface)
Definition: UefiSpec.h:1203
EFI_STATUS(EFIAPI * EFI_IMAGE_ENTRY_POINT)(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
Definition: UefiSpec.h:1984
EFI_STATUS(EFIAPI * EFI_FREE_PAGES)(IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN Pages)
Definition: UefiSpec.h:159
EFI_LOCATE_SEARCH_TYPE
Definition: UefiSpec.h:1415
@ ByProtocol
Definition: UefiSpec.h:1428
@ ByRegisterNotify
Definition: UefiSpec.h:1423
@ AllHandles
Definition: UefiSpec.h:1419
EFI_STATUS(EFIAPI * EFI_CLOSE_EVENT)(IN EFI_EVENT Event)
Definition: UefiSpec.h:537
EFI_STATUS(EFIAPI * EFI_GET_TIME)(OUT EFI_TIME *Time, OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL)
Definition: UefiSpec.h:737
VOID(EFIAPI * EFI_RESET_SYSTEM)(IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
Definition: UefiSpec.h:1003
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:256
EFI_STATUS(EFIAPI * EFI_SET_WAKEUP_TIME)(IN BOOLEAN Enable, IN EFI_TIME *Time OPTIONAL)
Definition: UefiSpec.h:797
EFI_STATUS(EFIAPI * EFI_LOCATE_PROTOCOL)(IN EFI_GUID *Protocol, IN VOID *Registration, OPTIONAL OUT VOID **Interface)
Definition: UefiSpec.h:1554
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:138
EFI_STATUS(EFIAPI * EFI_FREE_POOL)(IN VOID *Buffer)
Definition: UefiSpec.h:231
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:1685
EFI_STATUS(EFIAPI * EFI_CHECK_EVENT)(IN EFI_EVENT Event)
Definition: UefiSpec.h:553
EFI_STATUS(EFIAPI * EFI_GET_WAKEUP_TIME)(OUT BOOLEAN *Enabled, OUT BOOLEAN *Pending, OUT EFI_TIME *Time)
Definition: UefiSpec.h:775
EFI_STATUS(EFIAPI * EFI_GET_NEXT_VARIABLE_NAME)(IN OUT UINTN *VariableNameSize, IN OUT CHAR16 *VariableName, IN OUT EFI_GUID *VendorGuid)
Definition: UefiSpec.h:648
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:485
EFI_STATUS(EFIAPI * EFI_REGISTER_PROTOCOL_NOTIFY)(IN EFI_GUID *Protocol, IN EFI_EVENT Event, OUT VOID **Registration)
Definition: UefiSpec.h:1406
#define VOID
Definition: acefi.h:82
BIOS_MEMORY_MAP MemoryMap[32]
Definition: loader.c:11
Definition: bufpool.h:45
#define BufferSize
Definition: mmc.h:75
_Must_inspect_result_ _In_ CONST FLT_REGISTRATION * Registration
Definition: fltkernel.h:991
@ Pending
Definition: fs_rec.h:186
ULONG Handle
Definition: gdb_input.c:15
ASMGENDATA Table[]
Definition: genincdata.c:61
_Must_inspect_result_ typedef _Out_ PHIDP_CAPS Capabilities
Definition: hidclass.h:103
static PLARGE_INTEGER Time
Definition: time.c:105
@ Enabled
Definition: mountmgr.h:159
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
Definition: ndis.h:4755
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
_In_ NTSTATUS ExitStatus
Definition: psfuncs.h:859
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
Definition: rtlfuncs.h:3004
int Count
Definition: noreturn.cpp:7
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
#define CONST
Definition: pedump.c:81
static WCHAR Address[46]
Definition: ping.c:68
static ULONG Timeout
Definition: ping.c:61
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
EFI_ALLOCATE_PAGES AllocatePages
Definition: UefiSpec.h:1810
EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable
Definition: UefiSpec.h:1837
EFI_RESTORE_TPL RestoreTPL
Definition: UefiSpec.h:1805
EFI_SET_TIMER SetTimer
Definition: UefiSpec.h:1820
EFI_IMAGE_START StartImage
Definition: UefiSpec.h:1843
EFI_SET_MEM SetMem
Definition: UefiSpec.h:1886
EFI_FREE_POOL FreePool
Definition: UefiSpec.h:1814
EFI_LOCATE_HANDLE LocateHandle
Definition: UefiSpec.h:1835
EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation
Definition: UefiSpec.h:1866
EFI_CREATE_EVENT CreateEvent
Definition: UefiSpec.h:1819
EFI_IMAGE_UNLOAD UnloadImage
Definition: UefiSpec.h:1845
EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface
Definition: UefiSpec.h:1830
EFI_FREE_PAGES FreePages
Definition: UefiSpec.h:1811
EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle
Definition: UefiSpec.h:1871
EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface
Definition: UefiSpec.h:1829
EFI_DISCONNECT_CONTROLLER DisconnectController
Definition: UefiSpec.h:1859
EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces
Definition: UefiSpec.h:1875
EFI_TABLE_HEADER Hdr
Definition: UefiSpec.h:1799
EFI_LOCATE_PROTOCOL LocateProtocol
Definition: UefiSpec.h:1873
EFI_CLOSE_EVENT CloseEvent
Definition: UefiSpec.h:1823
EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces
Definition: UefiSpec.h:1874
EFI_CLOSE_PROTOCOL CloseProtocol
Definition: UefiSpec.h:1865
EFI_COPY_MEM CopyMem
Definition: UefiSpec.h:1885
EFI_SET_WATCHDOG_TIMER SetWatchdogTimer
Definition: UefiSpec.h:1853
EFI_HANDLE_PROTOCOL HandleProtocol
Definition: UefiSpec.h:1832
EFI_EXIT_BOOT_SERVICES ExitBootServices
Definition: UefiSpec.h:1846
EFI_ALLOCATE_POOL AllocatePool
Definition: UefiSpec.h:1813
EFI_LOCATE_DEVICE_PATH LocateDevicePath
Definition: UefiSpec.h:1836
EFI_RAISE_TPL RaiseTPL
Definition: UefiSpec.h:1804
EFI_CREATE_EVENT_EX CreateEventEx
Definition: UefiSpec.h:1887
EFI_CALCULATE_CRC32 CalculateCrc32
Definition: UefiSpec.h:1880
EFI_GET_MEMORY_MAP GetMemoryMap
Definition: UefiSpec.h:1812
EFI_IMAGE_LOAD LoadImage
Definition: UefiSpec.h:1842
EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify
Definition: UefiSpec.h:1834
EFI_OPEN_PROTOCOL OpenProtocol
Definition: UefiSpec.h:1864
EFI_SIGNAL_EVENT SignalEvent
Definition: UefiSpec.h:1822
EFI_WAIT_FOR_EVENT WaitForEvent
Definition: UefiSpec.h:1821
EFI_STALL Stall
Definition: UefiSpec.h:1852
EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer
Definition: UefiSpec.h:1872
EFI_CHECK_EVENT CheckEvent
Definition: UefiSpec.h:1824
EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount
Definition: UefiSpec.h:1851
EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface
Definition: UefiSpec.h:1831
EFI_CONNECT_CONTROLLER ConnectController
Definition: UefiSpec.h:1858
EFI_PHYSICAL_ADDRESS DataBlock
Definition: UefiSpec.h:1573
EFI_PHYSICAL_ADDRESS ContinuationPointer
Definition: UefiSpec.h:1580
UINT32 CapsuleImageSize
Definition: UefiSpec.h:1607
EFI_GUID CapsuleGuid
Definition: UefiSpec.h:1591
UINT32 CapsuleArrayNumber
Definition: UefiSpec.h:1619
UINT32 BootOptionCrc
Definition: UefiSpec.h:2061
UINT16 BootOption
Definition: UefiSpec.h:2066
EFI_BOOT_KEY_DATA KeyData
Definition: UefiSpec.h:2055
EFI_VIRTUAL_ADDRESS VirtualStart
Definition: UefiSpec.h:104
EFI_PHYSICAL_ADDRESS PhysicalStart
Definition: UefiSpec.h:99
Definition: UefiSpec.h:1329
EFI_HANDLE AgentHandle
Definition: UefiSpec.h:1330
UINT32 OpenCount
Definition: UefiSpec.h:1333
UINT32 Attributes
Definition: UefiSpec.h:1332
EFI_HANDLE ControllerHandle
Definition: UefiSpec.h:1331
EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities
Definition: UefiSpec.h:1780
EFI_CONVERT_POINTER ConvertPointer
Definition: UefiSpec.h:1761
EFI_TABLE_HEADER Hdr
Definition: UefiSpec.h:1747
EFI_UPDATE_CAPSULE UpdateCapsule
Definition: UefiSpec.h:1779
EFI_GET_TIME GetTime
Definition: UefiSpec.h:1752
EFI_SET_VARIABLE SetVariable
Definition: UefiSpec.h:1768
EFI_SET_WAKEUP_TIME SetWakeupTime
Definition: UefiSpec.h:1755
EFI_GET_WAKEUP_TIME GetWakeupTime
Definition: UefiSpec.h:1754
EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName
Definition: UefiSpec.h:1767
EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount
Definition: UefiSpec.h:1773
EFI_QUERY_VARIABLE_INFO QueryVariableInfo
Definition: UefiSpec.h:1785
EFI_SET_TIME SetTime
Definition: UefiSpec.h:1753
EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap
Definition: UefiSpec.h:1760
EFI_GET_VARIABLE GetVariable
Definition: UefiSpec.h:1766
EFI_RESET_SYSTEM ResetSystem
Definition: UefiSpec.h:1774
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * StdErr
Definition: UefiSpec.h:1951
EFI_BOOT_SERVICES * BootServices
Definition: UefiSpec.h:1959
EFI_CONFIGURATION_TABLE * ConfigurationTable
Definition: UefiSpec.h:1968
UINT32 FirmwareRevision
Definition: UefiSpec.h:1922
EFI_HANDLE ConsoleInHandle
Definition: UefiSpec.h:1927
EFI_HANDLE ConsoleOutHandle
Definition: UefiSpec.h:1936
EFI_RUNTIME_SERVICES * RuntimeServices
Definition: UefiSpec.h:1955
EFI_HANDLE StandardErrorHandle
Definition: UefiSpec.h:1946
EFI_SIMPLE_TEXT_INPUT_PROTOCOL * ConIn
Definition: UefiSpec.h:1932
CHAR16 * FirmwareVendor
Definition: UefiSpec.h:1917
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * ConOut
Definition: UefiSpec.h:1941
EFI_TABLE_HEADER Hdr
Definition: UefiSpec.h:1912
UINTN NumberOfTableEntries
Definition: UefiSpec.h:1963
_In_ SIZE_T DescriptorSize
Definition: nls.c:40
#define OPTIONAL
Definition: typedefs.h:41
#define IN
Definition: typedefs.h:39
#define OUT
Definition: typedefs.h:40
UINT32 ControlPressed
Definition: UefiSpec.h:2020
UINT32 SysReqPressed
Definition: UefiSpec.h:2036
UINT32 MenuPressed
Definition: UefiSpec.h:2032
UINT32 LogoPressed
Definition: UefiSpec.h:2028
UINT32 InputKeyCount
Definition: UefiSpec.h:2043
UINT32 ShiftPressed
Definition: UefiSpec.h:2016
UINT32 PackedValue
Definition: UefiSpec.h:2045
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3815
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
Definition: wdfdevice.h:3534
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
Definition: wdffdo.h:463
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
Definition: wdfmemory.h:169
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
Definition: wdfobject.h:762
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413