diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /Include/EdkIICommon.h | |
download | zprj-b7c51c9cf4864df6aabb99a1ae843becd577237c.tar.xz |
Diffstat (limited to 'Include/EdkIICommon.h')
-rw-r--r-- | Include/EdkIICommon.h | 291 |
1 files changed, 291 insertions, 0 deletions
diff --git a/Include/EdkIICommon.h b/Include/EdkIICommon.h new file mode 100644 index 0000000..2106927 --- /dev/null +++ b/Include/EdkIICommon.h @@ -0,0 +1,291 @@ +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2009, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** + +//********************************************************************** +// $Header: /Alaska/SOURCE/Core/EdkIICompLib/EdkIICommon.h 2 5/13/11 5:50p Artems $ +// +// $Revision: 2 $ +// +// $Date: 5/13/11 5:50p $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Core/EdkIICompLib/EdkIICommon.h $ +// +// 2 5/13/11 5:50p Artems +// Renamed function EfiCompareGuid with native EdkII CompareGuid +// +// 1 5/05/11 5:04p Artems +// EdkII compatibility library headers +// +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: <EdkIICommon.h> +// +// Description: +// +//<AMI_FHDR_END> +//********************************************************************** +#ifndef __EDKII_COMMON__H__ +#define __EDKII_COMMON__H__ +#ifdef __cplusplus +extern "C" { +#endif + +#include <Efi.h> +#include <Protocol/DevicePath.h> +#include <Protocol/SimpleTextIn.h> +#include <Protocol/SimpleTextOut.h> + +#ifndef END_DEVICE_PATH_TYPE +#define END_DEVICE_PATH_TYPE 0x7f +#endif + +#define END_ENTIRE_DEVICE_PATH_SUBTYPE 0xFF +#define EFI_DP_TYPE_MASK 0x7F +#define EFI_DP_TYPE_UNPACKED 0x80 +#define END_INSTANCE_DEVICE_PATH_SUBTYPE 0x01 + +#define DevicePathType(a) ( ((a)->Type) & EFI_DP_TYPE_MASK ) +#define DevicePathSubType(a) ( (a)->SubType ) +#define DevicePathNodeLength(a) ( ((a)->Length[0]) | ((a)->Length[1] << 8) ) + +#define IsDevicePathEndType(a) ( DevicePathType(a) == END_DEVICE_PATH_TYPE ) +#define IsDevicePathEndSubType(a) ( (a)->SubType == END_ENTIRE_DEVICE_PATH_SUBTYPE ) +#define IsDevicePathEnd(a) ( IsDevicePathEndType(a) && IsDevicePathEndSubType(a) ) +#define NextDevicePathNode(a) ( (EFI_DEVICE_PATH_PROTOCOL *) ( ((UINT8 *) (a)) + DevicePathNodeLength(a))) + +#define SIGNATURE_16(A,B) ((A) | (B<<8)) +#define SIGNATURE_32(A,B,C,D) (SIGNATURE_16(A,B) | (SIGNATURE_16(C,D) << 16)) +#define SIGNATURE_64(A,B,C,D,E,F,G,H) (SIGNATURE_32(A,B,C,D) | ((UINT64)(SIGNATURE_32(E,F,G,H)) << 32)) + +#define MIN(a,b) (((a) < (b)) ? (a) : (b)) +#define MAX(a,b) (((a) > (b)) ? (a) : (b)) + +#define CHAR_NULL 0x0000 +#define CHAR_BACKSPACE 0x0008 +#define CHAR_TAB 0x0009 +#define CHAR_LINEFEED 0x000A +#define CHAR_CARRIAGE_RETURN 0x000D + +#define SCAN_NULL EFI_SCAN_NULL +#define SCAN_UP EFI_SCAN_UP +#define SCAN_DOWN EFI_SCAN_DN +#define SCAN_RIGHT EFI_SCAN_RIGHT +#define SCAN_LEFT EFI_SCAN_LEFT +#define SCAN_HOME EFI_SCAN_HOME +#define SCAN_END EFI_SCAN_END +#define SCAN_INSERT EFI_SCAN_INS +#define SCAN_DELETE EFI_SCAN_DEL +#define SCAN_PAGE_UP EFI_SCAN_PGUP +#define SCAN_PAGE_DOWN EFI_SCAN_PGDN +#define SCAN_F1 EFI_SCAN_F1 +#define SCAN_F2 EFI_SCAN_F2 +#define SCAN_F3 EFI_SCAN_F3 +#define SCAN_F4 EFI_SCAN_F4 +#define SCAN_F5 EFI_SCAN_F5 +#define SCAN_F6 EFI_SCAN_F6 +#define SCAN_F7 EFI_SCAN_F7 +#define SCAN_F8 EFI_SCAN_F8 +#define SCAN_F9 EFI_SCAN_F9 +#define SCAN_F10 EFI_SCAN_F10 +#define SCAN_F11 EFI_SCAN_F11 +#define SCAN_F12 EFI_SCAN_F12 +#define SCAN_ESC EFI_SCAN_ESC + + +#define _EFI_INT_SIZE_OF(n) ((sizeof (n) + sizeof (UINTN) - 1) &~(sizeof (UINTN) - 1)) + +#ifndef VA_START + +typedef CHAR8 *VA_LIST; +#define VA_START(ap, v) (ap = (VA_LIST) & (v) + _EFI_INT_SIZE_OF (v)) +#define VA_ARG(ap, t) (*(t *) ((ap += _EFI_INT_SIZE_OF (t)) - _EFI_INT_SIZE_OF (t))) +#define VA_END(ap) (ap = (VA_LIST) 0) + +#endif + + +EFI_BOOT_SERVICES *gBS; +EFI_RUNTIME_SERVICES *gRT; +EFI_SYSTEM_TABLE *gST; + +INTN CompareMem( + IN VOID *DestinationBuffer, + IN VOID *SourceBuffer, + IN UINTN Length +); + + +VOID* CopyMem ( + OUT VOID *DestinationBuffer, + IN VOID *SourceBuffer, + IN UINTN Length +); + +VOID* SetMem16 ( + OUT VOID *Buffer, + IN UINTN Length, + IN UINT16 Value +); + + +BOOLEAN CompareGuid( + IN EFI_GUID *Guid1, + IN EFI_GUID *Guid2 +); + + +VOID* AllocateCopyPool( + IN UINTN AllocationSize, + IN CONST VOID *Buffer +); + +VOID* AllocateZeroPool( + IN UINTN AllocationSize +); + +VOID* AllocateRuntimePool( + IN UINTN AllocationSize +); + +VOID* AllocatePool( + IN UINTN AllocationSize +); + +VOID* ReallocatePool ( + IN UINTN OldSize, + IN UINTN NewSize, + IN VOID *OldBuffer OPTIONAL +); + +VOID FreePool( + IN VOID *Buffer +); + +EFI_DEVICE_PATH_PROTOCOL* DevicePathFromHandle( + IN EFI_HANDLE Handle +); + +UINTN GetDevicePathSize( + IN EFI_DEVICE_PATH_PROTOCOL *DevicePath +); + +UINTN UnicodeSPrint ( + OUT CHAR16 *StartOfBuffer, + IN UINTN BufferSize, + IN CHAR16 *FormatString, + ... +); + +UINTN UnicodeVSPrint ( + OUT CHAR16 *StartOfBuffer, + IN UINTN BufferSize, + IN CHAR16 *FormatString, + IN VA_LIST Marker +); + +EFI_STATUS EfiGetSystemConfigurationTable( + IN EFI_GUID *TableGuid, + OUT VOID **Table +); + + +VOID* ZeroMem ( + OUT VOID *Buffer, + IN UINTN Length +); + + +EFI_GUID* CopyGuid ( + OUT EFI_GUID *DestinationGuid, + IN EFI_GUID *SourceGuid +); + +VOID InitEfiPointers( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable +); + +VOID +EFIAPI +CreatePopUp ( + IN UINTN Attribute, + OUT EFI_INPUT_KEY *Key, OPTIONAL + ... + ); + +UINTN StrLen ( + IN CHAR16 *String +); + +INTN StrCmp ( + IN CHAR16 *FirstString, + IN CHAR16 *SecondString +); + +UINTN StrSize ( + IN CHAR16 *String +); + +CHAR16* StrCpy ( + OUT CHAR16 *Destination, + IN CHAR16 *Source +); + +CHAR16* StrCat ( + IN OUT CHAR16 *Destination, + IN CHAR16 *Source +); + +UINTN AsciiStrLen ( + IN CHAR8 *String +); + +CHAR16* ConvertDeviceNodeToText ( + IN CONST EFI_DEVICE_PATH_PROTOCOL *DeviceNode, + IN BOOLEAN DisplayOnly, + IN BOOLEAN AllowShortcuts +); + +CHAR16* ConvertDevicePathToText ( + IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath, + IN BOOLEAN DisplayOnly, + IN BOOLEAN AllowShortcuts +); + +VOID* GetEfiGlobalVariable ( + IN CHAR16 *Name +); + +/****** DO NOT WRITE BELOW THIS LINE *******/ +#ifdef __cplusplus +} +#endif +#endif +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2009, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//**********************************************************************
\ No newline at end of file |