#ifndef __HII_DATABASE_H__\r
#define __HII_DATABASE_H__\r
\r
-#error "UEFI 2.1 HII is not fully implemented for now, Please don't include this file now."\r
-\r
#define EFI_HII_DATABASE_PROTOCOL_GUID \\r
{ 0xef9fc172, 0xa1b2, 0x4693, { 0xb3, 0x27, 0x6d, 0x32, 0xfc, 0x41, 0x60, 0x42 } }\r
\r
\r
typedef struct _EFI_HII_DATABASE_PROTOCOL EFI_HII_DATABASE_PROTOCOL;\r
\r
-//\r
-// ConfigurationS of HII.\r
-// \r
-#define GLYPH_WIDTH 8\r
-#define GLYPH_HEIGHT 19\r
-\r
-/**\r
- \r
- Each package starts with a header, as defined above, which \r
- indicates the size and type of the package. When added to a \r
- pointer pointing to the start of the header, Length points at \r
- the next package. The package lists form a package list when \r
- concatenated together and terminated with an \r
- EFI_HII_PACKAGE_HEADER with a Type of EFI_HII_PACKAGE_END. The \r
- type EFI_HII_PACKAGE_TYPE_GUID is used for vendor-defined HII \r
- packages, whose contents are determined by the Guid. The range \r
- of package types starting with EFI_HII_PACKAGE_TYPE_SYSTEM_BEGIN \r
- through EFI_HII_PACKAGE_TYPE_SYSTEM_END are reserved for system \r
- firmware implementers. \r
- \r
- @param Length The size of the package in bytes.\r
- \r
- @param Type The package type. See EFI_HII_PACKAGE_TYPE_x,\r
- below.\r
- \r
- @param Data The package data, the format of which is\r
- determined by Type.\r
- \r
-**/\r
-typedef struct {\r
- UINT32 Length:24;\r
- UINT32 Type:8;\r
- // UINT8 Data[...];\r
-} EFI_HII_PACKAGE_HEADER;\r
-\r
-//\r
-// EFI_HII_PACKAGE_TYPE_x.\r
-// \r
-#define EFI_HII_PACKAGE_TYPE_ALL 0x00\r
-#define EFI_HII_PACKAGE_TYPE_GUID 0x01\r
-#define EFI_HII_PACKAGE_FORM_CONFIG 0x02\r
-#define EFI_HII_PACKAGE_FORM_APP 0x03\r
-#define EFI_HII_PACKAGE_STRINGS 0x04\r
-#define EFI_HII_PACKAGE_FONTS 0x05\r
-#define EFI_HII_PACKAGE_IMAGES 0x06\r
-#define EFI_HII_PACKAGE_SIMPLE_FONTS 0x07\r
-#define EFI_HII_PACKAGE_DEVICE_PATH 0x08\r
-#define EFI_HII_PACKAGE_END 0x09\r
-#define EFI_HII_PACKAGE_TYPE_SYSTEM_BEGIN 0xE0\r
-#define EFI_HII_PACKAGE_TYPE_SYSTEM_END 0xFF\r
-\r
-\r
-/**\r
- \r
- This header uniquely identifies the package list.and is placed \r
- in front of a list of packages. Package lists with the same \r
- PackageListGuid value should contain the same data set. Updated \r
- versions should have updated GUIDs. \r
- \r
- @param PackageListGuid The unique identifier applied to the\r
- list of packages which follows.\r
- \r
- \r
- @param PackageLength The size of the package list (in\r
- bytes), including the header.\r
-\r
-**/\r
-typedef struct {\r
- EFI_GUID PackageListGuid;\r
- UINT32 PackagLength;\r
-} EFI_HII_PACKAGE_LIST_HEADER;\r
-\r
-/**\r
-\r
- The fonts must be presented in Unicode sort order. That is,\r
- the primary sort key is the UnicodeWeight and the secondary\r
- sort key is the SurrogateWeight. It is up to developers who\r
- manage fonts to choose efficient mechanisms for accessing\r
- fonts. The contiguous presentation can easily be used because\r
- narrow and wide glyphs are not intermixed, so a binary search\r
- is possible (hence the requirement that the glyphs be sorted\r
- by weight).\r
-\r
- @param Header The header contains a Length and Type field.\r
- In the case of a font package, the type will\r
- be EFI_HII_PACKAGE_SIMPLE_FONTS and the length\r
- will be the total size of the font package\r
- including the size of the narrow and wide\r
- glyphs. See EFI_HII_PACKAGE_HEADER.\r
-\r
- @param NumberOfNarrowGlyphs The number of NarrowGlyphs that\r
- are included in the font package.\r
-\r
- @param NumberOfWideGlyphs The number of WideGlyphs that are\r
- included in the font package.\r
-\r
- @param NarrowGlyphs An array of EFI_NARROW_GLYPH entries.\r
- The number of entries is specified by\r
- NumberOfNarrowGlyphs.\r
-\r
- @param WideGlyphs An array of EFI_WIDE_GLYPH entries. The\r
- number of entries is specified by\r
- NumberOfWideGlyphs. To calculate the\r
- offset of WideGlyphs, use the offset of\r
- NarrowGlyphs and add the size of\r
- EFI_NARROW_GLYPH multiplied by the\r
- NumberOfNarrowGlyphs.\r
-\r
-*/\r
-typedef struct _EFI_HII_SIMPLE_FONT_PACKAGE_HDR {\r
- EFI_HII_PACKAGE_HEADER Header;\r
- UINT16 NumberOfNarrowGlyphs;\r
- UINT16 NumberOfWideGlyphs;\r
- // EFI_NARROW_GLYPH NarrowGlyphs[];\r
- // EFI_WIDE_GLYPH WideGlyphs[];\r
-} EFI_HII_SIMPLE_FONT_PACKAGE_HDR;\r
-\r
-//\r
-// Contents of EFI_NARROW_GLYPH.Attributes\r
-//\r
-#define EFI_GLYPH_NON_SPACING 0x01\r
-#define EFI_GLYPH_WIDE 0x02\r
-\r
-/**\r
-\r
- Glyphs are represented by two structures, one each for the two\r
- sizes of glyphs. The narrow glyph (EFI_NARROW_GLYPH) is the\r
- normal glyph used for text display.\r
-\r
- @param UnicodeWeight The Unicode representation of the glyph.\r
- The term weight is the technical term\r
- for a character value.\r
-\r
- @param Attributes The data element containing the glyph\r
- definitions; see Related Definitions\r
- below.\r
-\r
- @param GlyphCol1 The column major glyph representation of the\r
- character. Bits with values of one\r
- indicate that the corresponding pixel is to\r
- be on when normally displayed; those with\r
- zero are off.\r
-\r
-**/\r
-typedef struct {\r
- CHAR16 UnicodeWeight;\r
- UINT8 Attributes;\r
- UINT8 GlyphCol1[19];\r
-} EFI_NARROW_GLYPH;\r
-\r
-/**\r
- \r
- Glyphs are represented via the two structures, one each for the\r
- two sizes of glyphs. The wide glyph (EFI_WIDE_GLYPH) is large\r
- enough to display logographic characters.\r
-\r
- @param UnicodeWeight The Unicode representation of the glyph.\r
- The term weight is the technical term\r
- for a character value.\r
-\r
- @param Attributes The data element containing the glyph\r
- definitions; see Related Definitions in\r
- EFI_NARROW_GLYPH for attribute values.\r
- \r
- @param GlyphCol1, GlyphCol2 The column major glyph\r
- representation of the character.\r
- Bits with values of one indicate\r
- that the corresponding pixel is\r
- to be on when normally\r
- displayed; those with zero are\r
- off.\r
- \r
- @param Pad Ensures that sizeof(EFI_WIDE_GLYPH) is twice the\r
- sizeof(EFI_NARROW_GLYPH). The contents of Pad must\r
- bezero.\r
-\r
-\r
-**/\r
-typedef struct {\r
- CHAR16 UnicodeWeight;\r
- UINT8 Attributes;\r
- UINT8 GlyphCol1[GLYPH_HEIGHT];\r
- UINT8 GlyphCol2[GLYPH_HEIGHT];\r
- UINT8 Pad[3];\r
-} EFI_WIDE_GLYPH;\r
-\r
-\r
-//\r
-// EFI_HII_FONT_STYLE\r
-// \r
-typedef UINT32 EFI_HII_FONT_STYLE;\r
-#define EFI_HII_FONT_STYLE_BOLD 0x00000001\r
-#define EFI_HII_FONT_STYLE_ITALIC 0x00000002\r
-#define EFI_HII_FONT_STYLE_EMBOSS 0x00010000\r
-#define EFI_HII_FONT_STYLE_OUTLINE 0x00020000\r
-#define EFI_HII_FONT_STYLE_SHADOW 0x00040000\r
-#define EFI_HII_FONT_STYLE_UNDERLINE 0x00080000\r
-#define EFI_HII_FONT_STYLE_DBL_UNDER 0x00100000\r
-\r
-//\r
-// EFI_HII_GLYPH_BLOCK.BlockType\r
-// \r
-#define EFI_HII_GIBT_END 0x00\r
-#define EFI_HII_GIBT_GLYPH 0x10\r
-#define EFI_HII_GIBT_GLYPHS 0x11\r
-#define EFI_HII_GIBT_GLYPH_DEFAULT 0x12\r
-#define EFI_HII_GIBT_GLYPHS_DEFAULT 0x13\r
-#define EFI_HII_GIBT_DUPLICATE 0x20\r
-#define EFI_HII_GIBT_SKIP2 0x21 \r
-#define EFI_HII_GIBT_SKIP1 0x22\r
-#define EFI_HII_GIBT_DEFAULTS 0x23\r
-#define EFI_HII_GIBT_EXT1 0x30\r
-#define EFI_HII_GIBT_EXT2 0x31\r
-#define EFI_HII_GIBT_EXT4 0x32\r
-\r
-/**\r
-\r
- EFI_HII_GIBT_END block is found. When processing the glyph\r
- blocks, each block refers to the current character value\r
- (CharValueCurrent), which is initially set to one (1). Glyph\r
- blocks of an unknown type should be skipped. If they cannot be\r
- skipped, then processing halts.\r
-\r
-**/\r
-typedef struct _EFI_HII_GLYPH_BLOCK {\r
- UINT8 BlockType;\r
- UINT8 BlockBody[1];\r
-} EFI_HII_GLYPH_BLOCK;\r
-\r
-\r
-/**\r
-\r
- @param Width Width of the character or character cell, in\r
- pixels. For fixed-pitch fonts, this is the same\r
- as the advance.\r
-\r
- @param Height Height of the character or character cell, in\r
- pixels.\r
-\r
- @param OffsetX Offset to the horizontal edge of the character\r
- cell.\r
-\r
- @param OffsetY Offset to the vertical edge of the character\r
- cell.\r
-\r
- @param AdvanceX Number of pixels to advance to the right\r
- when moving from the origin of the current\r
- glyph to the origin of the next glyph.\r
- \r
-**/\r
-typedef struct _EFI_HII_GLYPH_INFO {\r
- UINT16 Width;\r
- UINT16 Height;\r
- INT16 OffsetX;\r
- INT16 OffsetY;\r
- INT16 AdvanceX;\r
-} EFI_HII_GLYPH_INFO;\r
-\r
-\r
-/**\r
- \r
- Changes the default cell information used for subsequent\r
- EFI_HII_GIBT_GLYPH_DEFAULT and EFI_HII_GIBT_GLYPHS_DEFAULT glyph\r
- blocks. The cell information described by Cell remains in effect\r
- until the next EFI_HII_GIBT_DEFAULTS is found. Prior to the\r
- first EFI_HII_GIBT_DEFAULTS block, the cell information in the\r
- fixed header are used.\r
-\r
- @param Header Standard glyph block header, where\r
- Header.BlockType = EFI_HII_GIBT_DEFAULTS.\r
- \r
- @param Cell The new default cell information which will be\r
- applied to all subsequent GLYPH_DEFAULT and\r
- GLYPHS_DEFAULT blocks.\r
-\r
-**/\r
-typedef struct _EFI_HII_GIBT_DEFAULTS_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
- EFI_HII_GLYPH_INFO Cell;\r
-} EFI_HII_GIBT_DEFAULTS_BLOCK;\r
-\r
-\r
-/**\r
- \r
- Indicates that the glyph with character value CharValueCurrent\r
- has the same glyph as a previously defined character value and\r
- increments CharValueCurrent by one.\r
-\r
- @param Header Standard glyph block header, where\r
- Header.BlockType = EFI_HII_GIBT_DUPLICATE.\r
-\r
- @param CharValue The previously defined character value with\r
- the exact same glyph.\r
-\r
-**/\r
-typedef struct _EFI_HII_GIBT_DUPLICATE_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
- CHAR16 CharValue;\r
-} EFI_HII_GIBT_DUPLICATE_BLOCK;\r
-\r
-\r
-/**\r
- \r
- Any glyphs with a character value greater than or equal to\r
- CharValueCurrent are empty.\r
-\r
- @param Header Standard glyph block header, where\r
- Header.BlockType = EFI_HII_GIBT_END.\r
-\r
-**/\r
-typedef struct _EFI_GLYPH_GIBT_END_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
-} EFI_GLYPH_GIBT_END_BLOCK;\r
-\r
-/**\r
- \r
- These are reserved for future expansion, with length bytes\r
- included so that they can be easily skipped.\r
-\r
- @param Header Standard glyph block header, where\r
- Header.BlockType = EFI_HII_GIBT_EXT1,\r
- EFI_HII_GIBT_EXT2 or EFI_HII_GIBT_EXT4.\r
-\r
- @param Length Size of the glyph block, in bytes.\r
-\r
-**/\r
-typedef struct _EFI_HII_GIBT_EXT1_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
- UINT8 BlockType2;\r
- UINT8 Length;\r
-} EFI_HII_GIBT_EXT1_BLOCK;\r
-\r
-\r
-/**\r
- \r
- These are reserved for future expansion, with length bytes\r
- included so that they can be easily skipped.\r
-\r
- @param Header Standard glyph block header, where\r
- Header.BlockType = EFI_HII_GIBT_EXT1,\r
- EFI_HII_GIBT_EXT2 or EFI_HII_GIBT_EXT4.\r
-\r
- @param Length Size of the glyph block, in bytes.\r
-\r
-**/\r
-typedef struct _EFI_HII_GIBT_EXT2_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
- UINT8 BlockType2;\r
- UINT16 Length;\r
-} EFI_HII_GIBT_EXT2_BLOCK;\r
-\r
-/**\r
- \r
- These are reserved for future expansion, with length bytes\r
- included so that they can be easily skipped.\r
-\r
- @param Header Standard glyph block header, where\r
- Header.BlockType = EFI_HII_GIBT_EXT1,\r
- EFI_HII_GIBT_EXT2 or EFI_HII_GIBT_EXT4.\r
-\r
- @param Length Size of the glyph block, in bytes.\r
-\r
-**/\r
-typedef struct _EFI_HII_GIBT_EXT4_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
- UINT8 BlockType2;\r
- UINT32 Length;\r
-} EFI_HII_GIBT_EXT4_BLOCK;\r
-\r
-\r
-/**\r
- \r
- This block provides the bitmap for the character with the value\r
- CharValueCurrent and increments CharValueCurrent by one. Each\r
- glyph contains a glyph width and height, a drawing offset,\r
- number of pixels to advance after drawing and then the encoded\r
- bitmap.\r
-\r
- @param Header Standard glyph block header, where\r
- Header.BlockType = EFI_HII_GIBT_GLYPH.\r
-\r
- @param Cell Contains the width and height of the encoded\r
- bitmap (Cell.Width and Cell.Height), the number\r
- of pixels (signed) right of the character cell\r
- origin where the left edge of the bitmap should\r
- be placed (Cell.OffsetX), the number of pixels\r
- above the character cell origin where the top\r
- edge of the bitmap should be placed\r
- (Cell.OffsetY) and the number of pixels (signed)\r
- to move right to find the origin for the next\r
- charactercell (Cell.AdvanceX).\r
-\r
- @param GlyphCount The number of glyph bitmaps.\r
-\r
- @param BitmapData The bitmap data specifies a series of\r
- pixels, one bit per pixel, left-to-right,\r
- top-tobottom. Each glyph bitmap only\r
- encodes the portion of the bitmap enclosed\r
- by its character-bounding box, but the\r
- entire glyph is padded out to the nearest\r
- byte. The number of bytes per bitmap can\r
- be calculated as: ((Cell.Width + 7)/8) *\r
- Cell.Height.\r
-\r
-\r
-**/\r
-typedef struct _EFI_HII_GIBT_GLYPH_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
- EFI_HII_GLYPH_INFO Cell;\r
- UINT16 GlyphCount;\r
- UINT8 BitmapData[1];\r
-} EFI_HII_GIBT_GLYPH_BLOCK;\r
-\r
-/**\r
- \r
- Provides the bitmaps for the characters with the values\r
- CharValueCurrent through CharValueCurrent + Count -1 and\r
- increments CharValueCurrent by Count. These glyphs have\r
- identical cell information and the encoded bitmaps are exactly\r
- the same number of byes.\r
-\r
- @param Header Standard glyph block header, where\r
- Header.BlockType = EFI_HII_GIBT_GLYPHS.\r
-\r
- @param Cell Contains the width and height of the encoded\r
- bitmap (Cell.Width and Cell.Height), the\r
- number of pixels (signed) right of the\r
- character cell origin where the left edge of\r
- the bitmap should be placed (Cell.OffsetX),\r
- the number of pixels above the character cell\r
- origin where the top edge of the bitmap should\r
- be placed (Cell.OffsetY) and the number of\r
- pixels(signed) to move right to find the\r
- origin for the next character cell\r
- (Cell.AdvanceX).\r
-\r
- @param BitmapData The bitmap data specifies a series of\r
- pixels, one bit per pixel, left-to-right,\r
- top-tobottom, for each glyph. Each glyph\r
- bitmap only encodes the portion of the\r
- bitmap enclosed by its character-bounding\r
- box. The number of bytes per bitmap can be\r
- calculated as: ((Cell.Width + 7)/8) *\r
- Cell.Height.\r
-\r
-**/\r
-typedef struct _EFI_HII_GIBT_GLYPHS_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
- EFI_HII_GLYPH_INFO Cell;\r
- UINT8 BitmapData[1];\r
-} EFI_HII_GIBT_GLYPHS_BLOCK;\r
-\r
-/**\r
- \r
- Provides the bitmap for the character with the value\r
- CharValueCurrent and increments CharValueCurrent by 1. This\r
- glyph uses the default cell information. The default cell\r
- information is found in the font header or the most recently\r
- processed EFI_HII_GIBT_DEFAULTS.\r
-\r
- @param Header Standard glyph block header, where\r
- Header.BlockType = EFI_HII_GIBT_GLYPH_DEFAULT.\r
-\r
- @param BitmapData The bitmap data specifies a series of\r
- pixels, one bit per pixel, left-to-right,\r
- top-tobottom. Each glyph bitmap only\r
- encodes the portion of the bitmap enclosed\r
- by its character-bounding box. The number\r
- of bytes per bitmap can be calculated as:\r
- ((Global.Cell.Width + 7)/8) *\r
- Global.Cell.Height.\r
-\r
-**/\r
-typedef struct _EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
- UINT8 BitmapData[1];\r
-} EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK;\r
-\r
-\r
-\r
-\r
-/**\r
- \r
- Provides the bitmaps for the characters with the values\r
- CharValueCurrent through CharValueCurrent + Count -1 and\r
- increments CharValueCurrent by Count. These glyphs use the\r
- default cell information and the encoded bitmaps have exactly\r
- the same number of byes.\r
-\r
- @param Header Standard glyph block header, where\r
- Header.BlockType =\r
- EFI_HII_GIBT_GLYPHS_DEFAULT.\r
-\r
- @param Count Number of glyphs in the glyph block.\r
-\r
- @param BitmapData The bitmap data specifies a series of\r
- pixels, one bit per pixel, left-to-right,\r
- top-tobottom, for each glyph. Each glyph\r
- bitmap only encodes the portion of the\r
- bitmap enclosed by its character-bounding\r
- box. The number of bytes per bitmap can be\r
- calculated as: ((Global.Cell.Width + 7)/8)\r
- Global.Cell.Height.\r
-\r
-**/\r
-typedef struct _EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
- UINT16 Count;\r
- UINT8 BitmapData[1];\r
-} EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK;\r
-\r
-/**\r
- \r
- Increments the current character value CharValueCurrent by the\r
- number specified.\r
-\r
- @param Header Standard glyph block header, where BlockType =\r
- EFI_HII_GIBT_SKIP1 or EFI_HII_GIBT_SKIP2.\r
-\r
- @param SkipCount The unsigned 8- or 16-bit value to add to\r
- CharValueCurrent.\r
-\r
-**/\r
-typedef struct _EFI_HII_GIBT_SKIP2_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
- UINT16 SkipCount;\r
-} EFI_HII_GIBT_SKIP2_BLOCK;\r
-\r
-\r
-/**\r
- \r
- Increments the current character value CharValueCurrent by the\r
- number specified.\r
-\r
- @param Header Standard glyph block header, where BlockType =\r
- EFI_HII_GIBT_SKIP1 or EFI_HII_GIBT_SKIP2.\r
-\r
- @param SkipCount The unsigned 8- or 16-bit value to add to\r
- CharValueCurrent.\r
-\r
-**/\r
-typedef struct _EFI_HII_GIBT_SKIP1_BLOCK {\r
- EFI_HII_GLYPH_BLOCK Header;\r
- UINT8 SkipCount;\r
-} EFI_HII_GIBT_SKIP1_BLOCK;\r
-\r
-\r
-/**\r
- \r
- This package is created by NewPackageList() when the package\r
- list is first added to the HII database by locating the\r
- EFI_DEVICE_PATH_PROTOCOL attached to the driver handle passed in\r
- to that function.\r
- \r
-**/\r
-typedef EFI_DEVICE_PATH_PROTOCOL EFI_HII_DEVICE_PATH_PACKAGE_HDR;\r
-\r
-\r
-/**\r
- \r
- This is a free-form package type designed to allow extensibility\r
- by allowing the format to be specified using Guid.\r
-\r
- @param Guid Identifier which describes the remaining data\r
- within the package.\r
-\r
-**/\r
-typedef struct _EFI_HII_GUID_PACKAGE_HDR {\r
- EFI_GUID Guid;\r
-} EFI_HII_GUID_PACKAGE_HDR;\r
-\r
-\r
-/**\r
- \r
- The Strings package record describes the mapping between string\r
- identifiers and the actual text of the strings themselves. The\r
- package consists of three parts: a fixed header, the string\r
- information and the font information.\r
-\r
- @param Header The standard package header, where Header.Type\r
- = EFI_HII_PACKAGE_STRINGS.\r
-\r
- @param HdrSize Size of this header.\r
-\r
- @param StringInfoOffset Offset, relative to the start of\r
- this header, of the string information.\r
-\r
- @param LanguageWindow Specifies the default values placed in\r
- the static and dynamic windows before\r
- processing each SCSU-encoded strings.\r
-\r
-\r
- @param LanguageName String identifier within the current\r
- string package of the full name of the\r
- language specified by Language. Language\r
- Language of the strings, as specified by\r
- RFC 3066.\r
-\r
-**/\r
-typedef struct _EFI_HII_STRING_PACKAGE_HDR {\r
- EFI_HII_PACKAGE_HEADER Header;\r
- UINT32 HdrSize;\r
- UINT32 StringInfoOffset;\r
- CHAR16 LanguageWindow[16];\r
- EFI_STRING_ID LanguageName;\r
- CHAR8 Language[1];\r
-} EFI_HII_STRING_PACKAGE_HDR;\r
-\r
-\r
-\r
-/**\r
-\r
- The fixed header consists of a standard record header and then\r
- the character values in this section, the flags (including the\r
- encoding method) and the offsets of the glyph information, the\r
- glyph bitmaps and the character map.\r
-\r
- @param Header The standard package header, where Header.Size\r
- EFI_HII_PACKAGE_FONTS.\r
-\r
- @param HdrSize Size of this header.\r
-\r
- @param GlyphInfoOffset The offset, relative to the start of\r
- this header, of a series of\r
- variable-length glyph blocks, each\r
- describing information about the\r
- bitmap associated with a glyph.\r
-\r
- @param Cell This contains the measurement of the widest and\r
- tallest characters in the font (Cell.Width and\r
- Cell.Height). It also contains the offset to the\r
- horizontal and vertical origin point of the\r
- character cell (Cell.OffsetX and Cell.OffsetY).\r
- Finally, it contains the default AdvanceX. The\r
- individual glyph's OffsetX and OffsetY value is\r
- added to this position to determine where to\r
- draw the top-left pixel of the character's\r
- glyph. The character glyph's AdvanceX is added\r
- to this position to determine the origin point\r
- for the next character.\r
-\r
- @param FontStyle The design style of the font, 1 bit per\r
- style. See EFI_HII_FONT_STYLE.\r
-\r
- @param FontFamily The null-terminated string with the name\r
- of the font family to which the font\r
- belongs.\r
-\r
-**/\r
-typedef struct _EFI_HII_FONT_PACKAGE_HDR {\r
- EFI_HII_PACKAGE_HEADER Header;\r
- UINT32 HdrSize;\r
- UINT32 GlyphBlockOffset;\r
- EFI_HII_GLYPH_INFO Cell;\r
- EFI_HII_FONT_STYLE FontStyle;\r
- CHAR16 FontFamily[1];\r
-} EFI_HII_FONT_PACKAGE_HDR;\r
-\r
-\r
-//\r
-// EFI_HII_STRING_BLOCK.BlockType\r
-// \r
-#define FI_HII_SIBT_END 0x00\r
-#define EFI_HII_SIBT_STRING_SCSU 0x10\r
-#define EFI_HII_SIBT_STRING_SCSU_FONT 0x11\r
-#define EFI_HII_SIBT_STRINGS_SCSU 0x12\r
-#define EFI_HII_SIBT_STRINGS_SCSU_FONT 0x13\r
-#define EFI_HII_SIBT_STRING_UCS2 0x14\r
-#define EFI_HII_SIBT_STRING_UCS2_FONT 0x15\r
-#define EFI_HII_SIBT_STRINGS_UCS2 0x16\r
-#define EFI_HII_SIBT_STRINGS_UCS2_FONT 0x17\r
-#define EFI_HII_SIBT_DUPLICATE 0x20\r
-#define EFI_HII_SIBT_SKIP2 0x21\r
-#define EFI_HII_SIBT_SKIP1 0x22\r
-#define EFI_HII_SIBT_EXT1 0x30\r
-#define EFI_HII_SIBT_EXT2 0x31\r
-#define EFI_HII_SIBT_EXT4 0x32\r
-#define EFI_HII_SIBT_FONT 0x40\r
-\r
-/**\r
- \r
- String blocks specify the text and font for the current string\r
- identifier and increment to the next string identifier.\r
-**/\r
-typedef struct {\r
- UINT8 BlockType;\r
- UINT8 BlockBody[1];\r
-} EFI_HII_STRING_BLOCK;\r
-\r
-\r
-/**\r
- \r
- Indicates that the string with string identifier\r
- StringIdCurrent is the same as a previously defined string and\r
- increments StringIdCurrent by one.\r
- \r
- @param Header Standard string block header, where\r
- Header.BlockType = EFI_HII_SIBT_DUPLICATE.\r
- \r
- @param StringId The string identifier of a previously\r
- defined string with the exact same string\r
- text. Description\r
-\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_DUPLICATE_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- EFI_STRING_ID StringId;\r
-} EFI_HII_SIBT_DUPLICATE_BLOCK;\r
-\r
-/**\r
- \r
- Any strings with a string identifier greater than or equal to\r
- StringIdCurrent are empty.\r
-\r
- @param Header Standard string block header, where\r
- Header.BlockType = EFI_HII_SIBT_END.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_END_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
-} EFI_HII_SIBT_END_BLOCK;\r
-\r
-\r
-/**\r
- \r
- These are reserved for future expansion, with length bytes\r
- included so that they can be easily skip\r
-\r
- @param Header Standard string block header, where\r
- Header.BlockType = EFI_HII_SIBT_EXT1,\r
- EFI_HII_SIBT_EXT2 or EFI_HII_SIBT_EXT4.\r
- \r
- @param Length Size of the string block, in bytes.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_EXT1_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- UINT8 BlockType2;\r
- UINT8 Length;\r
-} EFI_HII_SIBT_EXT1_BLOCK;\r
-\r
-/**\r
- \r
- These are reserved for future expansion, with length bytes\r
- included so that they can be easily skip\r
-\r
- @param Header Standard string block header, where\r
- Header.BlockType = EFI_HII_SIBT_EXT1,\r
- EFI_HII_SIBT_EXT2 or EFI_HII_SIBT_EXT4.\r
- \r
- @param Length Size of the string block, in bytes.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_EXT2_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- UINT8 BlockType2;\r
- UINT16 Length;\r
-} EFI_HII_SIBT_EXT2_BLOCK;\r
-\r
-/**\r
- \r
- These are reserved for future expansion, with length bytes\r
- included so that they can be easily skip\r
-\r
- @param Header Standard string block header, where\r
- Header.BlockType = EFI_HII_SIBT_EXT1,\r
- EFI_HII_SIBT_EXT2 or EFI_HII_SIBT_EXT4.\r
- \r
- @param Length Size of the string block, in bytes.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_EXT4_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- UINT8 BlockType2;\r
- UINT32 Length;\r
-} EFI_HII_SIBT_EXT4_BLOCK;\r
-\r
-/**\r
- \r
- Associates a font identifier FontId with a font name FontName,\r
- size FontSize and style FontStyle. This font identifier may be\r
- used with the string blocks. The font identifier 0 is the\r
- default font for those string blocks which do not specify a font\r
- identifier.\r
-\r
- @param Header Standard extended header, where\r
- Header.BlockType = EFI_HII_SIBT_FONT.\r
-\r
- @param FontId Font identifier, which must be unique within\r
- the font package.\r
-\r
- @param FontSize Character cell size, in pixels, of the font.\r
-\r
- @param FontStyle Font style.\r
-\r
- @param FontName Null-terminated font family name.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_FONT_BLOCK {\r
- EFI_HII_SIBT_EXT2_BLOCK Header;\r
- UINT8 FontId;\r
- UINT16 FontSize;\r
- EFI_HII_FONT_STYLE FontStyle;\r
- CHAR16 FontName[1];\r
-} EFI_HII_SIBT_FONT_BLOCK;\r
-\r
-/**\r
- \r
- Increments the current string identifier StringIdCurrent by the\r
- number specified.\r
-\r
- @param Header Standard string block header, where\r
- Header.BlockType = EFI_HII_SIBT_SKIP1.\r
- \r
- @param SkipCount The unsigned 8-bit value to add to\r
- StringIdCurrent.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_SKIP1_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- UINT8 SkipCount;\r
-} EFI_HII_SIBT_SKIP1_BLOCK;\r
-\r
-/**\r
-\r
- Increments the current string identifier StringIdCurrent by\r
- the number specified.\r
-\r
- @param Header Standard string block header, where\r
- Header.BlockType = EFI_HII_SIBT_SKIP2.\r
-\r
- @param SkipCount The unsigned 16-bit value to add to\r
- StringIdCurrent.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_SKIP2_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- UINT16 SkipCount;\r
-} EFI_HII_SIBT_SKIP2_BLOCK;\r
-\r
-/**\r
- \r
- This string block provides the SCSU-encoded text for the string\r
- in the default font with string identifier StringIdCurrent and\r
- increments StringIdCurrent by one.\r
-\r
- @param Header Standard header where Header.BlockType =\r
- EFI_HII_SIBT_STRING_SCSU.\r
-\r
- @param StringText The string text is a null-terminated\r
- string, which is assigned to the string\r
- identifier StringIdCurrent.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_STRING_SCSU_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- UINT8 StringText[1];\r
-} EFI_HII_SIBT_STRING_SCSU_BLOCK;\r
-\r
-\r
-/**\r
-\r
- This string block provides the SCSU-encoded text for the string\r
- in the font specified by FontIdentifier with string identifier\r
- StringIdCurrent and increments StringIdCurrent by one.\r
-\r
- @param Header Standard string block header, where\r
- Header.BlockType = EFI_HII_SIBT_STRING_SCSU_FONT.\r
-\r
- @param FontIdentifier The identifier of the font to be used\r
- as the starting font for the entire\r
- string. The identifier must either be\r
- 0 for the default font or an\r
- identifier previously specified by an\r
- EFI_HII_SIBT_FONT block. Any string\r
- characters that deviates from this\r
- font family, size or style must\r
- provide an explicit control character.\r
-\r
- @param StringText The string text is a null-terminated\r
- encoded string, which is assigned to the\r
- string identifier StringIdCurrent.\r
-\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_STRING_SCSU_FONT_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- UINT8 FontIdentifier;\r
- UINT8 StringText[1];\r
-} EFI_HII_SIBT_STRING_SCSU_FONT_BLOCK;\r
-\r
-\r
-/**\r
- \r
- This string block provides the SCSU-encoded text for StringCount\r
- strings which have the default font and which have sequential\r
- string identifiers. The strings are assigned the identifiers,\r
- starting with StringIdCurrent and continuing through\r
- StringIdCurrent + StringCount ??C 1. StringIdCurrent is\r
- incremented by StringCount.\r
-\r
- @param Header Standard header where Header.BlockType =\r
- EFI_HII_SIBT_STRINGS_SCSU.\r
-\r
- @param StringCount Number of strings in StringText.\r
-\r
- @param StringText The strings, where each string is a\r
- null-terminated encoded string.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_STRINGS_SCSU_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- UINT16 StringCount;\r
- UINT8 StringText[1];\r
-} EFI_HII_SIBT_STRINGS_SCSU_BLOCK;\r
-\r
-\r
-/**\r
- \r
- This string block provides the SCSU-encoded text for StringCount\r
- strings which have the font specified by FontIdentifier and\r
- which have sequential string identifiers. The strings are\r
- assigned the identifiers, starting with StringIdCurrent and\r
- continuing through StringIdCurrent + StringCount ??C 1.\r
- StringIdCurrent is incremented by StringCount.\r
-\r
- @param Header Standard header where Header.BlockType =\r
- EFI_HII_SIBT_STRINGS_SCSU_FONT.\r
-\r
- @param StringCount Number of strings in StringText.\r
-\r
- @param FontIdentifier The identifier of the font to be used\r
- as the starting font for the entire\r
- string. The identifier must either be\r
- 0 for the default font or an\r
- identifier previously specified by an\r
- EFI_HII_SIBT_FONT block. Any string\r
- characters that deviates from this\r
- font family, size or style must\r
- provide an explicit control character.\r
-\r
- @param StringText The strings, where each string is a\r
- null-terminated encoded string.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_STRINGS_SCSU_FONT_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- UINT16 StringCount;\r
- UINT8 FontIdentifier;\r
- UINT8 StringText[1];\r
-} EFI_HII_SIBT_STRINGS_SCSU_FONT_BLOCK;\r
-\r
-\r
-/**\r
- \r
- This string block provides the UCS-2 encoded text for the string\r
- in the default font with string identifier StringIdCurrent and\r
- increments StringIdCurrent by one.\r
-\r
- @param Header Standard header where Header.BlockType =\r
- EFI_HII_SIBT_STRING_UCS2.\r
-\r
- @param StringText The string text is a null-terminated UCS-2\r
- string, which is assigned to the string\r
- identifier StringIdCurrent.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_STRING_UCS2_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- CHAR16 StringText[1];\r
-} EFI_HII_SIBT_STRING_UCS2_BLOCK;\r
-\r
-\r
-/**\r
- \r
- This string block provides the UCS-2 encoded text for the string\r
- in the font specified by FontIdentifier with string identifier\r
- StringIdCurrent and increments StringIdCurrent by one\r
-\r
- @param Header Standard header where Header.BlockType =\r
- EFI_HII_SIBT_STRING_UCS2_FONT.\r
-\r
- @param FontIdentifier The identifier of the font to be used\r
- as the starting font for the entire\r
- string. The identifier must either be\r
- 0 for the default font or an\r
- identifier previously specified by an\r
- EFI_HII_SIBT_FONT block. Any string\r
- characters that deviates from this\r
- font family, size or style must\r
- provide an explicit control character.\r
-\r
- @param StringText The string text is a null-terminated UCS-2\r
- string, which is assigned to the string\r
- identifier StringIdCurrent.\r
-\r
-**/\r
-typedef struct _EFI_HII_SIBT_STRING_UCS2_FONT_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- UINT8 FontIdentifier;\r
- CHAR16 StringText[1];\r
-} EFI_HII_SIBT_STRING_UCS2_FONT_BLOCK;\r
-\r
-\r
-/**\r
- \r
- This string block provides the UCS-2 encoded text for the\r
- strings in the default font with string identifiers\r
- StringIdCurrent to StringIdCurrent + StringCount - 1 and\r
- increments StringIdCurrent by StringCount.\r
-\r
- @param Header Standard header where Header.BlockType =\r
- EFI_HII_SIBT_STRINGS_UCS2.\r
-\r
- @param StringCount Number of strings in StringText.\r
-\r
- @param StringText The string text is a series of\r
- null-terminated UCS-2 strings, which are\r
- assigned to the string identifiers\r
- StringIdCurrent.to StringIdCurrent +\r
- StringCount - 1.\r
- \r
-**/\r
-typedef struct _EFI_HII_SIBT_STRINGS_UCS2_BLOCK {\r
- EFI_HII_STRING_BLOCK Header;\r
- UINT16 StringCount;\r
- CHAR16 StringText[1];\r
-} EFI_HII_SIBT_STRINGS_UCS2_BLOCK;\r
-\r
-\r
-/**\r
- \r
- The fixed header consists of a standard record header and the\r
- offsets of the image and palette information.\r
-\r
- @param Header Standard package header, where Header.Type =\r
- EFI_HII_PACKAGE_IMAGES. ImageInfoOffset\r
- Offset, relative to this header, of the image\r
- information. If this is zero, then there are\r
- no images in the package.\r
-\r
- @param PaletteInfoOffset Offset, relative to this header, of\r
- the palette information. If this is\r
- zero, then there are no palettes in\r
- the image package.\r
-\r
-**/\r
-typedef struct _EFI_HII_IMAGE_PACKAGE_HDR {\r
- EFI_HII_PACKAGE_HEADER Header;\r
- UINT32 ImageInfoOffset;\r
- UINT32 PaletteInfoOffset;\r
-} EFI_HII_IMAGE_PACKAGE_HDR;\r
-\r
-\r
-//\r
-// EFI_HII_IMAGE_BLOCK\r
-// \r
-typedef struct _EFI_HII_IMAGE_BLOCK {\r
- UINT8 BlockType;\r
- UINT8 BlockBody[1];\r
-} EFI_HII_IMAGE_BLOCK;\r
-\r
-//\r
-// EFI_HII_IMAGE_BLOCK.BlockType.\r
-// \r
-#define EFI_HII_IIBT_END 0x00\r
-#define EFI_HII_IIBT_IMAGE_1BIT 0x10\r
-#define EFI_HII_IIBT_IMAGE_1BIT_TRANS 0x11\r
-#define EFI_HII_IIBT_IMAGE_4BIT 0x12\r
-#define EFI_HII_IIBT_IMAGE_4BIT_TRANS 0x13\r
-#define EFI_HII_IIBT_IMAGE_8BIT 0x14\r
-#define EFI_HII_IIBT_IMAGE_8BIT_TRANS 0x15\r
-#define EFI_HII_IIBT_IMAGE_24BIT 0x16\r
-#define EFI_HII_IIBT_IMAGE_24BIT_TRANS 0x17\r
-#define EFI_HII_IIBT_IMAGE_JPEG 0x18\r
-#define EFI_HII_IIBT_DUPLICATE 0x20\r
-#define EFI_HII_IIBT_SKIP2 0x21\r
-#define EFI_HII_IIBT_SKIP1 0x22\r
-#define EFI_HII_IIBT_EXT1 0x30\r
-#define EFI_HII_IIBT_EXT2 0x31\r
-#define EFI_HII_IIBT_EXT4 0x32\r
-\r
-\r
-/**\r
- \r
- Any images with an image identifier greater than or equal to\r
- ImageIdCurrent are empty.\r
-\r
- @param Header Standard image block header, where\r
- Header.BlockType = EFI_HII_IIBT_END.\r
-\r
-**/\r
-typedef struct _EFI_HII_IIBT_END_BLOCK {\r
- EFI_HII_IMAGE_BLOCK Header;\r
-} EFI_HII_IIBT_END_BLOCK;\r
-\r
-\r
-/**\r
- \r
- Future extensions for image records which need a length-byte\r
- length use this prefix.\r
-\r
- @param Header Standard image block header, where\r
- Header.BlockType = EFI_HII_IIBT_EXT1,\r
- EFI_HII_IIBT_EXT2 or EFI_HII_IIBT_EXT4.\r
- \r
- @param Length Size of the image block, in bytes, including\r
- the image block header.\r
-\r
-**/\r
-typedef struct _EFI_HII_IIBT_EXT1_BLOCK {\r
- EFI_HII_IMAGE_BLOCK Header;\r
- UINT8 BlockType2;\r
- UINT8 Length;\r
-} EFI_HII_IIBT_EXT1_BLOCK;\r
-\r
-/**\r
- \r
- Future extensions for image records which need a length-byte\r
- length use this prefix.\r
-\r
- @param Header Standard image block header, where\r
- Header.BlockType = EFI_HII_IIBT_EXT1,\r
- EFI_HII_IIBT_EXT2 or EFI_HII_IIBT_EXT4.\r
- \r
- @param Length Size of the image block, in bytes, including\r
- the image block header.\r
-\r
-**/\r
-typedef struct _EFI_HII_IIBT_EXT2_BLOCK {\r
- EFI_HII_IMAGE_BLOCK Header;\r
- UINT8 BlockType2;\r
- UINT16 Length;\r
-} EFI_HII_IIBT_EXT2_BLOCK;\r
-\r
-/**\r
- \r
- Future extensions for image records which need a length-byte\r
- length use this prefix.\r
-\r
- @param Header Standard image block header, where\r
- Header.BlockType = EFI_HII_IIBT_EXT1,\r
- EFI_HII_IIBT_EXT2 or EFI_HII_IIBT_EXT4.\r
- \r
- @param Length Size of the image block, in bytes, including\r
- the image block header.\r
-\r
-**/\r
-typedef struct _EFI_HII_IIBT_EXT4_BLOCK {\r
- EFI_HII_IMAGE_BLOCK Header;\r
- UINT8 BlockType2;\r
- UINT32 Length;\r
-} EFI_HII_IIBT_EXT4_BL0CK;\r
-\r
-//\r
-// EFI_HII_IIBT_IMAGE_1BIT_BASE\r
-// \r
-typedef struct _EFI_HII_IIBT_IMAGE_1BIT_BASE {\r
- UINT16 Width;\r
- UINT16 Height;\r
- // UINT8 Data[...];\r
-} EFI_HII_IIBT_IMAGE_1BIT_BASE;\r
-\r
-/**\r
-\r
- This record assigns the 1-bit-per-pixel bitmap data to the\r
- ImageIdCurrent identifier and increment ImageIdCurrent by one.\r
- The data in the EFI_HII_IMAGE_1BIT_TRANS structure is exactly\r
- the same as the EFI_HII_IMAGE_1BIT structure, the difference is\r
- how the data is treated. The bitmap pixel value 0 is the\r
- transparency value and will not be written to the\r
- screen. The bitmap pixel value 1 will be translated to the color\r
- specified by Palette.\r
-\r
- @param Header Standard image header, where Header.BlockType\r
- = EFI_HII_IIBT_IMAGE_1BIT_TRANS.\r
-\r
- @param PaletteIndex Index of the palette in the palette\r
- information.\r
-\r
- @param Bitmap The bitmap specifies a series of pixels, one\r
- bit per pixel, left-to-right, top-to-bottom,\r
- and is padded out to the nearest byte. The\r
- number of bytes per bitmap can be calculated\r
- as: ((Width + 7)/8) * Height.\r
-\r
-**/\r
-typedef struct _EFI_HII_IBIT_IMAGE_1BIT_BLOCK {\r
- EFI_HII_IMAGE_BLOCK Header;\r
- UINT8 PaletteIndex;\r
- EFI_HII_IIBT_IMAGE_1BIT_BASE Bitmap;\r
-} EFI_HII_IIBT_IMAGE_1BIT_BLOCK;\r
-\r
-typedef EFI_HII_IIBT_IMAGE_1BIT_BLOCK EFI_HII_IIBT_IMAGE_1BIT_TRANS_BLOCK;\r
-\r
-\r
-//\r
-// EFI_HII_RGB_PIXEL\r
-// \r
-typedef struct _EFI_HII_RGB_PIXEL {\r
- UINT8 b;\r
- UINT8 g;\r
- UINT8 r;\r
-} EFI_HII_RGB_PIXEL;\r
-\r
-//\r
-// FI_HII_IIBT_IMAGE_24BIT_BASE\r
-// \r
-typedef struct _EFI_HII_IIBT_IMAGE_24BIT_BASE {\r
- UINT16 Width;\r
- UINT16 Height;\r
- // EFI_HII_RGB_PIXEL Bitmap[...];\r
-} EFI_HII_IIBT_IMAGE_24BIT_BASE;\r
-\r
-/**\r
-\r
- This record assigns the 24-bit-per-pixel bitmap data to the \r
- ImageIdCurrent identifier and increment ImageIdCurrent by one. \r
- The image's upper left hand corner pixel is composed of the\r
- first three bitmap bytes. The first byte is the pixel????s blue \r
- component value, the next byte is the pixel????s green component \r
- value, and the third byte is the pixel's red component value\r
- (B,G,R). Each color component value can vary from 0x00 (color \r
- off) to 0xFF (color full on), allowing 16.8 millions colors that \r
- can be specified.\r
-\r
- @param Header Standard image header, where Header.BlockType\r
- = EFI_HII_IIBT_IMAGE_24BIT. Bitmap The bitmap\r
- specifies a series of pixels, 24 bits per\r
- pixel, left-to-right, top-to-bottom. The\r
- number of bytes per bitmap can be calculated\r
- as: (Width * 3) * Height.\r
-\r
- @param Type See EFI_HII_RGB_PIXEL definition.\r
-\r
-**/\r
-typedef struct {\r
- EFI_HII_IMAGE_BLOCK Header;\r
- EFI_HII_IIBT_IMAGE_24BIT_BASE Bitmap;\r
-} EFI_HII_IIBT_IMAGE_24BIT_BLOCK;\r
-\r
-typedef EFI_HII_IIBT_IMAGE_24BIT_BLOCK EFI_HII_IIBT_IMAGE_24BIT_TRANS_BLOCK;\r
-\r
-\r
-\r
-//\r
-// EFI_HII_IIBT_IMAGE_4BIT_BASE\r
-// \r
-typedef struct _EFI_HII_IIBT_IMAGE_4BIT_BASE {\r
- UINT16 Width;\r
- UINT16 Height;\r
- // UINT8 Data[...];\r
-} EFI_HII_IIBT_IMAGE_4BIT_BASE;\r
-\r
-/**\r
- \r
- This record assigns the 4-bit-per-pixel bitmap data to the\r
- ImageIdCurrent identifier using the specified palette and\r
- increment ImageIdCurrent by one. The image????s upper left hand\r
- corner pixel is the most significant nibble of the first bitmap\r
- byte.\r
-\r
- @param Header Standard image header, where Header.BlockType\r
- = EFI_HII_IIBT_IMAGE_4BIT.\r
-\r
- @param PaletteIndex Index of the palette in the palette\r
- information.\r
-\r
- @param Bitmap The bitmap specifies a series of pixels, four\r
- bits per pixel, left-to-right, top-to-bottom,\r
- and is padded out to the nearest byte. The\r
- number of bytes per bitmap can be calculated\r
- as: ((Width + 1)/2) Height.\r
-\r
-**/\r
-typedef struct _EFI_HII_IIBT_IMAGE_4BIT_BLOCK {\r
- EFI_HII_IMAGE_BLOCK Header;\r
- UINT8 PaletteIndex;\r
- EFI_HII_IIBT_IMAGE_4BIT_BASE Bitmap;\r
-} EFI_HII_IIBT_IMAGE_4BIT_BLOCK;\r
-\r
-typedef EFI_HII_IIBT_IMAGE_4BIT_BLOCK EFI_HII_IIBT_IMAGE_4BIT_TRANS_BLOCK;\r
-\r
-\r
-\r
-//\r
-// EFI_HII_IIBT_IMAGE_8BIT_BASE \r
-// \r
-typedef struct _EFI_HII_IIBT_IMAGE_8BIT_BASE {\r
- UINT16 Width;\r
- UINT16 Height;\r
- // UINT8 Data[...];\r
-} EFI_HII_IIBT_IMAGE_8BIT_BASE;\r
-\r
-/**\r
- \r
- This record assigns the 8-bit-per-pixel bitmap data to the\r
- ImageIdCurrent identifier using the specified palette and\r
- increment ImageIdCurrent by one. The image????s upper left hand\r
- corner pixel is the first bitmap byte.\r
-\r
- @param Header Standard image header, where Header.BlockType\r
- = EFI_HII_IIBT_IMAGE_8BIT.\r
-\r
- @param PaletteIndex Index of the palette in the palette\r
- information.\r
-\r
- @param Bitmap The bitmap specifies a series of pixels, eight\r
- bits per pixel, left-to-right, top-to-bottom.\r
- The number of bytes per bitmap can be\r
- calculated as: Width * Height.\r
-\r
-**/\r
-typedef struct _EFI_HII_IIBT_IMAGE_8BIT_PALETTE {\r
- EFI_HII_IMAGE_BLOCK Header;\r
- UINT8 PaletteIndex;\r
- EFI_HII_IIBT_IMAGE_8BIT_BASE Bitmap;\r
-} EFI_HII_IIBT_IMAGE_8BIT_PALETTE;\r
-\r
-typedef EFI_HII_IIBT_IMAGE_8BIT_PALETTE EFI_HII_IIBT_IMAGE_8BIT_TRANS_BLOCK;\r
-\r
-\r
-/**\r
- \r
- Indicates that the image with image ID ImageValueCurrent has the\r
- same image as a previously defined image ID and increments\r
- ImageValueCurrent by one\r
-\r
- @param Header Standard image header, where Header.BlockType\r
- = EFI_HII_IIBT_DUPLICATE.\r
-\r
- @param ImageId The previously defined image ID with the exact\r
- same image.\r
-\r
-\r
-**/\r
-typedef struct _EFI_HII_IIBT_DUPLICATE_BLOCK {\r
- EFI_HII_IMAGE_BLOCK Header;\r
- EFI_IMAGE_ID ImageId;\r
-} EFI_HII_IIBT_DUPLICATE_BLOCK;\r
-\r
-\r
-/**\r
- \r
- This record assigns the JPEG image data to the ImageIdCurrent\r
- identifier and increment ImageIdCurrent by one. The JPEG decoder\r
- is only required to cover the basic JPEG encoding types, which\r
- are produced by standard available paint packages (for example:\r
- MSPaint under Windows from Microsoft). This would include JPEG\r
- encoding of high (1:1:1) and medium (4:1:1) quality with only\r
- three components (R,G,B) ??C no support for the special gray\r
- component encoding.\r
-\r
- @param Header Standard image header, where Header.BlockType\r
- = EFI_HII_IIBT_IMAGE_JPEG.\r
- \r
- @param Size Specifies the size of the JPEG encoded data.\r
- \r
- @param Data JPEG encoded data with ????JFIF???? signature at\r
- offset 6 in the data block. The JPEG encoded\r
- data, specifies type of encoding and final size\r
- of true-color image.\r
-\r
-**/\r
-typedef struct _EFI_HII_IIBT_JPEG {\r
- EFI_HII_IMAGE_BLOCK Header;\r
- UINT32 Size;\r
- //UINT8 Data[ ¡ ];\r
-} EFI_HII_IIBT_JPEG;\r
-\r
-\r
-/**\r
- \r
- Increments the current image ID ImageIdCurrent by the number\r
- specified.\r
- \r
- @param Header Standard image header, where Header.BlockType\r
- = EFI_HII_IIBT_SKIP1.\r
- \r
- @param SkipCount The unsigned 8-bit value to add to\r
- ImageIdCurrent.\r
-\r
-**/\r
-typedef struct _EFI_HII_IIBT_SKIP1_BLOCK {\r
- EFI_HII_IMAGE_BLOCK Header;\r
- UINT8 SkipCount;\r
-} EFI_HII_IIBT_SKIP1_BLOCK;\r
-\r
-/**\r
- \r
- Increments the current image ID ImageIdCurrent by the number\r
- specified.\r
- \r
- @param Header Standard image header, where Header.BlockType\r
- = EFI_HII_IIBT_SKIP2.\r
- \r
- @param SkipCount The unsigned 16-bit value to add to\r
- ImageIdCurrent.\r
-\r
-**/\r
-typedef struct _EFI_HII_IIBT_SKIP2_BLOCK {\r
- EFI_HII_IMAGE_BLOCK Header;\r
- UINT16 SkipCount;\r
-} EFI_HII_IIBT_SKIP2_BLOCK;\r
-\r
-\r
-/**\r
- \r
- This fixed header is followed by zero or more variable-length\r
- palette information records. The structures are assigned a\r
- number 1 to n.\r
-\r
- @param PaletteCount Number of palettes.\r
-\r
-**/\r
-typedef struct _EFI_HII_IMAGE_PALETTE_INFO_HEADER {\r
- UINT16 PaletteCount;\r
-} EFI_HII_IMAGE_PALETTE_INFO_HEADER;\r
-\r
-/**\r
- \r
- Each palette information record is an array of 24-bit color\r
- structures. The first entry (PaletteValue[0]) corresponds to\r
- color 0 in the source image; the second entry (PaletteValue[1])\r
- corresponds to color 1, etc. Each palette entry is a three byte\r
- entry, with the first byte equal to the blue component of the\r
- color, followed by green, and finally red (B,G,R). Each color\r
- component value can vary from 0x00 (color off) to 0xFF (color\r
- full on), allowing 16.8 millions colors that can be specified.\r
-\r
- @param PaletteSize Size of the palette information.\r
- \r
- @param PaletteValue Array of color values.\r
- \r
-**/\r
-typedef struct _EFI_HII_IMAGE_PALETTE_INFO {\r
- UINT16 PaletteSize;\r
- // EFI_HII_RGB_PIXEL PaletteValue[...];\r
-} EFI_HII_IMAGE_PALETTE_INFO;\r
-\r
-\r
\r
//\r
// EFI_HII_DATABASE_NOTIFY_TYPE\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_HII_DATABASE_NOTIFY) (\r
- IN CONST UINT8 PackageType,\r
+ IN UINT8 PackageType,\r
IN CONST EFI_GUID *PackageGuid,\r
IN CONST EFI_HII_PACKAGE_HEADER *Package,\r
- IN CONST EFI_HII_HANDLE Handle,\r
- IN CONST EFI_HII_DATABASE_NOTIFY_TYPE NotifyType\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType\r
);\r
\r
/**\r
\r
@param DriverHandle Associate the package list with this EFI\r
handle Handle A pointer to the\r
- EFI_HII_HANDLE instance.\r
+ EFI_HII_HANDLE instance.\r
\r
@retval EFI_SUCCESS The package list associated with the\r
Handle was added to the HII database.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_HII_NEW_PACK) (\r
+(EFIAPI *EFI_HII_DATABASE_NEW_PACK) (\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList,\r
- IN CONST EFI_HANDLE DriverHandle,\r
- OUT EFI_HII_HANDLE *Handle\r
+ IN EFI_HANDLE DriverHandle,\r
+ OUT EFI_HII_HANDLE *Handle\r
);\r
\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_HII_REMOVE_PACK) (\r
+(EFIAPI *EFI_HII_DATABASE_REMOVE_PACK) (\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN CONST EFI_HII_HANDLE Handle\r
+ IN EFI_HII_HANDLE Handle\r
);\r
\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_HII_UPDATE_PACK) (\r
+(EFIAPI *EFI_HII_DATABASE_UPDATE_PACK) (\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN CONST EFI_HII_HANDLE Handle,\r
+ IN EFI_HII_HANDLE Handle,\r
IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList\r
);\r
\r
that is required for the handles\r
found.\r
\r
- @param Handle An array of EFI_HII_HANDLE instances returned.\r
+ @param Handle An array of EFI_HII_HANDLE instances returned.\r
\r
\r
@retval EFI_SUCCESS Handle was updated successfully.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_HII_LIST_PACKS) (\r
+(EFIAPI *EFI_HII_DATABASE_LIST_PACKS) (\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN CONST UINT8 PackageType,\r
+ IN UINT8 PackageType,\r
IN CONST EFI_GUID *PackageGuid,\r
IN OUT UINTN *HandleBufferLength,\r
- OUT EFI_HII_HANDLE *Handle\r
+ OUT EFI_HII_HANDLE *Handle\r
);\r
\r
\r
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL\r
instance.\r
\r
- @param Handle An EFI_HII_HANDLE that corresponds to the\r
+ @param Handle An EFI_HII_HANDLE that corresponds to the\r
desired package list in the HII database to\r
export or NULL to indicate all package lists\r
should be exported. \r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_HII_EXPORT_PACKS) (\r
- IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN CONST EFI_HII_HANDLE Handle,\r
- IN OUT UINTN *BufferSize,\r
- OUT EFI_HII_PACKAGE_HEADER *Buffer\r
+(EFIAPI *EFI_HII_DATABASE_EXPORT_PACKS) (\r
+ IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN OUT UINTN *BufferSize,\r
+ OUT EFI_HII_PACKAGE_LIST_HEADER *Buffer\r
);\r
\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_HII_REGISTER_NOTIFY) (\r
+(EFIAPI *EFI_HII_DATABASE_REGISTER_NOTIFY) (\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN CONST UINT8 PackageType,\r
+ IN UINT8 PackageType,\r
IN CONST EFI_GUID *PackageGuid,\r
- IN CONST EFI_HII_DATABASE_NOTIFY PackageNotifyFn,\r
- IN CONST EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN EFI_HII_DATABASE_NOTIFY PackageNotifyFn,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
OUT EFI_HANDLE *NotifyHandle\r
);\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_HII_UNREGISTER_NOTIFY) (\r
+(EFIAPI *EFI_HII_DATABASE_UNREGISTER_NOTIFY) (\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN CONST EFI_HANDLE NotificationHandle\r
+ IN EFI_HANDLE NotificationHandle\r
);\r
\r
\r
-/**\r
- \r
- @param Header The general pack header which defines both the\r
- type of pack and the length of the entire\r
- pack.\r
-\r
- @param LayoutCount The number of keyboard layouts contained\r
- in the entire keyboard pack.\r
-\r
- @param Layout An array of LayoutCount number of keyboard\r
- layouts.\r
-\r
-**/\r
-typedef struct {\r
- EFI_HII_PACKAGE_HEADER Header;\r
- UINT16 LayoutCount;\r
- // EFI_HII_KEYBOARD_LAYOUT Layout[...];\r
-} EFI_HII_KEYBOARD_PACK;\r
-\r
-/**\r
- \r
- @param LayoutLength The length of the current keyboard\r
- layout.\r
-\r
- @param Guid The unique ID associated with this keyboard\r
- layout.\r
-\r
- @param LayoutDescriptorString An offset location (0 is the\r
- beginning of the\r
- EFI_KEYBOARD_LAYOUT instance)\r
- of the string which describes\r
- this keyboard layout. The data\r
- that is being referenced is in\r
- EFI_DESCRIPTION_STRING_BUNDLE\r
- format.\r
-\r
- @param DescriptorCount The number of Descriptor entries in\r
- this layout.\r
-\r
- @param Descriptors An array of key descriptors.\r
-\r
-**/\r
-typedef struct {\r
- UINT16 LayoutLength;\r
- EFI_GUID Guid;\r
- RELOFST LayoutDescriptorString;\r
- UINT8 DescriptorCount;\r
- // EFI_KEY_DESCRIPTOR Descriptors[...];\r
-} EFI_HII_KEYBOARD_LAYOUT;\r
-\r
-\r
-/**\r
- \r
- @param Language The language to associate with\r
- DescriptionString.\r
-\r
- @param Space A space (U-0x0020) character to force as a\r
- separator between the Language field and the\r
- formal description string.\r
-\r
- @param DescriptionString A null-terminated description\r
- string.\r
-\r
-**/\r
-typedef struct {\r
- CHAR16 Language[3];\r
- CHAR16 Space;\r
- CHAR16 DescriptionString[1];\r
-} EFI_DESCRIPTION_STRING;\r
-\r
-/**\r
- \r
- @param DescriptionCount The number of description strings.\r
-\r
- @param DescriptionString An array of language-specific\r
- description strings.\r
-\r
-**/\r
-typedef struct {\r
- UINT16 DescriptionCount;\r
- // EFI_DESCRIPTION_STRING DescriptionString[];\r
-} EFI_DESCRIPTION_STRING_BUNDLE;\r
-\r
-/**\r
-\r
- See the figure below for which key corresponds to the values in\r
- the enumeration above. For example, EfiKeyLCtrl corresponds to\r
- the left control key in the lower-left corner of the keyboard,\r
- EfiKeyFour corresponds to the 4 key on the numeric keypad, and\r
- EfiKeySLck corresponds to the Scroll Lock key in the upper-right\r
- corner of the keyboard.\r
-\r
-**/\r
-typedef enum {\r
- EfiKeyLCtrl, EfiKeyA0, EfiKeyLAlt, EfiKeySpaceBar,\r
- EfiKeyA2, EfiKeyA3, EfiKeyA4, EfiKeyRCtrl, EfiKeyLeftArrow,\r
- EfiKeyDownArrow, EfiKeyRightArrow, EfiKeyZero,\r
- EfiKeyPeriod, EfiKeyEnter, EfiKeyLShift, EfiKeyB0,\r
- EfiKeyB1, EfiKeyB2, EfiKeyB3, EfiKeyB4, EfiKeyB5, EfiKeyB6,\r
- EfiKeyB7, EfiKeyB8, EfiKeyB9, EfiKeyB10, EfiKeyRshift,\r
- EfiKeyUpArrow, EfiKeyOne, EfiKeyTwo, EfiKeyThree,\r
- EfiKeyCapsLock, EfiKeyC1, EfiKeyC2, EfiKeyC3, EfiKeyC4,\r
- EfiKeyC5, EfiKeyC6, EfiKeyC7, EfiKeyC8, EfiKeyC9,\r
- EfiKeyC10, EfiKeyC11, EfiKeyC12, EfiKeyFour, EfiKeyFive,\r
- EfiKeySix, EfiKeyPlus, EfiKeyTab, EfiKeyD1, EfiKeyD2,\r
- EfiKeyD3, EfiKeyD4, EfiKeyD5, EfiKeyD6, EfiKeyD7, EfiKeyD8,\r
- EfiKeyD9, EfiKeyD10, EfiKeyD11, EfiKeyD12, EfiKeyD13,\r
- EfiKeyDel, EfiKeyEnd, EfiKeyPgDn, EfiKeySeven, EfiKeyEight,\r
- EfiKeyNine, EfiKeyE0, EfiKeyE1, EfiKeyE2, EfiKeyE3,\r
- EfiKeyE4, EfiKeyE5, EfiKeyE6, EfiKeyE7, EfiKeyE8, EfiKeyE9,\r
- EfiKeyE10, EfiKeyE11, EfiKeyE12, EfiKeyBackSpace,\r
- EfiKeyIns, EfiKeyHome, EfiKeyPgUp, EfiKeyNLck, EfiKeySlash,\r
- EfiKeyAsterisk, EfiKeyMinus, EfiKeyEsc, EfiKeyF1, EfiKeyF2,\r
- EfiKeyF3, EfiKeyF4, EfiKeyF5, EfiKeyF6, EfiKeyF7, EfiKeyF8,\r
- EfiKeyF9, EfiKeyF10, EfiKeyF11, EfiKeyF12, EfiKeyPrint,\r
- EfiKeySLck, EfiKeyPause\r
-} EFI_KEY;\r
-\r
-/**\r
- \r
- @param Key Used to describe a physical key on a keyboard.\r
-\r
- @param Unicode Unicode value for the Key.\r
-\r
- @param ShiftedUnicode Unicode value for the key with the\r
- shift key being held down. \r
-\r
- @param AltGrUnicode Unicode value for the key with the\r
- Alt-GR being held down.\r
-\r
- @param ShiftedAltGrUnicode Unicode value for the key with the\r
- Alt-GR and shift keys being held down.\r
-\r
- @param Modifier Modifier keys are defined to allow for\r
- special functionality that is not\r
- necessarily accomplished by a printable\r
- character. Many of these modifier keys are\r
- flags to toggle certain state bits on and\r
- off inside of a keyboard driver.\r
- \r
-**/\r
-typedef struct {\r
- EFI_KEY Key;\r
- CHAR16 Unicode;\r
- CHAR16 ShiftedUnicode;\r
- CHAR16 AltGrUnicode;\r
- CHAR16 ShiftedAltGrUnicode;\r
- UINT16 Modifier;\r
-} EFI_KEY_DESCRIPTOR;\r
-\r
-\r
-//\r
-// Modifier values\r
-//\r
-#define EFI_NULL_MODIFIER 0x0000\r
-#define EFI_LEFT_CONTROL_MODIFIER 0x0001\r
-#define EFI_RIGHT_CONTROL_MODIFIER 0x0002\r
-#define EFI_LEFT_ALT_MODIFIER 0x0003\r
-#define EFI_RIGHT_ALT_MODIFIER 0x0004\r
-#define EFI_ALT_GR_MODIFIER 0x0005\r
-#define EFI_INSERT_MODIFIER 0x0006\r
-#define EFI_DELETE_MODIFIER 0x0007\r
-#define EFI_PAGE_DOWN_MODIFIER 0x0008\r
-#define EFI_PAGE_UP_MODIFIER 0x0009\r
-#define EFI_HOME_MODIFIER 0x000A\r
-#define EFI_END_MODIFIER 0x000B\r
-#define EFI_LEFT_SHIFT_MODIFIER 0x000C\r
-#define EFI_RIGHT_SHIFT_MODIFIER 0x000D\r
-#define EFI_CAPS_LOCK_MODIFIER 0x000E\r
-#define EFI_NUM_LOCK _MODIFIER 0x000F\r
-#define EFI_LEFT_ARROW_MODIFIER 0x0010\r
-#define EFI_RIGHT_ARROW_MODIFIER 0x0011\r
-#define EFI_DOWN_ARROW_MODIFIER 0x0012\r
-#define EFI_UP_ARROW_MODIFIER 0X0013\r
-#define EFI_NS_KEY_MODIFIER 0x0014\r
-#define EFI_NS_KEY_DEPENDENCY_MODIFIER 0x0015\r
-#define EFI_FUNCTION_KEY_ONE_MODIFIER 0x0016\r
-#define EFI_FUNCTION_KEY_TWO_MODIFIER 0x0017\r
-#define EFI_FUNCTION_KEY_THREE_MODIFIER 0x0018\r
-#define EFI_FUNCTION_KEY_FOUR_MODIFIER 0x0019\r
-#define EFI_FUNCTION_KEY_FIVE_MODIFIER 0x001A\r
-#define EFI_FUNCTION_KEY_SIX_MODIFIER 0x001B\r
-#define EFI_FUNCTION_KEY_SEVEN_MODIFIER 0x001C\r
-#define EFI_FUNCTION_KEY_EIGHT_MODIFIER 0x001D\r
-#define EFI_FUNCTION_KEY_NINE_MODIFIER 0x001E\r
-#define EFI_FUNCTION_KEY_TEN_MODIFIER 0x001F\r
-#define EFI_FUNCTION_KEY_ELEVEN_MODIFIER 0x0020\r
-#define EFI_FUNCTION_KEY_TWELVE_MODIFIER 0x0021\r
-//\r
-// Keys that have multiple control functions based on modifier\r
-// settings are handled in the keyboard driver implementation.\r
-// For instance PRINT_KEY might have a modifier held down and\r
-// is still a nonprinting character, but might have an alternate\r
-// control function like SYSREQUEST\r
-//\r
-#define EFI_PRINT_MODIFIER 0x0022\r
-#define EFI_SYS_REQUEST_MODIFIER 0x0023\r
-#define EFI_SCROLL_LOCK_MODIFIER 0x0024\r
-#define EFI_PAUSE_MODIFIER 0x0025\r
-#define EFI_BREAK_MODIFIER 0x0026\r
-\r
-\r
-\r
/**\r
\r
This routine retrieves an array of GUID values for each keyboard\r
(EFIAPI *EFI_HII_GET_KEYBOARD_LAYOUT) (\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
IN CONST EFI_GUID *KeyGuid,\r
+ IN OUT UINT16 *KeyboardLayoutLength,\r
OUT EFI_HII_KEYBOARD_LAYOUT *KeyboardLayout\r
);\r
\r
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL\r
instance.\r
\r
- @param PackageListHandle An EFI_HII_HANDLE that corresponds\r
+ @param PackageListHandle An EFI_HII_HANDLE that corresponds\r
to the desired package list in the\r
HIIdatabase.\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_HII_GET_PACK_HANDLE) (\r
+(EFIAPI *EFI_HII_DATABASE_GET_PACK_HANDLE) (\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN CONST EFI_HII_HANDLE PackageListHandle,\r
+ IN EFI_HII_HANDLE PackageListHandle,\r
OUT EFI_HANDLE *DriverHandle\r
);\r
\r
\r
**/\r
struct _EFI_HII_DATABASE_PROTOCOL {\r
- EFI_HII_NEW_PACK NewPackageList;\r
- EFI_HII_REMOVE_PACK RemovePackageList;\r
- EFI_HII_UPDATE_PACK UpdatePackageList;\r
- EFI_HII_LIST_PACKS ListPackageLists;\r
- EFI_HII_EXPORT_PACKS ExportPackageLists;\r
- EFI_HII_REGISTER_NOTIFY RegisterPackageNotify;\r
- EFI_HII_UNREGISTER_NOTIFY UnregisterPackageNotify;\r
- EFI_HII_FIND_KEYBOARD_LAYOUTS FindKeyboardLayouts;\r
- EFI_HII_GET_KEYBOARD_LAYOUT GetKeyboardLayout;\r
- EFI_HII_SET_KEYBOARD_LAYOUT SetKeyboardLayout;\r
- EFI_HII_GET_PACK_HANDLE GetPackageHandle;\r
+ EFI_HII_DATABASE_NEW_PACK NewPackageList;\r
+ EFI_HII_DATABASE_REMOVE_PACK RemovePackageList;\r
+ EFI_HII_DATABASE_UPDATE_PACK UpdatePackageList;\r
+ EFI_HII_DATABASE_LIST_PACKS ListPackageLists;\r
+ EFI_HII_DATABASE_EXPORT_PACKS ExportPackageLists;\r
+ EFI_HII_DATABASE_REGISTER_NOTIFY RegisterPackageNotify;\r
+ EFI_HII_DATABASE_UNREGISTER_NOTIFY UnregisterPackageNotify;\r
+ EFI_HII_FIND_KEYBOARD_LAYOUTS FindKeyboardLayouts;\r
+ EFI_HII_GET_KEYBOARD_LAYOUT GetKeyboardLayout;\r
+ EFI_HII_SET_KEYBOARD_LAYOUT SetKeyboardLayout;\r
+ EFI_HII_DATABASE_GET_PACK_HANDLE GetPackageListHandle;\r
};\r
\r
extern EFI_GUID gEfiHiiDatabaseProtocolGuid;\r
\r
#endif\r
\r
+\r