+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
-\r
- HiiDatabase.h\r
-\r
-Abstract:\r
-\r
- This file contains global defines and prototype definitions \r
- for the HII database.\r
-\r
---*/\r
-\r
-#ifndef _HIIDATABASE_H\r
-#define _HIIDATABASE_H\r
-\r
-//\r
-// HII Database Global data\r
-//\r
-#define EFI_HII_DATA_SIGNATURE EFI_SIGNATURE_32 ('H', 'i', 'i', 'P')\r
-\r
-#define MAX_GLYPH_COUNT 65535\r
-#define NARROW_GLYPH_ARRAY_SIZE 19\r
-#define WIDE_GLYPH_ARRAY_SIZE 38\r
-\r
-#define SETUP_MAP_NAME L"Setup"\r
-#define HII_VARIABLE_SUFFIX_USER_DATA L"UserSavedData"\r
-#define HII_VARIABLE_SUFFIX_DEFAULT_OVERRIDE L"DefaultOverride"\r
-#define HII_VARIABLE_SUFFIX_MANUFACTURING_OVERRIDE L"ManufacturingOverride"\r
-\r
-typedef struct _EFI_HII_HANDLE_DATABASE {\r
- VOID *Buffer; // Actual buffer pointer\r
- EFI_HII_HANDLE Handle; // Monotonically increasing value to signify the value returned to caller\r
- UINT32 NumberOfTokens; // The initial number of tokens when first registered\r
- struct _EFI_HII_HANDLE_DATABASE *NextHandleDatabase;\r
-} EFI_HII_HANDLE_DATABASE;\r
-\r
-typedef struct {\r
- EFI_NARROW_GLYPH NarrowGlyphs[MAX_GLYPH_COUNT];\r
- EFI_WIDE_GLYPH WideGlyphs[MAX_GLYPH_COUNT];\r
- EFI_KEY_DESCRIPTOR SystemKeyboardLayout[106];\r
- EFI_KEY_DESCRIPTOR OverrideKeyboardLayout[106];\r
- BOOLEAN SystemKeyboardUpdate; // Has the SystemKeyboard been updated?\r
-} EFI_HII_GLOBAL_DATA;\r
-\r
-typedef struct {\r
- UINTN Signature;\r
-\r
- EFI_HII_GLOBAL_DATA *GlobalData;\r
- EFI_HII_HANDLE_DATABASE *DatabaseHead; // Head of the Null-terminated singly-linked list of handles.\r
- EFI_HII_PROTOCOL Hii;\r
-} EFI_HII_DATA;\r
-\r
-typedef struct {\r
- EFI_HII_HANDLE Handle;\r
- EFI_GUID Guid;\r
- EFI_HII_HANDLE_PACK HandlePack;\r
- UINTN IfrSize;\r
- UINTN StringSize;\r
- EFI_HII_IFR_PACK *IfrData; // All the IFR data stored here\r
- EFI_HII_STRING_PACK *StringData; // All the String data stored at &IfrData + IfrSize (StringData is just a label - never referenced)\r
-} EFI_HII_PACKAGE_INSTANCE;\r
-\r
-typedef struct {\r
- EFI_HII_PACK_HEADER Header;\r
- EFI_IFR_FORM_SET FormSet;\r
- EFI_IFR_END_FORM_SET EndFormSet;\r
-} EFI_FORM_SET_STUB;\r
-\r
-#define EFI_HII_DATA_FROM_THIS(a) CR (a, EFI_HII_DATA, Hii, EFI_HII_DATA_SIGNATURE)\r
-\r
-#define NARROW_WIDTH 8\r
-#define WIDE_WIDTH 16\r
-\r
-extern UINT8 mUnknownGlyph[38];\r
-\r
-//\r
-// Prototypes\r
-//\r
-EFI_STATUS\r
-GetPackSize (\r
- IN VOID *Pack,\r
- OUT UINTN *PackSize,\r
- OUT UINT32 *NumberOfTokens\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-ValidatePack (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_PACKAGE_INSTANCE *PackageInstance,\r
- OUT EFI_HII_PACKAGE_INSTANCE **StringPackageInstance,\r
- OUT UINT32 *TotalStringCount\r
- )\r
-;\r
-\r
-//\r
-// Public Interface Prototypes\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-InitializeHiiDatabase (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiNewPack (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_PACKAGES *PackageList,\r
- OUT EFI_HII_HANDLE *Handle\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiRemovePack (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_HANDLE Handle\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiFindHandles (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN OUT UINT16 *HandleBufferLength,\r
- OUT EFI_HII_HANDLE *Handle\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiExportDatabase (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_HANDLE Handle,\r
- IN OUT UINTN *BufferSize,\r
- OUT VOID *Buffer\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiGetGlyph (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN CHAR16 *Source,\r
- IN OUT UINT16 *Index,\r
- OUT UINT8 **GlyphBuffer,\r
- OUT UINT16 *BitWidth,\r
- IN OUT UINT32 *InternalStatus\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiGlyphToBlt (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN UINT8 *GlyphBuffer,\r
- IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL Foreground,\r
- IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL Background,\r
- IN UINTN Count,\r
- IN UINTN Width,\r
- IN UINTN Height,\r
- IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiNewString (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN CHAR16 *Language,\r
- IN EFI_HII_HANDLE Handle,\r
- IN OUT STRING_REF *Reference,\r
- IN CHAR16 *NewString\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiGetString (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_HANDLE Handle,\r
- IN STRING_REF Token,\r
- IN BOOLEAN Raw,\r
- IN CHAR16 *LanguageString,\r
- IN OUT UINTN *BufferLength,\r
- OUT EFI_STRING StringBuffer\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiResetStrings (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_HANDLE Handle\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiTestString (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN CHAR16 *StringToTest,\r
- IN OUT UINT32 *FirstMissing,\r
- OUT UINT32 *GlyphBufferSize\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiGetPrimaryLanguages (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_HANDLE Handle,\r
- OUT EFI_STRING *LanguageString\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiGetSecondaryLanguages (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_HANDLE Handle,\r
- IN CHAR16 *PrimaryLanguage,\r
- OUT EFI_STRING *LanguageString\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiGetLine (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_HANDLE Handle,\r
- IN STRING_REF Token,\r
- IN OUT UINT16 *Index,\r
- IN UINT16 LineWidth,\r
- IN CHAR16 *LanguageString,\r
- IN OUT UINT16 *BufferLength,\r
- OUT EFI_STRING StringBuffer\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiGetForms (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_HANDLE Handle,\r
- IN EFI_FORM_ID FormId,\r
- IN OUT UINTN *BufferLength,\r
- OUT UINT8 *Buffer\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiGetDefaultImage (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_HANDLE Handle,\r
- IN UINTN DefaultMask,\r
- OUT EFI_HII_VARIABLE_PACK_LIST **VariablePackList\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiUpdateForm (\r
- IN EFI_HII_PROTOCOL *This,\r
- IN EFI_HII_HANDLE Handle,\r
- IN EFI_FORM_LABEL Label,\r
- IN BOOLEAN AddData,\r
- IN EFI_HII_UPDATE_DATA *Data\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-HiiGetKeyboardLayout (\r
- IN EFI_HII_PROTOCOL *This,\r
- OUT UINT16 *DescriptorCount,\r
- OUT EFI_KEY_DESCRIPTOR *Descriptor\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-HiiCompareLanguage (\r
- IN CHAR16 *LanguageStringLocation,\r
- IN CHAR16 *Language\r
- )\r
-;\r
-\r
-#endif\r