#define __HII_LIB_H__\r
\r
///\r
-/// Limited buffer size recommended by RFC4646 (4.3. Length Considerations)\r
+/// Limited buffer size recommended by RFC3066\r
/// (42 characters plus a NULL terminator)\r
///\r
#define RFC_3066_ENTRY_SIZE (42 + 1)\r
If not enough resource to complete the operation, then ASSERT.\r
\r
@param NumberOfPackages Number of packages.\r
- @param GuidId Package GUID.\r
- @param ... Variable argument list for packages to be assembled.\r
+ @param GuidId Package GUID.\r
+ @param ... Variable argument list for packages to be assembled.\r
\r
@return Pointer of EFI_HII_PACKAGE_LIST_HEADER.\r
\r
IN EFI_MEMORY_TYPE MemoryType\r
);\r
\r
+///\r
+/// Get a HOB's type from HOB header\r
+///\r
#define GET_HOB_TYPE(Hob) ((Hob).Header->HobType)\r
+\r
+///\r
+/// Get a HOB's length from HOB header\r
+///\r
#define GET_HOB_LENGTH(Hob) ((Hob).Header->HobLength)\r
+\r
+///\r
+/// Get the pointer to next HOB in HOB List\r
+///\r
#define GET_NEXT_HOB(Hob) ((Hob).Raw + GET_HOB_LENGTH (Hob))\r
+\r
+///\r
+/// Judge if the HOB is the end of HOB List\r
+///\r
#define END_OF_HOB_LIST(Hob) (GET_HOB_TYPE (Hob) == (UINT16)EFI_HOB_TYPE_END_OF_HOB_LIST)\r
\r
-//\r
-// Get the data and data size field of GUID \r
-//\r
+///\r
+/// Get the pointer to data field of GUID HOB \r
+///\r
#define GET_GUID_HOB_DATA(GuidHob) ((VOID *) (((UINT8 *) &((GuidHob)->Name)) + sizeof (EFI_GUID)))\r
+\r
+///\r
+/// Get the data size of GUID HOB\r
+///\r
#define GET_GUID_HOB_DATA_SIZE(GuidHob) (((GuidHob)->Header).HobLength - sizeof (EFI_HOB_GUID_TYPE))\r
\r
#endif\r
#define UEFI_LANGUAGE_VARIABLE L"PlatformLang"
#define UEFI_LANGUAGE_CODES_VARIABLE L"PlatformLangCodes"
-//
-// Limited buffer size recommended by RFC4646 (4.3. Length Considerations)
-// (42 characters plus a NULL terminator)
-//
+///
+/// Limited buffer size recommended by RFC3066
+/// (42 characters plus a NULL terminator)
+///
#define RFC_3066_ENTRY_SIZE (42 + 1)
#define ISO_639_2_ENTRY_SIZE 3
#define QUESTION_FLAGS (EFI_IFR_FLAG_READ_ONLY | EFI_IFR_FLAG_CALLBACK | EFI_IFR_FLAG_RESET_REQUIRED | EFI_IFR_FLAG_OPTIONS_ONLY)
#define QUESTION_FLAGS_MASK (~QUESTION_FLAGS)
-extern EFI_HII_DATABASE_PROTOCOL *gIfrLibHiiDatabase;
-extern EFI_HII_STRING_PROTOCOL *gIfrLibHiiString;
-
#pragma pack(1)
typedef struct {
EFI_STRING_ID StringToken;
IN UINT8 DataType,
IN UINT8 MaxContainers,
IN IFR_OPTION *OptionsList,
- IN UINTN OptionCount,
- IN OUT EFI_HII_UPDATE_DATA *Data
+ IN UINTN OptionCount,
+ IN OUT EFI_HII_UPDATE_DATA *Data
)
;
ConstructConfigHdr (
IN OUT CHAR16 *ConfigHdr,
IN OUT UINTN *StrBufferLen,
- IN EFI_GUID *Guid,
+ IN CONST EFI_GUID *Guid,
IN CHAR16 *Name, OPTIONAL
IN EFI_HANDLE *DriverHandle
)
EFIAPI
FindBlockName (
IN OUT CHAR16 *String,
- UINTN Offset,
- UINTN Width
+ IN UINTN Offset,
+ IN UINTN Width
)
;
EFI_STATUS
EFIAPI
GetBrowserData (
- EFI_GUID *VariableGuid, OPTIONAL
- CHAR16 *VariableName, OPTIONAL
- UINTN *BufferSize,
- UINT8 *Buffer
+ IN CONST EFI_GUID *VariableGuid, OPTIONAL
+ IN CONST CHAR16 *VariableName, OPTIONAL
+ IN OUT UINTN *BufferSize,
+ IN OUT UINT8 *Buffer
)
;
EFI_STATUS
EFIAPI
SetBrowserData (
- EFI_GUID *VariableGuid, OPTIONAL
- CHAR16 *VariableName, OPTIONAL
- UINTN BufferSize,
- UINT8 *Buffer,
- CHAR16 *RequestElement OPTIONAL
+ IN CONST EFI_GUID *VariableGuid, OPTIONAL
+ IN CONST CHAR16 *VariableName, OPTIONAL
+ IN UINTN BufferSize,
+ IN CONST UINT8 *Buffer,
+ IN CONST CHAR16 *RequestElement OPTIONAL
)
;
STATIC CONST EFI_FORM_BROWSER2_PROTOCOL *mFormBrowser2 = NULL;
STATIC CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *mHiiConfigRouting = NULL;
-/**\r
- This function locate FormBrowser2 protocols for later usage.\r
-
- @return Status the status to locate protocol.\r
-**/\r
-EFI_STATUS\r
-LocateFormBrowser2Protocols (\r
- VOID\r
- )\r
+/**
+ This function locate FormBrowser2 protocols for later usage.
+
+ @return Status the status to locate protocol.
+**/
+EFI_STATUS
+LocateFormBrowser2Protocols (
+ VOID
+ )
{
EFI_STATUS Status;
//
ConstructConfigHdr (
IN OUT CHAR16 *ConfigHdr,
IN OUT UINTN *StrBufferLen,
- IN EFI_GUID *Guid,
+ IN CONST EFI_GUID *Guid,
IN CHAR16 *Name, OPTIONAL
IN EFI_HANDLE *DriverHandle
)
EFIAPI
FindBlockName (
IN OUT CHAR16 *String,
- UINTN Offset,
- UINTN Width
+ IN UINTN Offset,
+ IN UINTN Width
)
{
EFI_STATUS Status;
EFI_STATUS
EFIAPI
GetBrowserData (
- EFI_GUID *VariableGuid, OPTIONAL
- CHAR16 *VariableName, OPTIONAL
- UINTN *BufferSize,
- UINT8 *Buffer
+ IN CONST EFI_GUID *VariableGuid, OPTIONAL
+ IN CONST CHAR16 *VariableName, OPTIONAL
+ IN OUT UINTN *BufferSize,
+ IN OUT UINT8 *Buffer
)
{
EFI_STATUS Status;
EFI_STATUS
EFIAPI
SetBrowserData (
- EFI_GUID *VariableGuid, OPTIONAL
- CHAR16 *VariableName, OPTIONAL
- UINTN BufferSize,
- UINT8 *Buffer,
- CHAR16 *RequestElement OPTIONAL
+ IN CONST EFI_GUID *VariableGuid, OPTIONAL
+ IN CONST CHAR16 *VariableName, OPTIONAL
+ IN UINTN BufferSize,
+ IN CONST UINT8 *Buffer,
+ IN CONST CHAR16 *RequestElement OPTIONAL
)
{
EFI_STATUS Status;
CHAR16 *Progress;
CHAR16 BlockName[33];
CHAR16 *ConfigRequest;
- CHAR16 *Request;
+ CONST CHAR16 *Request;
//
// Locate protocols for use