//\r
#include <Protocol/GraphicsOutput.h>\r
\r
+//\r
+// In both EDK and EDK II, incompatbile change is done to Framework HII protocol. \r
+// This change should cause a change of GUID in both of code and HII spec. But we \r
+// update the GUID in code in EDK and EDK II. The 0.92 spec is not updated. This\r
+// is a known issue..\r
+//\r
#define EFI_HII_PROTOCOL_GUID \\r
{ \\r
0xd7ad636e, 0xb997, 0x459b, {0xbf, 0x3f, 0x88, 0x46, 0x89, 0x79, 0x80, 0xe1} \\r
0x5542cce1, 0xdf5c, 0x4d1b, { 0xab, 0xca, 0x36, 0x4f, 0x77, 0xd3, 0x99, 0xfb } \\r
}\r
\r
-// BugBug:\r
-//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r
-// If UGA goes away we need to put this some place. I'm not sure where?\r
-//\r
-//typedef struct {\r
-// UINT8 Blue;\r
-// UINT8 Green;\r
-// UINT8 Red;\r
-// UINT8 Reserved;\r
-//} EFI_UGA_PIXEL;\r
-\r
-//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r
-//\r
\r
typedef UINT16 STRING_REF;\r
typedef UINT32 RELOFST;\r
\r
//\r
// The following types are currently defined:\r
-// EFI_FROM_ID has been defined in UEFI spec.\r
+// EFI_FORM_ID has been defined in UEFI spec.\r
//\r
typedef UINT16 EFI_FORM_LABEL;\r
\r
#pragma pack(1)\r
\r
+//\r
+// The header found at the start of each package.\r
+//\r
typedef struct {\r
UINT32 Length;\r
UINT16 Type;\r
\r
@param This A pointer to the EFI_HII_PROTOCOL instance.\r
@param Packages A pointer to an EFI_HII_PACKAGES package instance.\r
- @param Handle A pointer to the FRAMEWORK_EFI_HII_HANDLE instance.\r
+ @param Handle A pointer to the FRAMEWORK_EFI_HII_HANDLE instance.\r
\r
@retval EFI_SUCCESS Data was extracted from Packages, the database\r
was updated with the data, and Handle returned successfully.\r
\r
@retval EFI_SUCCESS It worked.\r
@retval EFI_NOT_FOUND A glyph for a character was not found.\r
-\r
+ @note: Inconsistent with specification here:\r
+ In Framework Spec,HII spec 0.92. The type of 3rd, 4th and 8th parameter is EFI_UGA_PIXEL.\r
+ Here the definition use the EFI_GRAPHICS_OUTPUT_BLT_PIXEL which defined in UEFI2.1 spec\r
**/\r
typedef\r
EFI_STATUS\r
);\r
\r
/**\r
- @par Protocol Description:\r
The HII Protocol manages the HII database, which is a repository for data\r
having to do with fonts, strings, forms, keyboards, and other future human\r
interface items.\r
-\r
- @param NewPack\r
- Extracts the various packs from a package list.\r
-\r
- @param RemovePack\r
- Removes a package from the HII database.\r
-\r
- @param FindHandles\r
- Determines the handles that are currently active in the database.\r
-\r
- @param ExportDatabase\r
- Export the entire contents of the database to a buffer.\r
-\r
- @param TestString\r
- Tests if all of the characters in a string have corresponding font characters.\r
-\r
- @param GetGlyph\r
- Translates a Unicode character into the corresponding font glyph.\r
-\r
- @param GlyphToBlt\r
- Converts a glyph value into a format that is ready for a UGA BLT command.\r
-\r
- @param NewString\r
- Allows a new string to be added to an already existing string package.\r
-\r
- @param GetPrimaryLanguages\r
- Allows a program to determine the primary languages that are supported\r
- on a given handle.\r
-\r
- @param GetSecondaryLanguages\r
- Allows a program to determine which secondary languages are supported\r
- on a given handle for a given primary language.\r
-\r
- @param GetString\r
- Extracts a string from a package that is already registered with the\r
- EFI HII database.\r
-\r
- @param ResetString\r
- Remove any new strings that were added after the initial string export\r
- for this handle.\r
-\r
- @param GetLine\r
- Allows a program to extract a part of a string of not more than a given width.\r
-\r
- @param GetForms\r
- Allows a program to extract a form or form package that has been previously registered.\r
-\r
- @param GetDefaultImage\r
- Allows a program to extract the nonvolatile image that represents the default storage image.\r
-\r
- @param UpdateForm\r
- Allows a program to update a previously registered form.\r
-\r
- @param GetKeyboardLayout\r
- Allows a program to extract the current keyboard layout.\r
-\r
**/\r
struct _EFI_HII_PROTOCOL {\r
+ ///\r
+ /// Extracts the various packs from a package list.\r
+ ///\r
FRAMEWORK_EFI_HII_NEW_PACK NewPack;\r
+ \r
+ ///\r
+ /// Removes a package from the HII database.\r
+ ///\r
FRAMEWORK_EFI_HII_REMOVE_PACK RemovePack;\r
+ \r
+ ///\r
+ /// Determines the handles that are currently active in the database.\r
+ /// \r
FRAMEWORK_EFI_HII_FIND_HANDLES FindHandles;\r
+ \r
+ ///\r
+ /// Export the entire contents of the database to a buffer.\r
+ ///\r
FRAMEWORK_EFI_HII_EXPORT ExportDatabase;\r
\r
+ ///\r
+ /// Tests if all of the characters in a string have corresponding font characters.\r
+ ///\r
FRAMEWORK_EFI_HII_TEST_STRING TestString;\r
+ \r
+ ///\r
+ /// Translates a Unicode character into the corresponding font glyph.\r
+ ///\r
FRAMEWORK_EFI_HII_GET_GLYPH GetGlyph;\r
+ \r
+ ///\r
+ /// Converts a glyph value into a format that is ready for a UGA BLT command.\r
+ ///\r
FRAMEWORK_EFI_HII_GLYPH_TO_BLT GlyphToBlt;\r
\r
+ ///\r
+ /// Allows a new string to be added to an already existing string package.\r
+ ///\r
FRAMEWORK_EFI_HII_NEW_STRING NewString;\r
+ \r
+ ///\r
+ /// Allows a program to determine the primary languages that are supported\r
+ /// on a given handle. \r
+ ///\r
FRAMEWORK_EFI_HII_GET_PRI_LANGUAGES GetPrimaryLanguages;\r
+ \r
+ ///\r
+ /// Allows a program to determine which secondary languages are supported\r
+ /// on a given handle for a given primary language. \r
+ ///\r
FRAMEWORK_EFI_HII_GET_SEC_LANGUAGES GetSecondaryLanguages;\r
+ \r
+ ///\r
+ /// Extracts a string from a package that is already registered with the\r
+ /// EFI HII database. \r
+ ///\r
FRAMEWORK_EFI_HII_GET_STRING GetString;\r
+ \r
+ ///\r
+ /// Remove any new strings that were added after the initial string export\r
+ /// for this handle. \r
+ ///\r
FRAMEWORK_EFI_HII_RESET_STRINGS ResetStrings;\r
+ \r
+ ///\r
+ /// Allows a program to extract a part of a string of not more than a given width.\r
+ ///\r
FRAMEWORK_EFI_HII_GET_LINE GetLine;\r
+ \r
+ ///\r
+ /// Allows a program to extract a form or form package that has been previously registered.\r
+ ///\r
FRAMEWORK_EFI_HII_GET_FORMS GetForms;\r
+ \r
+ ///\r
+ /// Allows a program to extract the nonvolatile image that represents the default storage image.\r
+ ///\r
FRAMEWORK_EFI_HII_GET_DEFAULT_IMAGE GetDefaultImage;\r
+ \r
+ ///\r
+ /// Allows a program to update a previously registered form.\r
+ ///\r
FRAMEWORK_EFI_HII_UPDATE_FORM UpdateForm;\r
\r
+ ///\r
+ /// Allows a program to extract the current keyboard layout.\r
+ ///\r
FRAMEWORK_EFI_HII_GET_KEYBOARD_LAYOUT GetKeyboardLayout;\r
};\r
\r