1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081 |
- #ifndef _EFILIB_INCLUDE_
- #define _EFILIB_INCLUDE_
- /*++
- Copyright (c) 2000 Intel Corporation
- Module Name:
- efilib.h
- Abstract:
- EFI library functions
- Revision History
- --*/
- #include "efidebug.h"
- #include "efipart.h"
- #if defined(_M_X64) || defined(__x86_64__) || defined(__amd64__)
- #include "x86_64/efilibplat.h"
- #elif defined(_M_IX86) || defined(__i386__)
- #include "ia32/efilibplat.h"
- #elif defined(_M_IA64) || defined(__ia64__)
- #include "ia64/efilibplat.h"
- #elif defined (_M_ARM64) || defined(__aarch64__)
- #include "aarch64/efilibplat.h"
- #elif defined (_M_ARM) || defined(__arm__)
- #include "arm/efilibplat.h"
- #elif defined (_M_MIPS64) || defined(__mips64__)
- #include "mips64el/efilibplat.h"
- #elif defined (__riscv) && __riscv_xlen == 64
- #include "riscv64/efilibplat.h"
- #elif defined (__loongarch64)
- #include "loongarch64/efilibplat.h"
- #endif
- #include "efilink.h"
- #include "efirtlib.h"
- #include "efistdarg.h"
- #include "pci22.h"
- #include "libsmbios.h"
- //
- // Public read-only data in the EFI library
- //
- extern EFI_SYSTEM_TABLE *ST;
- #define gST ST
- extern EFI_BOOT_SERVICES *BS;
- #define gBS BS
- extern EFI_RUNTIME_SERVICES *RT;
- #define gRT RT
- extern EFI_GUID gEfiDevicePathProtocolGuid;
- #define DevicePathProtocol gEfiDevicePathProtocolGuid
- extern EFI_GUID gEfiDevicePathToTextProtocolGuid;
- #define DevicePathToTextProtocol gEfiDevicePathToTextProtocolGuid
- extern EFI_GUID gEfiDevicePathFromTextProtocolGuid;
- #define DevicePathFromTextProtocol gEfiDevicePathFromTextProtocolGuid
- extern EFI_GUID gEfiDevicePathUtilitiesProtocolGuid;
- #define DevicePathUtilitiesProtocol gEfiDevicePathUtilitiesProtocolGuid
- extern EFI_GUID gEfiLoadedImageProtocolGuid;
- #define LoadedImageProtocol gEfiLoadedImageProtocolGuid
- extern EFI_GUID gEfiSimpleTextInProtocolGuid;
- #define TextInProtocol gEfiSimpleTextInProtocolGuid
- extern EFI_GUID gEfiSimpleTextOutProtocolGuid;
- #define TextOutProtocol gEfiSimpleTextOutProtocolGuid
- extern EFI_GUID gEfiGraphicsOutputProtocolGuid;
- #define GraphicsOutputProtocol gEfiGraphicsOutputProtocolGuid
- extern EFI_GUID gEfiEdidDiscoveredProtocolGuid;
- #define EdidDiscoveredProtocol gEfiEdidDiscoveredProtocolGuid
- extern EFI_GUID gEfiEdidActiveProtocolGuid;
- #define EdidActiveProtocol gEfiEdidActiveProtocolGuid
- extern EFI_GUID gEfiEdidOverrideProtocolGuid;
- #define EdidOverrideProtocol gEfiEdidOverrideProtocolGuid
- extern EFI_GUID gEfiBlockIoProtocolGuid;
- #define BlockIoProtocol gEfiBlockIoProtocolGuid
- extern EFI_GUID gEfiBlockIo2ProtocolGuid;
- #define BlockIo2Protocol gEfiBlockIo2ProtocolGuid
- extern EFI_GUID gEfiDiskIoProtocolGuid;
- #define DiskIoProtocol gEfiDiskIoProtocolGuid
- extern EFI_GUID gEfiDiskIo2ProtocolGuid;
- #define DiskIo2Protocol gEfiDiskIo2ProtocolGuid
- extern EFI_GUID gEfiSimpleFileSystemProtocolGuid;
- #define FileSystemProtocol gEfiSimpleFileSystemProtocolGuid
- extern EFI_GUID gEfiLoadFileProtocolGuid;
- #define LoadFileProtocol gEfiLoadFileProtocolGuid
- extern EFI_GUID gEfiDeviceIoProtocolGuid;
- #define DeviceIoProtocol gEfiDeviceIoProtocolGuid
- extern EFI_GUID VariableStoreProtocol;
- extern EFI_GUID LegacyBootProtocol;
- extern EFI_GUID gEfiUnicodeCollationProtocolGuid;
- #define UnicodeCollationProtocol gEfiUnicodeCollationProtocolGuid
- extern EFI_GUID gEfiSerialIoProtocolGuid;
- #define SerialIoProtocol gEfiSerialIoProtocolGuid
- extern EFI_GUID VgaClassProtocol;
- extern EFI_GUID TextOutSpliterProtocol;
- extern EFI_GUID ErrorOutSpliterProtocol;
- extern EFI_GUID TextInSpliterProtocol;
- extern EFI_GUID gEfiSimpleNetworkProtocolGuid;
- #define SimpleNetworkProtocol gEfiSimpleNetworkProtocolGuid
- extern EFI_GUID gEfiPxeBaseCodeProtocolGuid;
- #define PxeBaseCodeProtocol gEfiPxeBaseCodeProtocolGuid
- extern EFI_GUID gEfiPxeBaseCodeCallbackProtocolGuid;
- #define PxeCallbackProtocol gEfiPxeBaseCodeCallbackProtocolGuid
- extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid;
- #define NetworkInterfaceIdentifierProtocol gEfiNetworkInterfaceIdentifierProtocolGuid
- extern EFI_GUID gEFiUiInterfaceProtocolGuid;
- #define UiProtocol gEFiUiInterfaceProtocolGuid
- extern EFI_GUID InternalShellProtocol;
- extern EFI_GUID gEfiPciIoProtocolGuid;
- #define PciIoProtocol gEfiPciIoProtocolGuid
- extern EFI_GUID gEfiPciRootBridgeIoProtocolGuid;
- extern EFI_GUID gEfiDriverBindingProtocolGuid;
- #define DriverBindingProtocol gEfiDriverBindingProtocolGuid
- extern EFI_GUID gEfiComponentNameProtocolGuid;
- #define ComponentNameProtocol gEfiComponentNameProtocolGuid
- extern EFI_GUID gEfiComponentName2ProtocolGuid;
- #define ComponentName2Protocol gEfiComponentName2ProtocolGuid
- extern EFI_GUID gEfiHashProtocolGuid;
- #define HashProtocol gEfiHashProtocolGuid
- extern EFI_GUID gEfiPlatformDriverOverrideProtocolGuid;
- #define PlatformDriverOverrideProtocol gEfiPlatformDriverOverrideProtocolGuid
- extern EFI_GUID gEfiBusSpecificDriverOverrideProtocolGuid;
- #define BusSpecificDriverOverrideProtocol gEfiBusSpecificDriverOverrideProtocolGuid
- extern EFI_GUID gEfiDriverFamilyOverrideProtocolGuid;
- #define DriverFamilyOverrideProtocol gEfiDriverFamilyOverrideProtocolGuid
- extern EFI_GUID gEfiEbcProtocolGuid;
- extern EFI_GUID gEfiGlobalVariableGuid;
- #define EfiGlobalVariable gEfiGlobalVariableGuid
- extern EFI_GUID gEfiFileInfoGuid;
- #define GenericFileInfo gEfiFileInfoGuid
- extern EFI_GUID gEfiFileSystemInfoGuid;
- #define FileSystemInfo gEfiFileSystemInfoGuid
- extern EFI_GUID gEfiFileSystemVolumeLabelInfoIdGuid;
- #define FileSystemVolumeLabelInfo gEfiFileSystemVolumeLabelInfoIdGuid
- extern EFI_GUID gEfiPcAnsiGuid;
- #define PcAnsiProtocol gEfiPcAnsiGuid
- extern EFI_GUID gEfiVT100Guid;
- #define Vt100Protocol gEfiVT100Guid
- extern EFI_GUID gEfiVT100PlusGuid;
- extern EFI_GUID gEfiVTUTF8Guid;
- extern EFI_GUID NullGuid;
- extern EFI_GUID UnknownDevice;
- extern EFI_GUID EfiPartTypeSystemPartitionGuid;
- extern EFI_GUID EfiPartTypeLegacyMbrGuid;
- extern EFI_GUID MpsTableGuid;
- extern EFI_GUID AcpiTableGuid;
- extern EFI_GUID SMBIOSTableGuid;
- extern EFI_GUID SMBIOS3TableGuid;
- extern EFI_GUID SalSystemTableGuid;
- extern EFI_GUID EfiDtbTableGuid;
- extern EFI_GUID SimplePointerProtocol;
- extern EFI_GUID AbsolutePointerProtocol;
- extern EFI_GUID gEfiDebugImageInfoTableGuid;
- extern EFI_GUID gEfiDebugSupportProtocolGuid;
- extern EFI_GUID SimpleTextInputExProtocol;
- extern EFI_GUID ShellProtocolGuid;
- extern EFI_GUID ShellParametersProtocolGuid;
- extern EFI_GUID ShellDynamicCommandProtocolGuid;
- //
- // EFI Variable strings
- //
- #define LOAD_OPTION_ACTIVE 0x00000001
- #define VarLanguageCodes L"LangCodes"
- #define VarLanguage L"Lang"
- #define VarTimeout L"Timeout"
- #define VarConsoleInp L"ConIn"
- #define VarConsoleOut L"ConOut"
- #define VarErrorOut L"ErrOut"
- #define VarBootOption L"Boot%04x"
- #define VarBootOrder L"BootOrder"
- #define VarBootNext L"BootNext"
- #define VarBootCurrent L"BootCurrent"
- #define VarDriverOption L"Driver%04x"
- #define VarDriverOrder L"DriverOrder"
- #define VarConsoleInpDev L"ConInDev"
- #define VarConsoleOutDev L"ConOutDev"
- #define VarErrorOutDev L"ErrOutDev"
- #define LanguageCodeEnglish "eng"
- extern EFI_DEVICE_PATH RootDevicePath[];
- extern EFI_DEVICE_PATH EndDevicePath[];
- extern EFI_DEVICE_PATH EndInstanceDevicePath[];
- //
- // Other public data in the EFI library
- //
- extern EFI_MEMORY_TYPE PoolAllocationType;
- //
- // STATIC - Name is internal to the module
- // INTERNAL - Name is internal to the component (i.e., directory)
- // BOOTSERVCE - Name of a boot service function
- //
- #define STATIC
- #define INTERNAL
- #define BOOTSERVICE
- //
- // Prototypes
- //
- VOID
- InitializeLib (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- );
- VOID
- InitializeUnicodeSupport (
- CHAR8 *LangCode
- );
- VOID
- EFIDebugVariable (
- VOID
- );
- VOID
- Exit(
- IN EFI_STATUS ExitStatus,
- IN UINTN ExitDataSize,
- IN CHAR16 *ExitData OPTIONAL
- );
- INTN
- GetShellArgcArgv(
- EFI_HANDLE ImageHandle,
- CHAR16 **Argv[] /* Statically allocated */
- );
- VOID
- SetCrc (
- IN OUT EFI_TABLE_HEADER *Hdr
- );
- VOID
- SetCrcAltSize (
- IN UINTN Size,
- IN OUT EFI_TABLE_HEADER *Hdr
- );
- BOOLEAN
- CheckCrc (
- IN UINTN MaxSize,
- IN OUT EFI_TABLE_HEADER *Hdr
- );
- BOOLEAN
- CheckCrcAltSize (
- IN UINTN MaxSize,
- IN UINTN Size,
- IN OUT EFI_TABLE_HEADER *Hdr
- );
- UINT32
- CalculateCrc (
- UINT8 *pt,
- UINTN Size
- );
- VOID
- ZeroMem (
- IN VOID *Buffer,
- IN UINTN Size
- );
- VOID
- SetMem (
- IN VOID *Buffer,
- IN UINTN Size,
- IN UINT8 Value
- );
- VOID
- CopyMem (
- IN VOID *Dest,
- IN CONST VOID *Src,
- IN UINTN len
- );
- INTN
- CompareMem (
- IN CONST VOID *Dest,
- IN CONST VOID *Src,
- IN UINTN len
- );
- INTN
- StrCmp (
- IN CONST CHAR16 *s1,
- IN CONST CHAR16 *s2
- );
- INTN
- StrnCmp (
- IN CONST CHAR16 *s1,
- IN CONST CHAR16 *s2,
- IN UINTN len
- );
- INTN
- StriCmp (
- IN CONST CHAR16 *s1,
- IN CONST CHAR16 *s2
- );
- VOID
- StrLwr (
- IN CHAR16 *Str
- );
- VOID
- StrUpr (
- IN CHAR16 *Str
- );
- VOID
- StrCpy (
- IN CHAR16 *Dest,
- IN CONST CHAR16 *Src
- );
- VOID
- StrnCpy (
- IN CHAR16 *Dest,
- IN CONST CHAR16 *Src,
- IN UINTN Len
- );
- CHAR16 *
- StpCpy (
- IN CHAR16 *Dest,
- IN CONST CHAR16 *Src
- );
- CHAR16 *
- StpnCpy (
- IN CHAR16 *Dest,
- IN CONST CHAR16 *Src,
- IN UINTN Len
- );
- VOID
- StrCat (
- IN CHAR16 *Dest,
- IN CONST CHAR16 *Src
- );
- VOID
- StrnCat (
- IN CHAR16 *Dest,
- IN CONST CHAR16 *Src,
- IN UINTN Len
- );
- UINTN
- StrLen (
- IN CONST CHAR16 *s1
- );
- UINTN
- StrnLen (
- IN CONST CHAR16 *s1,
- IN UINTN Len
- );
- UINTN
- StrSize (
- IN CONST CHAR16 *s1
- );
- CHAR16 *
- StrDuplicate (
- IN CONST CHAR16 *Src
- );
- UINTN
- strlena (
- IN CONST CHAR8 *s1
- );
- UINTN
- strcmpa (
- IN CONST CHAR8 *s1,
- IN CONST CHAR8 *s2
- );
- UINTN
- strncmpa (
- IN CONST CHAR8 *s1,
- IN CONST CHAR8 *s2,
- IN UINTN len
- );
- UINTN
- xtoi (
- CONST CHAR16 *str
- );
- UINTN
- Atoi (
- CONST CHAR16 *str
- );
- BOOLEAN
- MetaMatch (
- IN CHAR16 *String,
- IN CHAR16 *Pattern
- );
- BOOLEAN
- MetaiMatch (
- IN CHAR16 *String,
- IN CHAR16 *Pattern
- );
- UINT64
- LShiftU64 (
- IN UINT64 Operand,
- IN UINTN Count
- );
- UINT64
- RShiftU64 (
- IN UINT64 Operand,
- IN UINTN Count
- );
- UINT64
- MultU64x32 (
- IN UINT64 Multiplicand,
- IN UINTN Multiplier
- );
- UINT64
- DivU64x32 (
- IN UINT64 Dividend,
- IN UINTN Divisor,
- OUT UINTN *Remainder OPTIONAL
- );
- VOID
- InitializeLock (
- IN OUT FLOCK *Lock,
- IN EFI_TPL Priority
- );
- VOID
- AcquireLock (
- IN FLOCK *Lock
- );
- VOID
- ReleaseLock (
- IN FLOCK *Lock
- );
- INTN
- CompareGuid(
- IN EFI_GUID *Guid1,
- IN EFI_GUID *Guid2
- );
- VOID *
- AllocatePool (
- IN UINTN Size
- );
- VOID *
- AllocateZeroPool (
- IN UINTN Size
- );
- VOID *
- ReallocatePool (
- IN VOID *OldPool,
- IN UINTN OldSize,
- IN UINTN NewSize
- );
- VOID
- FreePool (
- IN VOID *p
- );
- VOID
- Output (
- IN CHAR16 *Str
- );
- VOID
- Input (
- IN CHAR16 *Prompt OPTIONAL,
- OUT CHAR16 *InStr,
- IN UINTN StrLen
- );
- VOID
- IInput (
- IN SIMPLE_TEXT_OUTPUT_INTERFACE *ConOut,
- IN SIMPLE_INPUT_INTERFACE *ConIn,
- IN CHAR16 *Prompt OPTIONAL,
- OUT CHAR16 *InStr,
- IN UINTN StrLen
- );
- UINTN
- Print (
- IN CONST CHAR16 *fmt,
- ...
- );
- UINTN
- VPrint (
- IN CONST CHAR16 *fmt,
- va_list args
- );
- UINTN
- UnicodeSPrint (
- OUT CHAR16 *Str,
- IN UINTN StrSize,
- IN CONST CHAR16 *fmt,
- ...
- );
- UINTN
- UnicodeVSPrint (
- OUT CHAR16 *Str,
- IN UINTN StrSize,
- IN CONST CHAR16 *fmt,
- va_list args
- );
- CHAR16 *
- VPoolPrint (
- IN CONST CHAR16 *fmt,
- va_list args
- );
- CHAR16 *
- PoolPrint (
- IN CONST CHAR16 *fmt,
- ...
- );
- typedef struct {
- CHAR16 *str;
- UINTN len;
- UINTN maxlen;
- } POOL_PRINT;
- CHAR16 *
- CatPrint (
- IN OUT POOL_PRINT *Str,
- IN CONST CHAR16 *fmt,
- ...
- );
- UINTN
- PrintAt (
- IN UINTN Column,
- IN UINTN Row,
- IN CONST CHAR16 *fmt,
- ...
- );
- UINTN
- IPrint (
- IN SIMPLE_TEXT_OUTPUT_INTERFACE *Out,
- IN CONST CHAR16 *fmt,
- ...
- );
- UINTN
- IPrintAt (
- IN SIMPLE_TEXT_OUTPUT_INTERFACE *Out,
- IN UINTN Column,
- IN UINTN Row,
- IN CONST CHAR16 *fmt,
- ...
- );
- UINTN
- AsciiPrint (
- IN CONST CHAR8 *fmt,
- ...
- );
- UINTN
- AsciiVSPrint(
- OUT CHAR8 *Str,
- IN UINTN StrSize,
- IN CONST CHAR8 *fmt,
- va_list args
- );
- //
- // For compatibility with previous gnu-efi versions
- //
- #define SPrint UnicodeSPrint
- #define VSPrint UnicodeVSPrint
- #define APrint AsciiPrint
- VOID
- ValueToHex (
- IN CHAR16 *Buffer,
- IN UINT64 v
- );
- VOID
- ValueToString (
- IN CHAR16 *Buffer,
- IN BOOLEAN Comma,
- IN INT64 v
- );
- VOID
- FloatToString (
- IN CHAR16 *Buffer,
- IN BOOLEAN Comma,
- IN double v
- );
- VOID
- TimeToString (
- OUT CHAR16 *Buffer,
- IN EFI_TIME *Time
- );
- VOID
- GuidToString (
- OUT CHAR16 *Buffer,
- IN EFI_GUID *Guid
- );
- VOID
- StatusToString (
- OUT CHAR16 *Buffer,
- EFI_STATUS Status
- );
- VOID
- DumpHex (
- IN UINTN Indent,
- IN UINTN Offset,
- IN UINTN DataSize,
- IN VOID *UserData
- );
- BOOLEAN
- GrowBuffer(
- IN OUT EFI_STATUS *Status,
- IN OUT VOID **Buffer,
- IN UINTN BufferSize
- );
- EFI_MEMORY_DESCRIPTOR *
- LibMemoryMap (
- OUT UINTN *NoEntries,
- OUT UINTN *MapKey,
- OUT UINTN *DescriptorSize,
- OUT UINT32 *DescriptorVersion
- );
- VOID *
- LibGetVariable (
- IN CHAR16 *Name,
- IN EFI_GUID *VendorGuid
- );
- VOID *
- LibGetVariableAndSize (
- IN CHAR16 *Name,
- IN EFI_GUID *VendorGuid,
- OUT UINTN *VarSize
- );
- EFI_STATUS
- LibDeleteVariable (
- IN CHAR16 *VarName,
- IN EFI_GUID *VarGuid
- );
- EFI_STATUS
- LibSetNVVariable (
- IN CHAR16 *VarName,
- IN EFI_GUID *VarGuid,
- IN UINTN DataSize,
- IN VOID *Data
- );
- EFI_STATUS
- LibSetVariable (
- IN CHAR16 *VarName,
- IN EFI_GUID *VarGuid,
- IN UINTN DataSize,
- IN VOID *Data
- );
- EFI_STATUS
- LibInsertToTailOfBootOrder (
- IN UINT16 BootOption,
- IN BOOLEAN OnlyInsertIfEmpty
- );
- EFI_STATUS
- LibLocateProtocol (
- IN EFI_GUID *ProtocolGuid,
- OUT VOID **Interface
- );
- EFI_STATUS
- LibLocateHandle (
- IN EFI_LOCATE_SEARCH_TYPE SearchType,
- IN EFI_GUID *Protocol OPTIONAL,
- IN VOID *SearchKey OPTIONAL,
- IN OUT UINTN *NoHandles,
- OUT EFI_HANDLE **Buffer
- );
- EFI_STATUS
- LibLocateHandleByDiskSignature (
- IN UINT8 MBRType,
- IN UINT8 SignatureType,
- IN VOID *Signature,
- IN OUT UINTN *NoHandles,
- OUT EFI_HANDLE **Buffer
- );
- EFI_STATUS
- LibInstallProtocolInterfaces (
- IN OUT EFI_HANDLE *Handle,
- ...
- );
- VOID
- LibUninstallProtocolInterfaces (
- IN EFI_HANDLE Handle,
- ...
- );
- EFI_STATUS
- LibReinstallProtocolInterfaces (
- IN OUT EFI_HANDLE *Handle,
- ...
- );
- EFI_EVENT
- LibCreateProtocolNotifyEvent (
- IN EFI_GUID *ProtocolGuid,
- IN EFI_TPL NotifyTpl,
- IN EFI_EVENT_NOTIFY NotifyFunction,
- IN VOID *NotifyContext,
- OUT VOID *Registration
- );
- EFI_STATUS
- WaitForSingleEvent (
- IN EFI_EVENT Event,
- IN UINT64 Timeout OPTIONAL
- );
- VOID
- WaitForEventWithTimeout (
- IN EFI_EVENT Event,
- IN UINTN Timeout,
- IN UINTN Row,
- IN UINTN Column,
- IN CHAR16 *String,
- IN EFI_INPUT_KEY TimeoutKey,
- OUT EFI_INPUT_KEY *Key
- );
- EFI_FILE_HANDLE
- LibOpenRoot (
- IN EFI_HANDLE DeviceHandle
- );
- EFI_FILE_INFO *
- LibFileInfo (
- IN EFI_FILE_HANDLE FHand
- );
- EFI_FILE_SYSTEM_INFO *
- LibFileSystemInfo (
- IN EFI_FILE_HANDLE FHand
- );
- EFI_FILE_SYSTEM_VOLUME_LABEL_INFO *
- LibFileSystemVolumeLabelInfo (
- IN EFI_FILE_HANDLE FHand
- );
- BOOLEAN
- ValidMBR(
- IN MASTER_BOOT_RECORD *Mbr,
- IN EFI_BLOCK_IO *BlkIo
- );
- BOOLEAN
- LibMatchDevicePaths (
- IN EFI_DEVICE_PATH *Multi,
- IN EFI_DEVICE_PATH *Single
- );
- EFI_DEVICE_PATH *
- LibDuplicateDevicePathInstance (
- IN EFI_DEVICE_PATH *DevPath
- );
- EFI_DEVICE_PATH *
- DevicePathFromHandle (
- IN EFI_HANDLE Handle
- );
- EFI_DEVICE_PATH *
- DevicePathInstance (
- IN OUT EFI_DEVICE_PATH **DevicePath,
- OUT UINTN *Size
- );
- UINTN
- DevicePathInstanceCount (
- IN EFI_DEVICE_PATH *DevicePath
- );
- EFI_DEVICE_PATH *
- AppendDevicePath (
- IN EFI_DEVICE_PATH *Src1,
- IN EFI_DEVICE_PATH *Src2
- );
- EFI_DEVICE_PATH *
- AppendDevicePathNode (
- IN EFI_DEVICE_PATH *Src1,
- IN EFI_DEVICE_PATH *Src2
- );
- EFI_DEVICE_PATH*
- AppendDevicePathInstance (
- IN EFI_DEVICE_PATH *Src,
- IN EFI_DEVICE_PATH *Instance
- );
- EFI_DEVICE_PATH *
- FileDevicePath (
- IN EFI_HANDLE Device OPTIONAL,
- IN CHAR16 *FileName
- );
- UINTN
- DevicePathSize (
- IN EFI_DEVICE_PATH *DevPath
- );
- EFI_DEVICE_PATH *
- DuplicateDevicePath (
- IN EFI_DEVICE_PATH *DevPath
- );
- EFI_DEVICE_PATH *
- UnpackDevicePath (
- IN EFI_DEVICE_PATH *DevPath
- );
- EFI_STATUS
- LibDevicePathToInterface (
- IN EFI_GUID *Protocol,
- IN EFI_DEVICE_PATH *FilePath,
- OUT VOID **Interface
- );
- CHAR16 *
- DevicePathToStr (
- EFI_DEVICE_PATH *DevPath
- );
- //
- // BugBug: I need my own include files
- //
- typedef struct {
- UINT8 Register;
- UINT8 Function;
- UINT8 Device;
- UINT8 Bus;
- UINT32 Reserved;
- } EFI_ADDRESS;
- typedef union {
- UINT64 Address;
- EFI_ADDRESS EfiAddress;
- } EFI_PCI_ADDRESS_UNION;
- EFI_STATUS
- PciFindDeviceClass (
- IN OUT EFI_PCI_ADDRESS_UNION *Address,
- IN UINT8 BaseClass,
- IN UINT8 SubClass
- );
- EFI_STATUS
- PciFindDevice (
- IN OUT EFI_PCI_ADDRESS_UNION *DeviceAddress,
- IN UINT16 VendorId,
- IN UINT16 DeviceId,
- IN OUT PCI_TYPE00 *Pci
- );
- //
- // SIMPLE_READ_FILE object used to access files
- //
- typedef VOID *SIMPLE_READ_FILE;
- EFI_STATUS
- OpenSimpleReadFile (
- IN BOOLEAN BootPolicy,
- IN VOID *SourceBuffer OPTIONAL,
- IN UINTN SourceSize,
- IN OUT EFI_DEVICE_PATH **FilePath,
- OUT EFI_HANDLE *DeviceHandle,
- OUT SIMPLE_READ_FILE *SimpleReadHandle
- );
- EFI_STATUS
- ReadSimpleReadFile (
- IN SIMPLE_READ_FILE SimpleReadHandle,
- IN UINTN Offset,
- IN OUT UINTN *ReadSize,
- OUT VOID *Buffer
- );
- VOID
- CloseSimpleReadFile (
- IN SIMPLE_READ_FILE SimpleReadHandle
- );
- VOID
- InitializeGuid (
- VOID
- );
- UINT8
- DecimaltoBCD(
- IN UINT8 DecValue
- );
- UINT8
- BCDtoDecimal(
- IN UINT8 BcdValue
- );
- EFI_STATUS
- LibGetSystemConfigurationTable(
- IN EFI_GUID *TableGuid,
- IN OUT VOID **Table
- );
- BOOLEAN
- LibIsValidTextGraphics (
- IN CHAR16 Graphic,
- OUT CHAR8 *PcAnsi, OPTIONAL
- OUT CHAR8 *Ascii OPTIONAL
- );
- BOOLEAN
- IsValidAscii (
- IN CHAR16 Ascii
- );
- BOOLEAN
- IsValidEfiCntlChar (
- IN CHAR16 c
- );
- CHAR16 *
- LibGetUiString (
- IN EFI_HANDLE Handle,
- IN UI_STRING_TYPE StringType,
- IN ISO_639_2 *LangCode,
- IN BOOLEAN ReturnDevicePathStrOnMismatch
- );
- CHAR8*
- LibGetSmbiosString (
- IN SMBIOS_STRUCTURE_POINTER *Smbios,
- IN UINT16 StringNumber
- );
- EFI_STATUS
- LibGetSmbiosSystemGuidAndSerialNumber (
- IN EFI_GUID *SystemGuid,
- OUT CHAR8 **SystemSerialNumber
- );
- EFI_STATUS
- InitializeGlobalIoDevice (
- IN EFI_DEVICE_PATH *DevicePath,
- IN EFI_GUID *Protocol,
- IN CHAR8 *ErrorStr,
- OUT EFI_DEVICE_IO_INTERFACE **GlobalIoFncs
- );
- UINT32
- ReadPort (
- IN EFI_DEVICE_IO_INTERFACE *GlobalIoFncs,
- IN EFI_IO_WIDTH Width,
- IN UINTN Port
- );
- UINT32
- WritePort (
- IN EFI_DEVICE_IO_INTERFACE *GlobalIoFncs,
- IN EFI_IO_WIDTH Width,
- IN UINTN Port,
- IN UINTN Data
- );
- UINT32
- ReadPciConfig (
- IN EFI_DEVICE_IO_INTERFACE *GlobalIoFncs,
- IN EFI_IO_WIDTH Width,
- IN UINTN Port
- );
- UINT32
- WritePciConfig (
- IN EFI_DEVICE_IO_INTERFACE *GlobalIoFncs,
- IN EFI_IO_WIDTH Width,
- IN UINTN Port,
- IN UINTN Data
- );
- VOID
- Pause (
- VOID
- );
- extern EFI_DEVICE_IO_INTERFACE *GlobalIoFncs;
- #define outp(_Port, _DataByte) (UINT8)WritePort(GlobalIoFncs, IO_UINT8, (UINTN)_Port, (UINTN)_DataByte)
- #define inp(_Port) (UINT8)ReadPort(GlobalIoFncs, IO_UINT8, (UINTN)_Port)
- #define outpw(_Port, _DataByte) (UINT16)WritePort(GlobalIoFncs, IO_UINT16, (UINTN)_Port, (UINTN)_DataByte)
- #define inpw(_Port) (UINT16)ReadPort(GlobalIoFncs, IO_UINT16, (UINTN)_Port)
- #define outpd(_Port, _DataByte) (UINT32)WritePort(GlobalIoFncs, IO_UINT32, (UINTN)_Port, (UINTN)_DataByte)
- #define inpd(_Port) (UINT32)ReadPort(GlobalIoFncs, IO_UINT32, (UINTN)_Port)
- #define writepci8(_Addr, _DataByte) (UINT8)WritePciConfig(GlobalIoFncs, IO_UINT8, (UINTN)_Addr, (UINTN)_DataByte)
- #define readpci8(_Addr) (UINT8)ReadPciConfig(GlobalIoFncs, IO_UINT8, (UINTN)_Addr)
- #define writepci16(_Addr, _DataByte) (UINT16)WritePciConfig(GlobalIoFncs, IO_UINT16, (UINTN)_Addr, (UINTN)_DataByte)
- #define readpci16(_Addr) (UINT16)ReadPciConfig(GlobalIoFncs, IO_UINT16, (UINTN)_Addr)
- #define writepci32(_Addr, _DataByte) (UINT32)WritePciConfig(GlobalIoFncs, IO_UINT32, (UINTN)_Addr, (UINTN)_DataByte)
- #define readpci32(_Addr) (UINT32)ReadPciConfig(GlobalIoFncs, IO_UINT32, (UINTN)_Addr)
- #define Port80(_PostCode) GlobalIoFncs->Io.Write (GlobalIoFncs, IO_UINT16, (UINT64)0x80, 1, &(_PostCode))
- #endif
|