XenevaOS
Loading...
Searching...
No Matches
UefiLib.h
Go to the documentation of this file.
1
26#ifndef __UEFI_LIB_H__
27#define __UEFI_LIB_H__
28
30
38#include <Protocol/DevicePath.h>
40
41#include <Library/BaseLib.h>
42
50
59
68
79#define EFI_TIMER_PERIOD_MICROSECONDS(Microseconds) MultU64x32((UINT64)(Microseconds), 10)
80
91#define EFI_TIMER_PERIOD_MILLISECONDS(Milliseconds) MultU64x32((UINT64)(Milliseconds), 10000)
92
103#define EFI_TIMER_PERIOD_SECONDS(Seconds) MultU64x32((UINT64)(Seconds), 10000000)
104
116#define NEXT_MEMORY_DESCRIPTOR(MemoryDescriptor, Size) \
117 ((EFI_MEMORY_DESCRIPTOR *)((UINT8 *)(MemoryDescriptor) + (Size)))
118
138EFIAPI
140 IN EFI_GUID *TableGuid,
141 OUT VOID **Table
142 );
143
172EFIAPI
174 IN EFI_GUID *ProtocolGuid,
175 IN EFI_TPL NotifyTpl,
176 IN EFI_EVENT_NOTIFY NotifyFunction,
177 IN VOID *NotifyContext, OPTIONAL
178 OUT VOID **Registration
179 );
180
202EFIAPI
205 IN EFI_TPL NotifyTpl,
206 IN EFI_EVENT_NOTIFY NotifyFunction,
207 IN CONST VOID *NotifyContext, OPTIONAL
208 OUT VOID *Registration OPTIONAL
209 );
210
225EFIAPI
228 );
229
243EFIAPI
245 IN CONST EFI_GUID *EventGroup
246 );
247
257VOID
258EFIAPI
260 IN EFI_EVENT Event,
262 );
263
277EFIAPI
279 VOID
280 );
281
298EFI_LOCK *
299EFIAPI
301 IN OUT EFI_LOCK *Lock,
302 IN EFI_TPL Priority
303 );
304
318#define EFI_INITIALIZE_LOCK_VARIABLE(Priority) \
319 {Priority, TPL_APPLICATION, EfiLockReleased }
320
321
336#if !defined(MDEPKG_NDEBUG)
337 #define ASSERT_LOCKED(LockParameter) \
338 do { \
339 if (DebugAssertEnabled ()) { \
340 ASSERT (LockParameter != NULL); \
341 if ((LockParameter)->Lock != EfiLockAcquired) { \
342 _ASSERT (LockParameter not locked); \
343 } \
344 } \
345 } while (FALSE)
346#else
347 #define ASSERT_LOCKED(LockParameter)
348#endif
349
350
364VOID
365EFIAPI
367 IN EFI_LOCK *Lock
368 );
369
387EFIAPI
389 IN EFI_LOCK *Lock
390 );
391
405VOID
406EFIAPI
408 IN EFI_LOCK *Lock
409 );
410
435EFIAPI
437 IN CONST EFI_HANDLE ControllerHandle,
438 IN CONST EFI_HANDLE DriverBindingHandle,
439 IN CONST EFI_GUID *ProtocolGuid
440 );
441
462EFIAPI
464 IN CONST EFI_HANDLE ControllerHandle,
465 IN CONST EFI_HANDLE ChildHandle,
466 IN CONST EFI_GUID *ProtocolGuid
467 );
468
500EFIAPI
502 IN CONST CHAR8 *Language,
503 IN CONST CHAR8 *SupportedLanguages,
504 IN CONST EFI_UNICODE_STRING_TABLE *UnicodeStringTable,
505 OUT CHAR16 **UnicodeString
506 );
507
549EFIAPI
551 IN CONST CHAR8 *Language,
552 IN CONST CHAR8 *SupportedLanguages,
553 IN CONST EFI_UNICODE_STRING_TABLE *UnicodeStringTable,
554 OUT CHAR16 **UnicodeString,
555 IN BOOLEAN Iso639Language
556 );
557
592EFIAPI
594 IN CONST CHAR8 *Language,
595 IN CONST CHAR8 *SupportedLanguages,
596 IN OUT EFI_UNICODE_STRING_TABLE **UnicodeStringTable,
597 IN CONST CHAR16 *UnicodeString
598 );
599
643EFIAPI
645 IN CONST CHAR8 *Language,
646 IN CONST CHAR8 *SupportedLanguages,
647 IN OUT EFI_UNICODE_STRING_TABLE **UnicodeStringTable,
648 IN CONST CHAR16 *UnicodeString,
649 IN BOOLEAN Iso639Language
650 );
651
665EFIAPI
667 IN EFI_UNICODE_STRING_TABLE *UnicodeStringTable
668 );
669
670#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
671
691VOID *
692EFIAPI
695 IN CONST EFI_GUID *Guid
696 );
697
716VOID *
717EFIAPI
720 );
721#endif
722
723
745EFIAPI
748 IN CONST EFI_GUID *Guid,
749 OUT VOID **Value,
751 );
752
773EFIAPI
776 OUT VOID **Value,
778 );
779
821CHAR8 *
822EFIAPI
824 IN CONST CHAR8 *SupportedLanguages,
825 IN UINTN Iso639Language,
826 ...
827 );
828
847VOID
848EFIAPI
850 IN UINTN Attribute,
852 ...
853 );
854
868UINTN
869EFIAPI
871 IN CHAR16 UnicodeChar
872 );
873
890UINTN
891EFIAPI
893 IN CONST CHAR16 *String
894 );
895
896//
897// Functions that abstract early Framework contamination of UEFI.
898//
908VOID
909EFIAPI
911 VOID
912 );
913
923VOID
924EFIAPI
926 VOID
927 );
928
947EFIAPI
949 OUT EFI_EVENT *LegacyBootEvent
950 );
951
972EFIAPI
974 IN EFI_TPL NotifyTpl,
975 IN EFI_EVENT_NOTIFY NotifyFunction, OPTIONAL
976 IN VOID *NotifyContext, OPTIONAL
977 OUT EFI_EVENT *LegacyBootEvent
978 );
979
998EFIAPI
1000 OUT EFI_EVENT *ReadyToBootEvent
1001 );
1002
1023EFIAPI
1025 IN EFI_TPL NotifyTpl,
1026 IN EFI_EVENT_NOTIFY NotifyFunction, OPTIONAL
1027 IN VOID *NotifyContext, OPTIONAL
1028 OUT EFI_EVENT *ReadyToBootEvent
1029 );
1030
1047VOID
1048EFIAPI
1050 IN OUT MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvDevicePathNode,
1051 IN CONST EFI_GUID *NameGuid
1052 );
1053
1072EFI_GUID *
1073EFIAPI
1076 );
1077
1098UINTN
1099EFIAPI
1102 ...
1103 );
1104
1125UINTN
1126EFIAPI
1129 ...
1130 );
1131
1151UINTN
1152EFIAPI
1155 ...
1156 );
1157
1177UINTN
1178EFIAPI
1181 ...
1182 );
1183
1184
1225UINTN
1226EFIAPI
1228 IN UINTN PointX,
1229 IN UINTN PointY,
1233 ...
1234 );
1235
1275UINTN
1276EFIAPI
1278 IN UINTN PointX,
1279 IN UINTN PointY,
1283 ...
1284 );
1285
1309EFIAPI
1311 IN CONST EFI_HANDLE ImageHandle,
1312 IN CONST EFI_SYSTEM_TABLE *SystemTable,
1313 IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
1314 IN EFI_HANDLE DriverBindingHandle
1315 );
1316
1317
1345EFIAPI
1347 IN CONST EFI_HANDLE ImageHandle,
1348 IN CONST EFI_SYSTEM_TABLE *SystemTable,
1349 IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
1350 IN EFI_HANDLE DriverBindingHandle,
1354 );
1355
1356
1357
1382EFIAPI
1384 IN CONST EFI_HANDLE ImageHandle,
1385 IN CONST EFI_SYSTEM_TABLE *SystemTable,
1386 IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
1387 IN EFI_HANDLE DriverBindingHandle,
1390 );
1391
1392
1423EFIAPI
1425 IN CONST EFI_HANDLE ImageHandle,
1426 IN CONST EFI_SYSTEM_TABLE *SystemTable,
1427 IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
1428 IN EFI_HANDLE DriverBindingHandle,
1435 );
1436
1458CHAR16*
1459EFIAPI
1461 IN CHAR16 *String, OPTIONAL
1462 IN CONST CHAR16 *FormatString,
1463 IN VA_LIST Marker
1464 );
1465
1489CHAR16 *
1490EFIAPI
1492 IN CHAR16 *String, OPTIONAL
1493 IN CONST CHAR16 *FormatString,
1494 ...
1495 );
1496
1521EFIAPI
1523 IN EFI_GUID *Protocol,
1524 OUT UINTN *NoProtocols,
1525 OUT VOID ***Buffer
1526 );
1527
1593EFIAPI
1595 IN OUT EFI_DEVICE_PATH_PROTOCOL **FilePath,
1596 OUT EFI_FILE_PROTOCOL **File,
1597 IN UINT64 OpenMode,
1598 IN UINT64 Attributes
1599 );
1600
1637EFIAPI
1640 IN EFI_ACPI_COMMON_HEADER *PreviousTable OPTIONAL
1641 );
1642
1661EFIAPI
1664 );
1665
1666#endif
char CHAR8
Definition ProcessorBind.h:109
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
CHAR8 * VA_LIST
Definition Base.h:733
#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
uint32_t Signature
Definition pe.h:0
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_STATUS EFIAPI AddUnicodeString2(IN CONST CHAR8 *Language, IN CONST CHAR8 *SupportedLanguages, IN OUT EFI_UNICODE_STRING_TABLE **UnicodeStringTable, IN CONST CHAR16 *UnicodeString, IN BOOLEAN Iso639Language)
EFI_STATUS EFIAPI EfiOpenFileByDevicePath(IN OUT EFI_DEVICE_PATH_PROTOCOL **FilePath, OUT EFI_FILE_PROTOCOL **File, IN UINT64 OpenMode, IN UINT64 Attributes)
EFI_TPL EFIAPI EfiGetCurrentTpl(VOID)
VOID EFIAPI EfiReleaseLock(IN EFI_LOCK *Lock)
EFI_STATUS EFIAPI GetEfiGlobalVariable2(IN CONST CHAR16 *Name, OUT VOID **Value, OUT UINTN *Size OPTIONAL)
VOID *EFIAPI GetVariable(IN CONST CHAR16 *Name, IN CONST EFI_GUID *Guid)
UINTN EFIAPI AsciiErrorPrint(IN CONST CHAR8 *Format,...)
UINTN EFIAPI UnicodeStringDisplayLength(IN CONST CHAR16 *String)
UINTN EFIAPI PrintXY(IN UINTN PointX, IN UINTN PointY, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *ForeGround, OPTIONAL IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BackGround, OPTIONAL IN CONST CHAR16 *Format,...)
UINTN EFIAPI AsciiPrintXY(IN UINTN PointX, IN UINTN PointY, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *ForeGround, OPTIONAL IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BackGround, OPTIONAL IN CONST CHAR8 *Format,...)
EFI_STATUS EFIAPI EfiLibInstallAllDriverProtocols(IN CONST EFI_HANDLE ImageHandle, IN CONST EFI_SYSTEM_TABLE *SystemTable, IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE DriverBindingHandle, IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName, OPTIONAL IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration, OPTIONAL IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL)
VOID *EFIAPI GetEfiGlobalVariable(IN CONST CHAR16 *Name)
EFI_STATUS EFIAPI EfiTestChildHandle(IN CONST EFI_HANDLE ControllerHandle, IN CONST EFI_HANDLE ChildHandle, IN CONST EFI_GUID *ProtocolGuid)
EFI_STATUS EFIAPI EfiAcquireLockOrFail(IN EFI_LOCK *Lock)
VOID EFIAPI EfiEventEmptyFunction(IN EFI_EVENT Event, IN VOID *Context)
EFI_EVENT EFIAPI EfiCreateProtocolNotifyEvent(IN EFI_GUID *ProtocolGuid, IN EFI_TPL NotifyTpl, IN EFI_EVENT_NOTIFY NotifyFunction, IN VOID *NotifyContext, OPTIONAL OUT VOID **Registration)
UINTN EFIAPI AsciiPrint(IN CONST CHAR8 *Format,...)
EFI_STATUS EFIAPI EfiGetSystemConfigurationTable(IN EFI_GUID *TableGuid, OUT VOID **Table)
EFI_STATUS EFIAPI EfiCreateEventReadyToBoot(OUT EFI_EVENT *ReadyToBootEvent)
EFI_STATUS EFIAPI LookupUnicodeString(IN CONST CHAR8 *Language, IN CONST CHAR8 *SupportedLanguages, IN CONST EFI_UNICODE_STRING_TABLE *UnicodeStringTable, OUT CHAR16 **UnicodeString)
EFI_STATUS EFIAPI EfiNamedEventSignal(IN CONST EFI_GUID *Name)
EFI_STATUS EFIAPI EfiEventGroupSignal(IN CONST EFI_GUID *EventGroup)
EFI_STATUS EFIAPI EfiCreateEventLegacyBoot(OUT EFI_EVENT *LegacyBootEvent)
EFI_STATUS EFIAPI GetVariable2(IN CONST CHAR16 *Name, IN CONST EFI_GUID *Guid, OUT VOID **Value, OUT UINTN *Size OPTIONAL)
EFI_ACPI_COMMON_HEADER *EFIAPI EfiLocateNextAcpiTable(IN UINT32 Signature, IN EFI_ACPI_COMMON_HEADER *PreviousTable OPTIONAL)
UINTN EFIAPI ErrorPrint(IN CONST CHAR16 *Format,...)
VOID EFIAPI EfiAcquireLock(IN EFI_LOCK *Lock)
EFI_STATUS EFIAPI EfiLibInstallAllDriverProtocols2(IN CONST EFI_HANDLE ImageHandle, IN CONST EFI_SYSTEM_TABLE *SystemTable, IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE DriverBindingHandle, IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName, OPTIONAL IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2, OPTIONAL IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration, OPTIONAL IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL *DriverConfiguration2, OPTIONAL IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics, OPTIONAL IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *DriverDiagnostics2 OPTIONAL)
EFI_LOCK *EFIAPI EfiInitializeLock(IN OUT EFI_LOCK *Lock, IN EFI_TPL Priority)
CHAR16 *EFIAPI CatSPrint(IN CHAR16 *String, OPTIONAL IN CONST CHAR16 *FormatString,...)
EFI_LOCK_STATE
Definition UefiLib.h:54
@ EfiLockUninitialized
Definition UefiLib.h:55
@ EfiLockAcquired
Definition UefiLib.h:57
@ EfiLockReleased
Definition UefiLib.h:56
EFI_STATUS EFIAPI EfiCreateEventLegacyBootEx(IN EFI_TPL NotifyTpl, IN EFI_EVENT_NOTIFY NotifyFunction, OPTIONAL IN VOID *NotifyContext, OPTIONAL OUT EFI_EVENT *LegacyBootEvent)
VOID EFIAPI EfiInitializeFwVolDevicepathNode(IN OUT MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvDevicePathNode, IN CONST EFI_GUID *NameGuid)
VOID EFIAPI CreatePopUp(IN UINTN Attribute, OUT EFI_INPUT_KEY *Key, OPTIONAL ...)
EFI_STATUS EFIAPI LookupUnicodeString2(IN CONST CHAR8 *Language, IN CONST CHAR8 *SupportedLanguages, IN CONST EFI_UNICODE_STRING_TABLE *UnicodeStringTable, OUT CHAR16 **UnicodeString, IN BOOLEAN Iso639Language)
EFI_ACPI_COMMON_HEADER *EFIAPI EfiLocateFirstAcpiTable(IN UINT32 Signature)
VOID EFIAPI EfiSignalEventLegacyBoot(VOID)
EFI_STATUS EFIAPI EfiLibInstallDriverBindingComponentName2(IN CONST EFI_HANDLE ImageHandle, IN CONST EFI_SYSTEM_TABLE *SystemTable, IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE DriverBindingHandle, IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName, OPTIONAL IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2 OPTIONAL)
EFI_STATUS EFIAPI EfiTestManagedDevice(IN CONST EFI_HANDLE ControllerHandle, IN CONST EFI_HANDLE DriverBindingHandle, IN CONST EFI_GUID *ProtocolGuid)
CHAR16 *EFIAPI CatVSPrint(IN CHAR16 *String, OPTIONAL IN CONST CHAR16 *FormatString, IN VA_LIST Marker)
VOID EFIAPI EfiSignalEventReadyToBoot(VOID)
EFI_STATUS EFIAPI EfiLocateProtocolBuffer(IN EFI_GUID *Protocol, OUT UINTN *NoProtocols, OUT VOID ***Buffer)
EFI_STATUS EFIAPI EfiLibInstallDriverBinding(IN CONST EFI_HANDLE ImageHandle, IN CONST EFI_SYSTEM_TABLE *SystemTable, IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE DriverBindingHandle)
EFI_STATUS EFIAPI EfiNamedEventListen(IN CONST EFI_GUID *Name, IN EFI_TPL NotifyTpl, IN EFI_EVENT_NOTIFY NotifyFunction, IN CONST VOID *NotifyContext, OPTIONAL OUT VOID *Registration OPTIONAL)
UINTN EFIAPI GetGlyphWidth(IN CHAR16 UnicodeChar)
EFI_STATUS EFIAPI EfiCreateEventReadyToBootEx(IN EFI_TPL NotifyTpl, IN EFI_EVENT_NOTIFY NotifyFunction, OPTIONAL IN VOID *NotifyContext, OPTIONAL OUT EFI_EVENT *ReadyToBootEvent)
UINTN EFIAPI Print(IN CONST CHAR16 *Format,...)
EFI_STATUS EFIAPI AddUnicodeString(IN CONST CHAR8 *Language, IN CONST CHAR8 *SupportedLanguages, IN OUT EFI_UNICODE_STRING_TABLE **UnicodeStringTable, IN CONST CHAR16 *UnicodeString)
EFI_STATUS EFIAPI FreeUnicodeStringTable(IN EFI_UNICODE_STRING_TABLE *UnicodeStringTable)
CHAR8 *EFIAPI GetBestLanguage(IN CONST CHAR8 *SupportedLanguages, IN UINTN Iso639Language,...)
EFI_GUID *EFIAPI EfiGetNameGuidFromFwVolDevicePathNode(IN CONST MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvDevicePathNode)
VOID(EFIAPI * EFI_EVENT_NOTIFY)(IN EFI_EVENT Event, IN VOID *Context)
Definition UefiSpec.h:422
#define VOID
Definition acefi.h:190
UINT32 void * Context
Definition acevents.h:322
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char * Format
Definition acpixf.h:1304
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char * Name
Definition acpixf.h:1159
unsigned char BOOLEAN
Definition actypes.h:235
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition Acpi10.h:23
Definition DevicePath.h:49
Definition GraphicsOutput.h:137
Definition SimpleTextIn.h:41
Definition UefiLib.h:63
EFI_TPL Tpl
Definition UefiLib.h:64
EFI_TPL OwnerTpl
Definition UefiLib.h:65
EFI_LOCK_STATE Lock
Definition UefiLib.h:66
Definition UefiSpec.h:1963
Definition UefiLib.h:46
CHAR8 * Language
Definition UefiLib.h:47
CHAR16 * UnicodeString
Definition UefiLib.h:48
Definition Base.h:281
Definition DevicePath.h:1095
Definition ComponentName2.h:156
Definition ComponentName.h:116
Definition DriverBinding.h:163
Definition DriverConfiguration2.h:177
Definition DriverConfiguration.h:152
Definition DriverDiagnostics2.h:100
Definition DriverDiagnostics.h:120
Definition SimpleFileSystem.h:536