summaryrefslogtreecommitdiff
path: root/EdkCompatibilityPkg/Foundation/Efi
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2010-11-26 01:54:49 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2010-11-26 01:54:49 +0000
commit3e99020dbf0a159e34b84e7ae9125f2e368d5390 (patch)
tree0eb6339318f7bf7da1b679b8009cf267b2234566 /EdkCompatibilityPkg/Foundation/Efi
parent68bb5ce77e51cf35791e46f2202e36da97e5e6be (diff)
downloadedk2-platforms-3e99020dbf0a159e34b84e7ae9125f2e368d5390.tar.xz
Sync all bug fixes between EDK1.04 and EDK1.06 into EdkCompatibilityPkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11094 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkCompatibilityPkg/Foundation/Efi')
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Include/EfiDevicePath.h25
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Include/EfiError.h5
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Include/EfiHii.h48
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Include/EfiImage.h44
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Include/EfiTypes.h6
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Protocol/BlockIo/BlockIo.h11
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Protocol/ComponentName2/ComponentName2.h29
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf4
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiDatabase/HiiDatabase.h16
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiFont/HiiFont.h76
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiImage/HiiImage.h20
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiPackageList/HiiPackageList.c27
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiPackageList/HiiPackageList.h36
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiString/HiiString.h29
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Protocol/Ip4/Ip4.h6
-rw-r--r--EdkCompatibilityPkg/Foundation/Efi/Protocol/SimpleFileSystem/SimpleFileSystem.h8
16 files changed, 263 insertions, 127 deletions
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Include/EfiDevicePath.h b/EdkCompatibilityPkg/Foundation/Efi/Include/EfiDevicePath.h
index ea54c4bc0f..4bde7d2610 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Include/EfiDevicePath.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Include/EfiDevicePath.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2004 - 2009, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -214,7 +214,6 @@ typedef struct {
UINT8 DeviceProtocol;
} USB_CLASS_DEVICE_PATH;
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
#define MSG_USB_WWID_DP 0x10
typedef struct {
EFI_DEVICE_PATH_PROTOCOL Header;
@@ -231,7 +230,6 @@ typedef struct {
EFI_DEVICE_PATH_PROTOCOL Header;
UINT8 Lun;
} DEVICE_LOGICAL_UNIT_DEVICE_PATH;
-#endif
#define MSG_SATA_DP 0x12
typedef struct {
@@ -330,8 +328,6 @@ typedef struct {
UINT32 FlowControlMap;
} UART_FLOW_CONTROL_DEVICE_PATH;
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
-
#define DEVICE_PATH_MESSAGING_SAS \
{ 0xd487ddb4, 0x008b, 0x11d9, {0xaf, 0xdc, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d} }
@@ -345,8 +341,6 @@ typedef struct {
UINT16 RelativeTargetPort;
} SAS_DEVICE_PATH;
-#endif
-
#define MSG_ISCSI_DP 0x13
typedef struct {
EFI_DEVICE_PATH_PROTOCOL Header;
@@ -428,8 +422,6 @@ typedef struct {
EFI_GUID Protocol;
} MEDIA_PROTOCOL_DEVICE_PATH;
-#if (EFI_SPECIFICATION_VERSION >= 0x0002000A)
-
#define MEDIA_FV_DP 0x07
typedef struct {
EFI_DEVICE_PATH_PROTOCOL Header;
@@ -449,7 +441,6 @@ typedef struct {
UINT64 StartingOffset;
UINT64 EndingOffset;
} MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH;
-#endif
//
// BBS Device Path
@@ -509,10 +500,8 @@ typedef union {
F1394_DEVICE_PATH F1394;
USB_DEVICE_PATH Usb;
USB_CLASS_DEVICE_PATH UsbClass;
- #if (EFI_SPECIFICATION_VERSION >= 0x00020000)
USB_WWID_DEVICE_PATH UsbWwid;
DEVICE_LOGICAL_UNIT_DEVICE_PATH LogicUnit;
- #endif
I2O_DEVICE_PATH I2O;
MAC_ADDR_DEVICE_PATH MacAddr;
IPv4_DEVICE_PATH Ipv4;
@@ -520,9 +509,7 @@ typedef union {
INFINIBAND_DEVICE_PATH InfiniBand;
UART_DEVICE_PATH Uart;
UART_FLOW_CONTROL_DEVICE_PATH UartFlowControl;
- #if (EFI_SPECIFICATION_VERSION >= 0x00020000)
SAS_DEVICE_PATH Sas;
- #endif
ISCSI_DEVICE_PATH Iscsi;
HARDDRIVE_DEVICE_PATH HardDrive;
CDROM_DEVICE_PATH CD;
@@ -530,12 +517,10 @@ typedef union {
FILEPATH_DEVICE_PATH FilePath;
MEDIA_PROTOCOL_DEVICE_PATH MediaProtocol;
- #if (EFI_SPECIFICATION_VERSION >= 0x0002000A)
MEDIA_FW_VOL_DEVICE_PATH PiwgFirmwareVolume;
MEDIA_FW_VOL_FILEPATH_DEVICE_PATH PiwgFirmwareFile;
MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH
Offset;
- #endif
BBS_BBS_DEVICE_PATH Bbs;
} EFI_DEV_PATH;
@@ -563,10 +548,8 @@ typedef union {
F1394_DEVICE_PATH *F1394;
USB_DEVICE_PATH *Usb;
USB_CLASS_DEVICE_PATH *UsbClass;
- #if (EFI_SPECIFICATION_VERSION >= 0x00020000)
USB_WWID_DEVICE_PATH *UsbWwid;
DEVICE_LOGICAL_UNIT_DEVICE_PATH *LogicUnit;
- #endif
I2O_DEVICE_PATH *I2O;
MAC_ADDR_DEVICE_PATH *MacAddr;
IPv4_DEVICE_PATH *Ipv4;
@@ -575,9 +558,7 @@ typedef union {
UART_DEVICE_PATH *Uart;
UART_FLOW_CONTROL_DEVICE_PATH *UartFlowControl;
- #if (EFI_SPECIFICATION_VERSION >= 0x00020000)
SAS_DEVICE_PATH *Sas;
- #endif
ISCSI_DEVICE_PATH *Iscsi;
HARDDRIVE_DEVICE_PATH *HardDrive;
@@ -586,10 +567,10 @@ typedef union {
FILEPATH_DEVICE_PATH *FilePath;
MEDIA_PROTOCOL_DEVICE_PATH *MediaProtocol;
- #if (EFI_SPECIFICATION_VERSION >= 0x0002000A)
MEDIA_FW_VOL_DEVICE_PATH *PiwgFirmwareVolume;
MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *PiwgFirmwareFile;
- #endif
+ MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH
+ *Offset;
BBS_BBS_DEVICE_PATH *Bbs;
UINT8 *Raw;
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Include/EfiError.h b/EdkCompatibilityPkg/Foundation/Efi/Include/EfiError.h
index 9ddd1b3568..1db119b298 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Include/EfiError.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Include/EfiError.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -58,6 +58,9 @@ Abstract:
#define EFI_INCOMPATIBLE_VERSION EFIERR (25)
#define EFI_SECURITY_VIOLATION EFIERR (26)
#define EFI_CRC_ERROR EFIERR (27)
+#define EFI_END_OF_MEDIA EFIERR (28)
+#define EFI_END_OF_FILE EFIERR (31)
+#define EFI_INVALID_LANGUAGE EFIERR (32)
#define EFI_WARN_UNKNOWN_GLYPH EFIWARN (1)
#define EFI_WARN_DELETE_FAILURE EFIWARN (2)
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Include/EfiHii.h b/EdkCompatibilityPkg/Foundation/Efi/Include/EfiHii.h
index 30e001963c..fd15d4f179 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Include/EfiHii.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Include/EfiHii.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -59,13 +59,13 @@ typedef struct {
#define EFI_HII_PACKAGE_TYPE_ALL 0x00
#define EFI_HII_PACKAGE_TYPE_GUID 0x01
-#define EFI_HII_PACKAGE_FORM 0x02
-#define EFI_HII_PACKAGE_KEYBOARD_LAYOUT 0x03
+#define EFI_HII_PACKAGE_FORMS 0x02
#define EFI_HII_PACKAGE_STRINGS 0x04
#define EFI_HII_PACKAGE_FONTS 0x05
#define EFI_HII_PACKAGE_IMAGES 0x06
#define EFI_HII_PACKAGE_SIMPLE_FONTS 0x07
#define EFI_HII_PACKAGE_DEVICE_PATH 0x08
+#define EFI_HII_PACKAGE_KEYBOARD_LAYOUT 0x09
#define EFI_HII_PACKAGE_END 0xDF
#define EFI_HII_PACKAGE_TYPE_SYSTEM_BEGIN 0xE0
#define EFI_HII_PACKAGE_TYPE_SYSTEM_END 0xFF
@@ -108,6 +108,7 @@ typedef struct _EFI_HII_SIMPLE_FONT_PACKAGE_HDR {
// Font Package
//
+#define EFI_HII_FONT_STYLE_NORMAL 0x00000000
#define EFI_HII_FONT_STYLE_BOLD 0x00000001
#define EFI_HII_FONT_STYLE_ITALIC 0x00000002
#define EFI_HII_FONT_STYLE_EMBOSS 0x00010000
@@ -237,8 +238,8 @@ typedef struct _EFI_HII_GUID_PACKAGE_HDR {
// String Package
//
-#define UEFI_CONFIG_LANG L"x-UEFI"
-#define UEFI_CONFIG_LANG2 L"x-i-UEFI" // BUGBUG, spec need to be updated.
+#define UEFI_CONFIG_LANG "x-UEFI"
+#define UEFI_CONFIG_LANG_2 "x-i-UEFI"
typedef struct _EFI_HII_STRING_PACKAGE_HDR {
EFI_HII_PACKAGE_HEADER Header;
@@ -697,14 +698,14 @@ typedef struct _EFI_IFR_VARSTORE {
typedef struct _EFI_IFR_VARSTORE_EFI {
EFI_IFR_OP_HEADER Header;
- UINT16 VarStoreId;
+ EFI_VARSTORE_ID VarStoreId;
EFI_GUID Guid;
UINT32 Attributes;
} EFI_IFR_VARSTORE_EFI;
typedef struct _EFI_IFR_VARSTORE_NAME_VALUE {
EFI_IFR_OP_HEADER Header;
- UINT16 VarStoreId;
+ EFI_VARSTORE_ID VarStoreId;
EFI_GUID Guid;
} EFI_IFR_VARSTORE_NAME_VALUE;
@@ -713,8 +714,13 @@ typedef struct _EFI_IFR_FORM_SET {
EFI_GUID Guid;
EFI_STRING_ID FormSetTitle;
EFI_STRING_ID Help;
+ UINT8 Flags;
+ EFI_GUID ClassGuid[1];
} EFI_IFR_FORM_SET;
+#define EFI_HII_PLATFORM_SETUP_FORMSET_GUID \
+ { 0x93039971, 0x8545, 0x4b04, { 0xb4, 0x5e, 0x32, 0xeb, 0x83, 0x26, 0x4, 0xe } }
+
typedef struct _EFI_IFR_END {
EFI_IFR_OP_HEADER Header;
} EFI_IFR_END;
@@ -805,7 +811,7 @@ typedef struct _EFI_IFR_REF4 {
typedef struct _EFI_IFR_RESET_BUTTON {
EFI_IFR_OP_HEADER Header;
- EFI_IFR_QUESTION_HEADER Question;
+ EFI_IFR_STATEMENT_HEADER Statement;
EFI_DEFAULT_ID DefaultId;
} EFI_IFR_RESET_BUTTON;
@@ -1273,7 +1279,7 @@ typedef enum {
EfiKeyB8,
EfiKeyB9,
EfiKeyB10,
- EfiKeyRshift,
+ EfiKeyRShift,
EfiKeyUpArrow,
EfiKeyOne,
EfiKeyTwo,
@@ -1396,16 +1402,16 @@ typedef struct {
// EFI_HII_KEYBOARD_LAYOUT Layout[];
} EFI_HII_KEYBOARD_PACKAGE_HDR;
-typedef struct {
- CHAR16 Language[3];
- CHAR16 Space;
- CHAR16 DescriptionString[1];
-} EFI_DESCRIPTION_STRING;
+//typedef struct {
+// CHAR16 Language[]; // RFC4646 Language Code
+// CHAR16 Space;
+// CHAR16 DescriptionString[];
+//} EFI_DESCRIPTION_STRING;
-typedef struct {
- UINT16 DescriptionCount;
- EFI_DESCRIPTION_STRING DescriptionString[1];
-} EFI_DESCRIPTION_STRING_BUNDLE;
+//typedef struct {
+// UINT16 DescriptionCount;
+// EFI_DESCRIPTION_STRING DescriptionString[];
+//} EFI_DESCRIPTION_STRING_BUNDLE;
//
// Modifier values
@@ -1425,7 +1431,7 @@ typedef struct {
#define EFI_LEFT_SHIFT_MODIFIER 0x000C
#define EFI_RIGHT_SHIFT_MODIFIER 0x000D
#define EFI_CAPS_LOCK_MODIFIER 0x000E
-#define EFI_NUM_LOCK _MODIFIER 0x000F
+#define EFI_NUM_LOCK_MODIFIER 0x000F
#define EFI_LEFT_ARROW_MODIFIER 0x0010
#define EFI_RIGHT_ARROW_MODIFIER 0x0011
#define EFI_DOWN_ARROW_MODIFIER 0x0012
@@ -1458,6 +1464,10 @@ typedef struct {
#define EFI_PAUSE_MODIFIER 0x0025
#define EFI_BREAK_MODIFIER 0x0026
+#define EFI_LEFT_LOGO_MODIFIER 0x0027
+#define EFI_RIGHT_LOGO_MODIFIER 0x0028
+#define EFI_MENU_MODIFIER 0x0029
+
#pragma pack()
#endif
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Include/EfiImage.h b/EdkCompatibilityPkg/Foundation/Efi/Include/EfiImage.h
index fa6dc424c3..90f7b75b47 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Include/EfiImage.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Include/EfiImage.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -623,6 +623,48 @@ typedef struct {
} EFI_IMAGE_DEBUG_CODEVIEW_RSDS_ENTRY;
//
+// Resource Format
+//
+typedef struct {
+ UINT32 Characteristics;
+ UINT32 TimeDateStamp;
+ UINT16 MajorVersion;
+ UINT16 MinorVersion;
+ UINT16 NumberOfNamedEntries;
+ UINT16 NumberOfIdEntries;
+// EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[];
+} EFI_IMAGE_RESOURCE_DIRECTORY;
+
+typedef struct {
+ union {
+ struct {
+ UINT32 NameOffset:31;
+ UINT32 NameIsString:1;
+ } s;
+ UINT32 Id;
+ } u1;
+ union {
+ UINT32 OffsetToData;
+ struct {
+ UINT32 OffsetToDirectory:31;
+ UINT32 DataIsDirectory:1;
+ } s;
+ } u2;
+} EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY;
+
+typedef struct {
+ UINT16 Length;
+ CHAR16 String[1];
+} EFI_IMAGE_RESOURCE_DIRECTORY_STRING;
+
+typedef struct {
+ UINT32 OffsetToData;
+ UINT32 Size;
+ UINT32 CodePage;
+ UINT32 Reserved;
+} EFI_IMAGE_RESOURCE_DATA_ENTRY;
+
+//
// Header format for TE images
//
typedef struct {
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Include/EfiTypes.h b/EdkCompatibilityPkg/Foundation/Efi/Include/EfiTypes.h
index 3fba60ff5d..5de817e091 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Include/EfiTypes.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Include/EfiTypes.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -90,11 +90,11 @@ typedef UINT64 EFI_LBA;
// EFI Constants. They may exist in other build structures, so #ifndef them.
//
#ifndef TRUE
-#define TRUE ((BOOLEAN) 1 == 1)
+#define TRUE ((BOOLEAN) (1 == 1))
#endif
#ifndef FALSE
-#define FALSE ((BOOLEAN) 0 == 1)
+#define FALSE ((BOOLEAN) (0 == 1))
#endif
#ifndef NULL
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/BlockIo/BlockIo.h b/EdkCompatibilityPkg/Foundation/Efi/Protocol/BlockIo/BlockIo.h
index ac914f7508..0767b8a4a1 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Protocol/BlockIo/BlockIo.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Protocol/BlockIo/BlockIo.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -185,9 +185,16 @@ typedef struct {
UINT32 IoAlign;
EFI_LBA LastBlock;
+
+ EFI_LBA LowestAlignedLba;
+ UINT32 LogicalBlocksPerPhysicalBlock;
} EFI_BLOCK_IO_MEDIA;
-#define EFI_BLOCK_IO_PROTOCOL_REVISION 0x00010000
+#define EFI_BLOCK_IO_PROTOCOL_REVISION 0x00010000
+#define EFI_BLOCK_IO_PROTOCOL_REVISION2 0x00020001
+
+#define SIZE_OF_EFI_BLOCK_IO_MEDIA_REV1 ((UINTN)&((EFI_BLOCK_IO_MEDIA *)0)->LastBlock + sizeof(EFI_LBA))
+#define SIZE_OF_EFI_BLOCK_IO_MEDIA_REV2 sizeof(EFI_BLOCK_IO_MEDIA)
struct _EFI_BLOCK_IO_PROTOCOL {
UINT64 Revision;
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/ComponentName2/ComponentName2.h b/EdkCompatibilityPkg/Foundation/Efi/Protocol/ComponentName2/ComponentName2.h
index 6a3a42bd9d..19c6d5a09d 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Protocol/ComponentName2/ComponentName2.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Protocol/ComponentName2/ComponentName2.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -50,12 +50,13 @@ EFI_STATUS
Retrieves a Unicode string that is the user readable name of the EFI Driver.
Arguments:
- This - A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance.
- Language - A pointer to a three character ISO 639-2 language identifier.
- This is the language of the driver name that that the caller
- is requesting, and it must match one of the languages specified
- in SupportedLanguages. The number of languages supported by a
- driver is up to the driver writer.
+ This - A pointer to the EFI_COMPONENT_NAME2_PROTOCOL instance.
+ Language - A pointer to a Null-terminated ASCII string array indicating the
+ language. This is the language of the driver name that the caller
+ is requesting, and it must match one of the languages specified in
+ SupportedLanguages. The number of languages supported by a
+ driver is up to the driver writer. Language is specified in RFC
+ 4646 language code format.
DriverName - A pointer to the Unicode string to return. This Unicode string
is the name of the driver specified by This in the language
specified by Language.
@@ -86,7 +87,7 @@ EFI_STATUS
that is being managed by an EFI Driver.
Arguments:
- This - A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance.
+ This - A pointer to the EFI_COMPONENT_NAME2_PROTOCOL instance.
ControllerHandle - The handle of a controller that the driver specified by
This is managing. This handle specifies the controller
whose name is to be returned.
@@ -96,12 +97,12 @@ EFI_STATUS
for a bus drivers that wish to retrieve the name of the
bus controller. It will not be NULL for a bus driver
that wishes to retrieve the name of a child controller.
- Language - A pointer to a three character ISO 639-2 language
- identifier. This is the language of the controller name
- that that the caller is requesting, and it must match one
- of the languages specified in SupportedLanguages. The
- number of languages supported by a driver is up to the
- driver writer.
+ Language - A pointer to a Null-terminated ASCII string array indicating the
+ language. This is the language of the driver name that the caller
+ is requesting, and it must match one of the languages specified in
+ SupportedLanguages. The number of languages supported by a
+ driver is up to the driver writer. Language is specified in RFC
+ 4646 language code format.
ControllerName - A pointer to the Unicode string to return. This Unicode
string is the name of the controller specified by
ControllerHandle and ChildHandle in the language specified
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf b/EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf
index 854efb354e..e99e26de27 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf
+++ b/EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf
@@ -1,6 +1,6 @@
#/*++
#
-# Copyright (c) 2004 - 2007, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -117,6 +117,8 @@ COMPONENT_TYPE= LIBRARY
HiiFont/HiiFont.c
HiiImage/HiiImage.h
HiiImage/HiiImage.c
+ HiiPackageList/HiiPackageList.h
+ HiiPackageList/HiiPackageList.c
HiiString/HiiString.h
HiiString/HiiString.c
Ip4/Ip4.h
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiDatabase/HiiDatabase.h b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiDatabase/HiiDatabase.h
index 8cb526613e..b319aae973 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiDatabase/HiiDatabase.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiDatabase/HiiDatabase.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -138,8 +138,7 @@ EFI_STATUS
Returns:
EFI_SUCCESS - The data associated with the Handle was removed from
the HII database.
- EFI_NOT_FOUND - The specified PackageList could not be found in database.
- EFI_INVALID_PARAMETER - The Handle was not valid.
+ EFI_NOT_FOUND - The specified Handle is not in database.
--*/
;
@@ -166,8 +165,8 @@ EFI_STATUS
Returns:
EFI_SUCCESS - The HII database was successfully updated.
EFI_OUT_OF_RESOURCES - Unable to allocate enough memory for the updated database.
- EFI_INVALID_PARAMETER - Handle or PackageList was NULL.
- EFI_NOT_FOUND - The Handle was not valid or could not be found in database.
+ EFI_INVALID_PARAMETER - PackageList was NULL.
+ EFI_NOT_FOUND - The specified Handle is not in database.
--*/
;
@@ -203,12 +202,16 @@ EFI_STATUS
Returns:
EFI_SUCCESS - The matching handles are outputed successfully.
+ HandleBufferLength is updated with the actual length.
EFI_BUFFER_TO_SMALL - The HandleBufferLength parameter indicates that
Handle is too small to support the number of handles.
HandleBufferLength is updated with a value that will
enable the data to fit.
EFI_NOT_FOUND - No matching handle could not be found in database.
EFI_INVALID_PARAMETER - Handle or HandleBufferLength was NULL.
+ EFI_INVALID_PARAMETER - PackageType is not a EFI_HII_PACKAGE_TYPE_GUID but
+ PackageGuid is not NULL, PackageType is a EFI_HII_
+ PACKAGE_TYPE_GUID but PackageGuid is NULL.
--*/
;
@@ -312,7 +315,8 @@ EFI_STATUS
Returns:
EFI_SUCCESS - Notification is unregistered successfully.
- EFI_INVALID_PARAMETER - The Handle is invalid.
+ EFI_NOT_FOUND - The incoming notification handle does not exist
+ in current hii database.
--*/
;
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiFont/HiiFont.h b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiFont/HiiFont.h
index 36f5a872eb..46c922cf12 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiFont/HiiFont.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiFont/HiiFont.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -53,9 +53,9 @@ typedef struct _EFI_HII_ROW_INFO {
} EFI_HII_ROW_INFO;
typedef struct {
- UINT32 FontStyle;
- UINT16 FontSize; // character cell size in pixels
- CHAR16 FontName[1];
+ EFI_HII_FONT_STYLE FontStyle;
+ UINT16 FontSize; // character cell height in pixels
+ CHAR16 FontName[1];
} EFI_FONT_INFO;
typedef struct _EFI_FONT_DISPLAY_INFO {
@@ -65,25 +65,25 @@ typedef struct _EFI_FONT_DISPLAY_INFO {
EFI_FONT_INFO FontInfo;
} EFI_FONT_DISPLAY_INFO;
-#define EFI_HII_OUT_FLAG_CLIP 0x00000001
-#define EFI_HII_OUT_FLAG_WRAP 0x00000002
-#define EFI_HII_OUT_FLAG_CLEAN_Y 0x00000004
-#define EFI_HII_OUT_FLAG_CLEAN_X 0x00000008
-#define EFI_HII_OUT_FLAG_TRANSPARENT 0x00000010
-#define EFI_HII_IGNORE_IF_NO_GLYPH 0x00000020
-#define EFI_HII_IGNORE_LINE_BREAK 0x00000040
-#define EFI_HII_DIRECT_TO_SCREEN 0x00000080
-
-#define EFI_FONT_INFO_SYS_FONT 0x00000001
-#define EFI_FONT_INFO_SYS_SIZE 0x00000002
-#define EFI_FONT_INFO_SYS_STYLE 0x00000004
-#define EFI_FONT_INFO_SYS_FORE_COLOR 0x00000010
-#define EFI_FONT_INFO_SYS_BACK_COLOR 0x00000020
-#define EFI_FONT_INFO_RESIZE 0x00001000
-#define EFI_FONT_INFO_RESTYLE 0x00002000
-#define EFI_FONT_INFO_ANY_FONT 0x00010000
-#define EFI_FONT_INFO_ANY_SIZE 0x00020000
-#define EFI_FONT_INFO_ANY_STYLE 0x00040000
+#define EFI_HII_OUT_FLAG_CLIP 0x00000001
+#define EFI_HII_OUT_FLAG_WRAP 0x00000002
+#define EFI_HII_OUT_FLAG_CLIP_CLEAN_Y 0x00000004
+#define EFI_HII_OUT_FLAG_CLIP_CLEAN_X 0x00000008
+#define EFI_HII_OUT_FLAG_TRANSPARENT 0x00000010
+#define EFI_HII_IGNORE_IF_NO_GLYPH 0x00000020
+#define EFI_HII_IGNORE_LINE_BREAK 0x00000040
+#define EFI_HII_DIRECT_TO_SCREEN 0x00000080
+
+#define EFI_FONT_INFO_SYS_FONT 0x00000001
+#define EFI_FONT_INFO_SYS_SIZE 0x00000002
+#define EFI_FONT_INFO_SYS_STYLE 0x00000004
+#define EFI_FONT_INFO_SYS_FORE_COLOR 0x00000010
+#define EFI_FONT_INFO_SYS_BACK_COLOR 0x00000020
+#define EFI_FONT_INFO_RESIZE 0x00001000
+#define EFI_FONT_INFO_RESTYLE 0x00002000
+#define EFI_FONT_INFO_ANY_FONT 0x00010000
+#define EFI_FONT_INFO_ANY_SIZE 0x00020000
+#define EFI_FONT_INFO_ANY_STYLE 0x00040000
typedef
EFI_STATUS
@@ -109,7 +109,7 @@ EFI_STATUS
Flags - Describes how the string is to be drawn.
String - Points to the null-terminated string to be displayed.
StringInfo - Points to the string output information, including the color and font.
- If NULL, then the string will be output in the default system font and color.
+ If NULL, then the string will be output in the default system font and color.
Blt - If this points to a non-NULL on entry, this points to the image, which is Width pixels
wide and Height pixels high. The string will be drawn onto this image and
EFI_HII_OUT_FLAG_CLIP is implied. If this points to a NULL on entry, then a
@@ -132,7 +132,8 @@ EFI_STATUS
Returns:
EFI_SUCCESS - The string was successfully rendered.
EFI_OUT_OF_RESOURCES - Unable to allocate an output buffer for RowInfoArray or Blt.
- EFI_INVALID_PARAMETER - The String was NULL.
+ EFI_INVALID_PARAMETER - The String or Blt was NULL.
+ EFI_INVALID_PARAMETER - Flags were invalid combination.
--*/
;
@@ -166,7 +167,7 @@ EFI_STATUS
Language - Points to the language for the retrieved string. If NULL, then the current system
language is used.
StringInfo - Points to the string output information, including the color and font.
- If NULL, then the string will be output in the default system font and color.
+ If NULL, then the string will be output in the default system font and color.
Blt - If this points to a non-NULL on entry, this points to the image, which is Width pixels
wide and Height pixels high. The string will be drawn onto this image and
EFI_HII_OUT_FLAG_CLIP is implied. If this points to a NULL on entry, then a
@@ -187,9 +188,12 @@ EFI_STATUS
is possible when character display is normalized that some character cells overlap.
Returns:
- EFI_SUCCESS - The string was successfully rendered.
+ EFI_SUCCESS - The string was successfully rendered.
EFI_OUT_OF_RESOURCES - Unable to allocate an output buffer for RowInfoArray or Blt.
- EFI_INVALID_PARAMETER - The String was NULL.
+ EFI_INVALID_PARAMETER - The Blt or PackageList was NULL.
+ EFI_INVALID_PARAMETER - Flags were invalid combination.
+ EFI_NOT_FOUND - The specified PackageList is not in the Database or the stringid is not
+ in the specified PackageList.
--*/
;
@@ -233,7 +237,7 @@ EFI_STATUS
(EFIAPI *EFI_HII_GET_FONT_INFO) (
IN CONST EFI_HII_FONT_PROTOCOL *This,
IN OUT EFI_FONT_HANDLE *FontHandle,
- IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn,
+ IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn, OPTIONAL
OUT EFI_FONT_DISPLAY_INFO **StringInfoOut,
IN CONST EFI_STRING String OPTIONAL
)
@@ -246,11 +250,13 @@ EFI_STATUS
Arguments:
This - A pointer to the EFI_HII_FONT_PROTOCOL instance.
- FontHandle - On entry, points to the font handle returned by a
- previous call to GetFontInfo() or NULL to start with the
+ FontHandle - On entry, points to the font handle returned by a previous
+ call to GetFontInfo() or points to NULL to start with the
first font. On return, points to the returned font handle or
- points to NULL if there are no more matching fonts.
- StringInfoIn - Upon entry, points to the font to return information about.
+ points to NULL if there are no more matching fonts.
+ StringInfoIn - Upon entry, points to the font to return information about.
+ If NULL, then the information about the system default
+ font will be returned.
StringInfoOut - Upon return, contains the matching font's information.
If NULL, then no information is returned.
It's caller's responsibility to free this buffer.
@@ -261,10 +267,10 @@ EFI_STATUS
Returns:
EFI_SUCCESS - Matching font returned successfully.
EFI_NOT_FOUND - No matching font was found.
- EFI_INVALID_PARAMETER - StringInfoIn is NULL.
+ EFI_INVALID_PARAMETER - StringInfoIn->FontInfoMask is an invalid combination.
EFI_OUT_OF_RESOURCES - There were insufficient resources to complete the request.
---*/
+--*/
;
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiImage/HiiImage.h b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiImage/HiiImage.h
index 1eb4e6fab0..0a27599e8a 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiImage/HiiImage.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiImage/HiiImage.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -45,7 +45,7 @@ typedef struct _EFI_IMAGE_INPUT {
UINT32 Flags;
UINT16 Width;
UINT16 Height;
- EFI_GRAPHICS_OUTPUT_BLT_PIXEL Bitmap[1];
+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Bitmap;
} EFI_IMAGE_INPUT;
#define EFI_IMAGE_TRANSPARENT 0x00000001
@@ -101,8 +101,7 @@ EFI_STATUS
IN CONST EFI_HII_IMAGE_PROTOCOL *This,
IN EFI_HII_HANDLE PackageList,
IN EFI_IMAGE_ID ImageId,
- OUT EFI_IMAGE_INPUT *Image,
- OUT UINTN *ImageSize
+ OUT EFI_IMAGE_INPUT *Image
)
/*++
@@ -115,14 +114,14 @@ EFI_STATUS
PackageList - Handle of the package list where this image will be searched.
ImageId - The image's id,, which is unique within PackageList.
Image - Points to the image.
- ImageSize - On entry, points to the size of the buffer pointed to by Image, in bytes. On return,
- points to the length of the image, in bytes.
Returns:
EFI_SUCCESS - The new image was returned successfully.
EFI_NOT_FOUND - The image specified by ImageId is not available.
- EFI_BUFFER_TOO_SMALL - The buffer specified by ImageSize is too small to hold the image.
+ The specified PackageList is not in the database.
EFI_INVALID_PARAMETER - The Image or ImageSize was NULL.
+ EFI_OUT_OF_RESOURCES - The bitmap could not be retrieved because there was not
+ enough memory.
--*/
;
@@ -149,7 +148,8 @@ EFI_STATUS
Returns:
EFI_SUCCESS - The new image was updated successfully.
- EFI_NOT_FOUND - The image specified by ImageId is not in the database.
+ EFI_NOT_FOUND - The image specified by ImageId is not in the database.
+ The specified PackageList is not in the database.
EFI_INVALID_PARAMETER - The Image was NULL.
--*/
@@ -233,7 +233,9 @@ EFI_STATUS
Returns:
EFI_SUCCESS - The image was successfully drawn.
EFI_OUT_OF_RESOURCES - Unable to allocate an output buffer for Blt.
- EFI_INVALID_PARAMETER - The Image was NULL.
+ EFI_NOT_FOUND - The image specified by ImageId is not in the database.
+ The specified PackageList is not in the database.
+ EFI_INVALID_PARAMETER - The Blt was NULL.
--*/
;
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiPackageList/HiiPackageList.c b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiPackageList/HiiPackageList.c
new file mode 100644
index 0000000000..aa424ab700
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiPackageList/HiiPackageList.c
@@ -0,0 +1,27 @@
+/*++
+
+Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+Module Name:
+
+ HiiPackageList.c
+
+Abstract:
+
+ EFI_HII_PACKAGE_LIST_PROTOCOL as defined in UEFI 2.1 spec.
+
+--*/
+
+#include "EfiSpec.h"
+#include EFI_PROTOCOL_DEFINITION (HiiPackageList)
+
+EFI_GUID gEfiHiiPackageListProtocolGuid = EFI_HII_PACKAGE_LIST_PROTOCOL_GUID;
+
+EFI_GUID_STRING(&gEfiHiiPackageListProtocolGuid, "HII Package List Protocol", "HII Package List 2.1 protocol");
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiPackageList/HiiPackageList.h b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiPackageList/HiiPackageList.h
new file mode 100644
index 0000000000..a3d057a018
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiPackageList/HiiPackageList.h
@@ -0,0 +1,36 @@
+/*++
+
+Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+Module Name:
+
+ HiiPackageList.h
+
+Abstract:
+
+ EFI_HII_PACKAGE_LIST_PROTOCOL as defined in UEFI 2.1 spec.
+
+--*/
+
+#ifndef _HII_PACKAGE_LIST_H_
+#define _HII_PACKAGE_LIST_H_
+
+#include "EfiHii.h"
+
+#define EFI_HII_PACKAGE_LIST_PROTOCOL_GUID \
+ { \
+ 0x6a1ee763, 0xd47a, 0x43b4, {0xaa, 0xbe, 0xef, 0x1d, 0xe2, 0xab, 0x56, 0xfc} \
+ }
+
+typedef EFI_HII_PACKAGE_LIST_HEADER * EFI_HII_PACKAGE_LIST_PROTOCOL;
+
+extern EFI_GUID gEfiHiiPackageListProtocolGuid;
+
+#endif
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiString/HiiString.h b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiString/HiiString.h
index c243d9e680..0c27218b38 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiString/HiiString.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiString/HiiString.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -54,6 +54,8 @@ EFI_STATUS
Routine Description:
This function adds the string String to the group of strings owned by PackageList, with the
specified font information StringFontInfo and returns a new string id.
+ The new string identifier is guaranteed to be unique within the package list.
+ That new string identifier is reserved for all languages in the package list.
Arguments:
This - A pointer to the EFI_HII_STRING_PROTOCOL instance.
@@ -104,13 +106,19 @@ EFI_STATUS
String - Points to the new null-terminated string.
StringSize - On entry, points to the size of the buffer pointed to by
String, in bytes. On return,
- points to the length of the string, in bytes.
- StringFontInfo - If not NULL, points to the string's font information.
- It's caller's responsibility to free this buffer.
+ points to the length of the string, in bytes.
+ StringFontInfo - Points to a buffer that will be callee allocated and will
+ have the string's font information into this buffer.
+ The caller is responsible for freeing this buffer.
+ If the parameter is NULL a buffer will not be allocated
+ and the string font information will not be returned.
Returns:
EFI_SUCCESS - The string was returned successfully.
EFI_NOT_FOUND - The string specified by StringId is not available.
+ The specified PackageList is not in the database.
+ EFI_INVALID_LANGUAGE - The string specified by StringId is available but
+ not in the specified language.
EFI_BUFFER_TOO_SMALL - The buffer specified by StringSize is too small to
hold the string.
EFI_INVALID_PARAMETER - The String or Language or StringSize was NULL.
@@ -147,7 +155,8 @@ EFI_STATUS
Returns:
EFI_SUCCESS - The string was updated successfully.
- EFI_NOT_FOUND - The string specified by StringId is not in the database.
+ EFI_NOT_FOUND - The string specified by StringId is not in the database.
+ The specified PackageList is not in the database.
EFI_INVALID_PARAMETER - The String or Language was NULL.
EFI_OUT_OF_RESOURCES - The system is out of resources to accomplish the task.
@@ -182,6 +191,7 @@ EFI_STATUS
EFI_BUFFER_TOO_SMALL - The LanguagesSize is too small to hold the list of
supported languages. LanguageSize is updated to
contain the required size.
+ EFI_NOT_FOUND - The specified PackageList is not in the database.
--*/
;
@@ -220,9 +230,12 @@ EFI_STATUS
EFI_BUFFER_TOO_SMALL - The buffer specified by SecondLanguagesSize is
too small to hold the returned information.
SecondLanguageSize is updated to hold the size of
- the buffer required.
-
---*/
+ the buffer required.
+ EFI_INVALID_LANGUAGE - The language specified by FirstLanguage is not
+ present in the specified package list.
+ EFI_NOT_FOUND - The specified PackageList is not in the Database.
+
+--*/
;
//
// Interface structure for the EFI_HII_STRING_PROTOCOL
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/Ip4/Ip4.h b/EdkCompatibilityPkg/Foundation/Efi/Protocol/Ip4/Ip4.h
index 0263bf04f4..3e315c0bb2 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Protocol/Ip4/Ip4.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Protocol/Ip4/Ip4.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2005 - 2009, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -15,7 +15,7 @@ Module Name:
Abstract:
- UEFI IPv4 protocol.
+ EFI_IP4_PROTOCOL definition in UEFI 2.2 specification.
--*/
@@ -80,7 +80,7 @@ typedef struct _EFI_IP4_ICMP_TYPE {
typedef struct {
BOOLEAN IsStarted;
UINT32 MaxPacketSize;
-
+
EFI_IP4_CONFIG_DATA ConfigData;
BOOLEAN IsConfigured;
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/SimpleFileSystem/SimpleFileSystem.h b/EdkCompatibilityPkg/Foundation/Efi/Protocol/SimpleFileSystem/SimpleFileSystem.h
index d9f0032559..6abd11d5bf 100644
--- a/EdkCompatibilityPkg/Foundation/Efi/Protocol/SimpleFileSystem/SimpleFileSystem.h
+++ b/EdkCompatibilityPkg/Foundation/Efi/Protocol/SimpleFileSystem/SimpleFileSystem.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -35,6 +35,8 @@ Abstract:
EFI_FORWARD_DECLARATION (EFI_SIMPLE_FILE_SYSTEM_PROTOCOL);
EFI_FORWARD_DECLARATION (EFI_FILE);
+typedef struct _EFI_FILE *EFI_FILE_HANDLE;
+typedef struct _EFI_FILE EFI_FILE_PROTOCOL;
typedef
EFI_STATUS
@@ -356,7 +358,7 @@ EFI_STATUS
;
#define EFI_FILE_HANDLE_REVISION 0x00010000
-typedef struct _EFI_FILE {
+struct _EFI_FILE {
UINT64 Revision;
EFI_FILE_OPEN Open;
EFI_FILE_CLOSE Close;
@@ -368,7 +370,7 @@ typedef struct _EFI_FILE {
EFI_FILE_GET_INFO GetInfo;
EFI_FILE_SET_INFO SetInfo;
EFI_FILE_FLUSH Flush;
-} *EFI_FILE_HANDLE;
+};
extern EFI_GUID gEfiSimpleFileSystemProtocolGuid;