\r
**/\r
\r
-\r
#include "HiiDatabase.h"\r
\r
-#define BASE_NUMBER 10\r
+#define BASE_NUMBER 10\r
\r
-EFI_HII_PACKAGE_LIST_HEADER *gRTDatabaseInfoBuffer = NULL;\r
-EFI_STRING gRTConfigRespBuffer = NULL;\r
-UINTN gDatabaseInfoSize = 0;\r
-UINTN gConfigRespSize = 0;\r
-BOOLEAN gExportConfigResp = FALSE;\r
-UINTN gNvDefaultStoreSize = 0;\r
-SKU_ID gSkuId = 0xFFFFFFFFFFFFFFFF;\r
-LIST_ENTRY gVarStorageList = INITIALIZE_LIST_HEAD_VARIABLE (gVarStorageList);\r
+EFI_HII_PACKAGE_LIST_HEADER *gRTDatabaseInfoBuffer = NULL;\r
+EFI_STRING gRTConfigRespBuffer = NULL;\r
+UINTN gDatabaseInfoSize = 0;\r
+UINTN gConfigRespSize = 0;\r
+BOOLEAN gExportConfigResp = FALSE;\r
+UINTN gNvDefaultStoreSize = 0;\r
+SKU_ID gSkuId = 0xFFFFFFFFFFFFFFFF;\r
+LIST_ENTRY gVarStorageList = INITIALIZE_LIST_HEAD_VARIABLE (gVarStorageList);\r
\r
//\r
// HII database lock.\r
//\r
-EFI_LOCK mHiiDatabaseLock = EFI_INITIALIZE_LOCK_VARIABLE(TPL_NOTIFY);\r
+EFI_LOCK mHiiDatabaseLock = EFI_INITIALIZE_LOCK_VARIABLE (TPL_NOTIFY);\r
\r
/**\r
This function generates a HII_DATABASE_RECORD node and adds into hii database.\r
**/\r
EFI_STATUS\r
GenerateHiiDatabaseRecord (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- OUT HII_DATABASE_RECORD **DatabaseNode\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ OUT HII_DATABASE_RECORD **DatabaseNode\r
)\r
{\r
- HII_DATABASE_RECORD *DatabaseRecord;\r
- HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList;\r
- HII_HANDLE *HiiHandle;\r
+ HII_DATABASE_RECORD *DatabaseRecord;\r
+ HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList;\r
+ HII_HANDLE *HiiHandle;\r
\r
- if (Private == NULL || DatabaseNode == NULL) {\r
+ if ((Private == NULL) || (DatabaseNode == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- DatabaseRecord = (HII_DATABASE_RECORD *) AllocateZeroPool (sizeof (HII_DATABASE_RECORD));\r
+ DatabaseRecord = (HII_DATABASE_RECORD *)AllocateZeroPool (sizeof (HII_DATABASE_RECORD));\r
if (DatabaseRecord == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
DatabaseRecord->Signature = HII_DATABASE_RECORD_SIGNATURE;\r
\r
DatabaseRecord->PackageList = AllocateZeroPool (sizeof (HII_DATABASE_PACKAGE_LIST_INSTANCE));\r
//\r
// Create a new hii handle\r
//\r
- HiiHandle = (HII_HANDLE *) AllocateZeroPool (sizeof (HII_HANDLE));\r
+ HiiHandle = (HII_HANDLE *)AllocateZeroPool (sizeof (HII_HANDLE));\r
if (HiiHandle == NULL) {\r
FreePool (DatabaseRecord->PackageList);\r
FreePool (DatabaseRecord);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
HiiHandle->Signature = HII_HANDLE_SIGNATURE;\r
//\r
// Backup the number of Hii handles\r
//\r
Private->HiiHandleCount++;\r
- HiiHandle->Key = (UINTN) Private->HiiHandleCount;\r
+ HiiHandle->Key = (UINTN)Private->HiiHandleCount;\r
//\r
// Insert the handle to hii handle list of the whole database.\r
//\r
InsertTailList (&Private->HiiHandleList, &HiiHandle->Handle);\r
\r
- DatabaseRecord->Handle = (EFI_HII_HANDLE) HiiHandle;\r
+ DatabaseRecord->Handle = (EFI_HII_HANDLE)HiiHandle;\r
\r
//\r
// Insert the Package List node to Package List link of the whole database.\r
*DatabaseNode = DatabaseRecord;\r
\r
return EFI_SUCCESS;\r
-\r
}\r
\r
-\r
/**\r
This function checks whether a handle is a valid EFI_HII_HANDLE\r
This is a internal function.\r
**/\r
BOOLEAN\r
IsHiiHandleValid (\r
- EFI_HII_HANDLE Handle\r
+ EFI_HII_HANDLE Handle\r
)\r
{\r
- HII_HANDLE *HiiHandle;\r
+ HII_HANDLE *HiiHandle;\r
\r
- HiiHandle = (HII_HANDLE *) Handle;\r
+ HiiHandle = (HII_HANDLE *)Handle;\r
\r
if (HiiHandle == NULL) {\r
return FALSE;\r
return TRUE;\r
}\r
\r
-\r
/**\r
This function invokes the matching registered function.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
InvokeRegisteredFunction (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- IN VOID *PackageInstance,\r
- IN UINT8 PackageType,\r
- IN EFI_HII_HANDLE Handle\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN VOID *PackageInstance,\r
+ IN UINT8 PackageType,\r
+ IN EFI_HII_HANDLE Handle\r
)\r
{\r
- HII_DATABASE_NOTIFY *Notify;\r
- LIST_ENTRY *Link;\r
- EFI_HII_PACKAGE_HEADER *Package;\r
- UINT8 *Buffer;\r
- UINT32 BufferSize;\r
- UINT32 HeaderSize;\r
- UINT32 ImageBlockSize;\r
- UINT32 PaletteInfoSize;\r
-\r
- if (Private == NULL || (NotifyType & 0xF) == 0 || PackageInstance == NULL) {\r
+ HII_DATABASE_NOTIFY *Notify;\r
+ LIST_ENTRY *Link;\r
+ EFI_HII_PACKAGE_HEADER *Package;\r
+ UINT8 *Buffer;\r
+ UINT32 BufferSize;\r
+ UINT32 HeaderSize;\r
+ UINT32 ImageBlockSize;\r
+ UINT32 PaletteInfoSize;\r
+\r
+ if ((Private == NULL) || ((NotifyType & 0xF) == 0) || (PackageInstance == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
if (Private->Signature != HII_DATABASE_PRIVATE_DATA_SIGNATURE) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
if (!IsHiiHandleValid (Handle)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
// storage format. e.g. HII_GUID_PACKAGE_INSTANCE to EFI_HII_GUID_PACKAGE_HDR.\r
//\r
switch (PackageType) {\r
- case EFI_HII_PACKAGE_TYPE_GUID:\r
- Package = (EFI_HII_PACKAGE_HEADER *) (((HII_GUID_PACKAGE_INSTANCE *) PackageInstance)->GuidPkg);\r
- break;\r
-\r
- case EFI_HII_PACKAGE_FORMS:\r
- BufferSize = ((HII_IFR_PACKAGE_INSTANCE *) PackageInstance)->FormPkgHdr.Length;\r
- Buffer = (UINT8 *) AllocateZeroPool (BufferSize);\r
- ASSERT (Buffer != NULL);\r
- CopyMem (\r
- Buffer,\r
- &((HII_IFR_PACKAGE_INSTANCE *) PackageInstance)->FormPkgHdr,\r
- sizeof (EFI_HII_PACKAGE_HEADER)\r
- );\r
- CopyMem (\r
- Buffer + sizeof (EFI_HII_PACKAGE_HEADER),\r
- ((HII_IFR_PACKAGE_INSTANCE *) PackageInstance)->IfrData,\r
- BufferSize - sizeof (EFI_HII_PACKAGE_HEADER)\r
- );\r
- Package = (EFI_HII_PACKAGE_HEADER *) Buffer;\r
- break;\r
-\r
- case EFI_HII_PACKAGE_KEYBOARD_LAYOUT:\r
- Package = (EFI_HII_PACKAGE_HEADER *) (((HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *) PackageInstance)->KeyboardPkg);\r
- break;\r
-\r
- case EFI_HII_PACKAGE_STRINGS:\r
- BufferSize = ((HII_STRING_PACKAGE_INSTANCE *) PackageInstance)->StringPkgHdr->Header.Length;\r
- HeaderSize = ((HII_STRING_PACKAGE_INSTANCE *) PackageInstance)->StringPkgHdr->HdrSize;\r
- Buffer = (UINT8 *) AllocateZeroPool (BufferSize);\r
- ASSERT (Buffer != NULL);\r
- CopyMem (\r
- Buffer,\r
- ((HII_STRING_PACKAGE_INSTANCE *) PackageInstance)->StringPkgHdr,\r
- HeaderSize\r
- );\r
- CopyMem (\r
- Buffer + HeaderSize,\r
- ((HII_STRING_PACKAGE_INSTANCE *) PackageInstance)->StringBlock,\r
- BufferSize - HeaderSize\r
- );\r
- Package = (EFI_HII_PACKAGE_HEADER *) Buffer;\r
- break;\r
-\r
- case EFI_HII_PACKAGE_FONTS:\r
- BufferSize = ((HII_FONT_PACKAGE_INSTANCE *) PackageInstance)->FontPkgHdr->Header.Length;\r
- HeaderSize = ((HII_FONT_PACKAGE_INSTANCE *) PackageInstance)->FontPkgHdr->HdrSize;\r
- Buffer = (UINT8 *) AllocateZeroPool (BufferSize);\r
- ASSERT (Buffer != NULL);\r
- CopyMem (\r
- Buffer,\r
- ((HII_FONT_PACKAGE_INSTANCE *) PackageInstance)->FontPkgHdr,\r
- HeaderSize\r
- );\r
- CopyMem (\r
- Buffer + HeaderSize,\r
- ((HII_FONT_PACKAGE_INSTANCE *) PackageInstance)->GlyphBlock,\r
- BufferSize - HeaderSize\r
- );\r
- Package = (EFI_HII_PACKAGE_HEADER *) Buffer;\r
- break;\r
+ case EFI_HII_PACKAGE_TYPE_GUID:\r
+ Package = (EFI_HII_PACKAGE_HEADER *)(((HII_GUID_PACKAGE_INSTANCE *)PackageInstance)->GuidPkg);\r
+ break;\r
+\r
+ case EFI_HII_PACKAGE_FORMS:\r
+ BufferSize = ((HII_IFR_PACKAGE_INSTANCE *)PackageInstance)->FormPkgHdr.Length;\r
+ Buffer = (UINT8 *)AllocateZeroPool (BufferSize);\r
+ ASSERT (Buffer != NULL);\r
+ CopyMem (\r
+ Buffer,\r
+ &((HII_IFR_PACKAGE_INSTANCE *)PackageInstance)->FormPkgHdr,\r
+ sizeof (EFI_HII_PACKAGE_HEADER)\r
+ );\r
+ CopyMem (\r
+ Buffer + sizeof (EFI_HII_PACKAGE_HEADER),\r
+ ((HII_IFR_PACKAGE_INSTANCE *)PackageInstance)->IfrData,\r
+ BufferSize - sizeof (EFI_HII_PACKAGE_HEADER)\r
+ );\r
+ Package = (EFI_HII_PACKAGE_HEADER *)Buffer;\r
+ break;\r
\r
- case EFI_HII_PACKAGE_IMAGES:\r
- BufferSize = ((HII_IMAGE_PACKAGE_INSTANCE *) PackageInstance)->ImagePkgHdr.Header.Length;\r
- HeaderSize = sizeof (EFI_HII_IMAGE_PACKAGE_HDR);\r
- Buffer = (UINT8 *) AllocateZeroPool (BufferSize);\r
- ASSERT (Buffer != NULL);\r
+ case EFI_HII_PACKAGE_KEYBOARD_LAYOUT:\r
+ Package = (EFI_HII_PACKAGE_HEADER *)(((HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *)PackageInstance)->KeyboardPkg);\r
+ break;\r
\r
- CopyMem (\r
- Buffer,\r
- &((HII_IMAGE_PACKAGE_INSTANCE *) PackageInstance)->ImagePkgHdr,\r
- HeaderSize\r
- );\r
- CopyMem (\r
- Buffer + sizeof (EFI_HII_PACKAGE_HEADER),\r
- &HeaderSize,\r
- sizeof (UINT32)\r
- );\r
+ case EFI_HII_PACKAGE_STRINGS:\r
+ BufferSize = ((HII_STRING_PACKAGE_INSTANCE *)PackageInstance)->StringPkgHdr->Header.Length;\r
+ HeaderSize = ((HII_STRING_PACKAGE_INSTANCE *)PackageInstance)->StringPkgHdr->HdrSize;\r
+ Buffer = (UINT8 *)AllocateZeroPool (BufferSize);\r
+ ASSERT (Buffer != NULL);\r
+ CopyMem (\r
+ Buffer,\r
+ ((HII_STRING_PACKAGE_INSTANCE *)PackageInstance)->StringPkgHdr,\r
+ HeaderSize\r
+ );\r
+ CopyMem (\r
+ Buffer + HeaderSize,\r
+ ((HII_STRING_PACKAGE_INSTANCE *)PackageInstance)->StringBlock,\r
+ BufferSize - HeaderSize\r
+ );\r
+ Package = (EFI_HII_PACKAGE_HEADER *)Buffer;\r
+ break;\r
\r
- ImageBlockSize = ((HII_IMAGE_PACKAGE_INSTANCE *) PackageInstance)->ImageBlockSize;\r
- if (ImageBlockSize != 0) {\r
+ case EFI_HII_PACKAGE_FONTS:\r
+ BufferSize = ((HII_FONT_PACKAGE_INSTANCE *)PackageInstance)->FontPkgHdr->Header.Length;\r
+ HeaderSize = ((HII_FONT_PACKAGE_INSTANCE *)PackageInstance)->FontPkgHdr->HdrSize;\r
+ Buffer = (UINT8 *)AllocateZeroPool (BufferSize);\r
+ ASSERT (Buffer != NULL);\r
+ CopyMem (\r
+ Buffer,\r
+ ((HII_FONT_PACKAGE_INSTANCE *)PackageInstance)->FontPkgHdr,\r
+ HeaderSize\r
+ );\r
CopyMem (\r
Buffer + HeaderSize,\r
- ((HII_IMAGE_PACKAGE_INSTANCE *) PackageInstance)->ImageBlock,\r
- ImageBlockSize\r
+ ((HII_FONT_PACKAGE_INSTANCE *)PackageInstance)->GlyphBlock,\r
+ BufferSize - HeaderSize\r
);\r
- }\r
+ Package = (EFI_HII_PACKAGE_HEADER *)Buffer;\r
+ break;\r
+\r
+ case EFI_HII_PACKAGE_IMAGES:\r
+ BufferSize = ((HII_IMAGE_PACKAGE_INSTANCE *)PackageInstance)->ImagePkgHdr.Header.Length;\r
+ HeaderSize = sizeof (EFI_HII_IMAGE_PACKAGE_HDR);\r
+ Buffer = (UINT8 *)AllocateZeroPool (BufferSize);\r
+ ASSERT (Buffer != NULL);\r
\r
- PaletteInfoSize = ((HII_IMAGE_PACKAGE_INSTANCE *) PackageInstance)->PaletteInfoSize;\r
- if (PaletteInfoSize != 0) {\r
CopyMem (\r
- Buffer + HeaderSize + ImageBlockSize,\r
- ((HII_IMAGE_PACKAGE_INSTANCE *) PackageInstance)->PaletteBlock,\r
- PaletteInfoSize\r
+ Buffer,\r
+ &((HII_IMAGE_PACKAGE_INSTANCE *)PackageInstance)->ImagePkgHdr,\r
+ HeaderSize\r
);\r
- HeaderSize += ImageBlockSize;\r
CopyMem (\r
- Buffer + sizeof (EFI_HII_PACKAGE_HEADER) + sizeof (UINT32),\r
+ Buffer + sizeof (EFI_HII_PACKAGE_HEADER),\r
&HeaderSize,\r
sizeof (UINT32)\r
);\r
- }\r
- Package = (EFI_HII_PACKAGE_HEADER *) Buffer;\r
- break;\r
\r
- case EFI_HII_PACKAGE_SIMPLE_FONTS:\r
- BufferSize = ((HII_SIMPLE_FONT_PACKAGE_INSTANCE *) PackageInstance)->SimpleFontPkgHdr->Header.Length;\r
- Buffer = (UINT8 *) AllocateZeroPool (BufferSize);\r
- ASSERT (Buffer != NULL);\r
- CopyMem (\r
- Buffer,\r
- ((HII_SIMPLE_FONT_PACKAGE_INSTANCE *) PackageInstance)->SimpleFontPkgHdr,\r
- BufferSize\r
- );\r
- Package = (EFI_HII_PACKAGE_HEADER *) Buffer;\r
- break;\r
+ ImageBlockSize = ((HII_IMAGE_PACKAGE_INSTANCE *)PackageInstance)->ImageBlockSize;\r
+ if (ImageBlockSize != 0) {\r
+ CopyMem (\r
+ Buffer + HeaderSize,\r
+ ((HII_IMAGE_PACKAGE_INSTANCE *)PackageInstance)->ImageBlock,\r
+ ImageBlockSize\r
+ );\r
+ }\r
\r
- case EFI_HII_PACKAGE_DEVICE_PATH:\r
- Package = (EFI_HII_PACKAGE_HEADER *) PackageInstance;\r
- break;\r
+ PaletteInfoSize = ((HII_IMAGE_PACKAGE_INSTANCE *)PackageInstance)->PaletteInfoSize;\r
+ if (PaletteInfoSize != 0) {\r
+ CopyMem (\r
+ Buffer + HeaderSize + ImageBlockSize,\r
+ ((HII_IMAGE_PACKAGE_INSTANCE *)PackageInstance)->PaletteBlock,\r
+ PaletteInfoSize\r
+ );\r
+ HeaderSize += ImageBlockSize;\r
+ CopyMem (\r
+ Buffer + sizeof (EFI_HII_PACKAGE_HEADER) + sizeof (UINT32),\r
+ &HeaderSize,\r
+ sizeof (UINT32)\r
+ );\r
+ }\r
\r
- default:\r
- return EFI_INVALID_PARAMETER;\r
+ Package = (EFI_HII_PACKAGE_HEADER *)Buffer;\r
+ break;\r
+\r
+ case EFI_HII_PACKAGE_SIMPLE_FONTS:\r
+ BufferSize = ((HII_SIMPLE_FONT_PACKAGE_INSTANCE *)PackageInstance)->SimpleFontPkgHdr->Header.Length;\r
+ Buffer = (UINT8 *)AllocateZeroPool (BufferSize);\r
+ ASSERT (Buffer != NULL);\r
+ CopyMem (\r
+ Buffer,\r
+ ((HII_SIMPLE_FONT_PACKAGE_INSTANCE *)PackageInstance)->SimpleFontPkgHdr,\r
+ BufferSize\r
+ );\r
+ Package = (EFI_HII_PACKAGE_HEADER *)Buffer;\r
+ break;\r
+\r
+ case EFI_HII_PACKAGE_DEVICE_PATH:\r
+ Package = (EFI_HII_PACKAGE_HEADER *)PackageInstance;\r
+ break;\r
+\r
+ default:\r
+ return EFI_INVALID_PARAMETER;\r
}\r
\r
for (Link = Private->DatabaseNotifyList.ForwardLink;\r
Link != &Private->DatabaseNotifyList;\r
Link = Link->ForwardLink\r
- ) {\r
+ )\r
+ {\r
Notify = CR (Link, HII_DATABASE_NOTIFY, DatabaseNotifyEntry, HII_DATABASE_NOTIFY_SIGNATURE);\r
- if (Notify->NotifyType == NotifyType && Notify->PackageType == PackageType) {\r
+ if ((Notify->NotifyType == NotifyType) && (Notify->PackageType == PackageType)) {\r
//\r
// Check in case PackageGuid is not NULL when Package is GUID package\r
//\r
if (PackageType != EFI_HII_PACKAGE_TYPE_GUID) {\r
Notify->PackageGuid = NULL;\r
}\r
+\r
//\r
// Status of Registered Function is unknown so did not check it\r
//\r
Notify->PackageNotifyFn (\r
- Notify->PackageType,\r
- Notify->PackageGuid,\r
- Package,\r
- Handle,\r
- NotifyType\r
- );\r
+ Notify->PackageType,\r
+ Notify->PackageGuid,\r
+ Package,\r
+ Handle,\r
+ NotifyType\r
+ );\r
}\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function insert a GUID package to a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
InsertGuidPackage (\r
- IN VOID *PackageHdr,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- OUT HII_GUID_PACKAGE_INSTANCE **Package\r
+ IN VOID *PackageHdr,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ OUT HII_GUID_PACKAGE_INSTANCE **Package\r
)\r
{\r
- HII_GUID_PACKAGE_INSTANCE *GuidPackage;\r
- EFI_HII_PACKAGE_HEADER PackageHeader;\r
+ HII_GUID_PACKAGE_INSTANCE *GuidPackage;\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
\r
- if (PackageHdr == NULL || PackageList == NULL) {\r
+ if ((PackageHdr == NULL) || (PackageList == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
// Create a GUID package node\r
//\r
- GuidPackage = (HII_GUID_PACKAGE_INSTANCE *) AllocateZeroPool (sizeof (HII_GUID_PACKAGE_INSTANCE));\r
+ GuidPackage = (HII_GUID_PACKAGE_INSTANCE *)AllocateZeroPool (sizeof (HII_GUID_PACKAGE_INSTANCE));\r
if (GuidPackage == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
- GuidPackage->GuidPkg = (UINT8 *) AllocateZeroPool (PackageHeader.Length);\r
+\r
+ GuidPackage->GuidPkg = (UINT8 *)AllocateZeroPool (PackageHeader.Length);\r
if (GuidPackage->GuidPkg == NULL) {\r
FreePool (GuidPackage);\r
return EFI_OUT_OF_RESOURCES;\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function exports GUID packages to a buffer.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
ExportGuidPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- IN UINTN UsedSize,\r
- IN UINTN BufferSize,\r
- IN OUT VOID *Buffer,\r
- IN OUT UINTN *ResultSize\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ IN UINTN UsedSize,\r
+ IN UINTN BufferSize,\r
+ IN OUT VOID *Buffer,\r
+ IN OUT UINTN *ResultSize\r
)\r
{\r
- HII_GUID_PACKAGE_INSTANCE *GuidPackage;\r
- LIST_ENTRY *Link;\r
- UINTN PackageLength;\r
- EFI_HII_PACKAGE_HEADER PackageHeader;\r
- EFI_STATUS Status;\r
+ HII_GUID_PACKAGE_INSTANCE *GuidPackage;\r
+ LIST_ENTRY *Link;\r
+ UINTN PackageLength;\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
+ EFI_STATUS Status;\r
\r
- if (PackageList == NULL || ResultSize == NULL) {\r
+ if ((PackageList == NULL) || (ResultSize == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (BufferSize > 0 && Buffer == NULL ) {\r
+ if ((BufferSize > 0) && (Buffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_EXPORT_PACK,\r
- (VOID *) GuidPackage,\r
+ (VOID *)GuidPackage,\r
EFI_HII_PACKAGE_TYPE_GUID,\r
Handle\r
);\r
ASSERT_EFI_ERROR (Status);\r
CopyMem (Buffer, GuidPackage->GuidPkg, PackageHeader.Length);\r
- Buffer = (UINT8 *) Buffer + PackageHeader.Length;\r
+ Buffer = (UINT8 *)Buffer + PackageHeader.Length;\r
}\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function deletes all GUID packages from a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
RemoveGuidPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
)\r
{\r
- LIST_ENTRY *ListHead;\r
- HII_GUID_PACKAGE_INSTANCE *Package;\r
- EFI_STATUS Status;\r
- EFI_HII_PACKAGE_HEADER PackageHeader;\r
+ LIST_ENTRY *ListHead;\r
+ HII_GUID_PACKAGE_INSTANCE *Package;\r
+ EFI_STATUS Status;\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
\r
ListHead = &PackageList->GuidPkgHdr;\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_REMOVE_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_TYPE_GUID,\r
Handle\r
);\r
**/\r
UINTN\r
IsEfiVarStoreQuestion (\r
- EFI_IFR_QUESTION_HEADER *IfrQuestionHdr,\r
- EFI_IFR_VARSTORE_EFI **EfiVarStoreList,\r
- UINTN EfiVarStoreNumber\r
+ EFI_IFR_QUESTION_HEADER *IfrQuestionHdr,\r
+ EFI_IFR_VARSTORE_EFI **EfiVarStoreList,\r
+ UINTN EfiVarStoreNumber\r
)\r
{\r
- UINTN Index;\r
- for (Index = 0; Index < EfiVarStoreNumber; Index ++) {\r
+ UINTN Index;\r
+\r
+ for (Index = 0; Index < EfiVarStoreNumber; Index++) {\r
if (IfrQuestionHdr->VarStoreId == EfiVarStoreList[Index]->VarStoreId) {\r
return Index;\r
}\r
IN CHAR16 *VarName\r
)\r
{\r
- VARIABLE_HEADER *VariableHeader;\r
- VARIABLE_HEADER *VariableEnd;\r
+ VARIABLE_HEADER *VariableHeader;\r
+ VARIABLE_HEADER *VariableEnd;\r
\r
- VariableEnd = (VARIABLE_HEADER *) ((UINT8 *) VariableStorage + VariableStorage->Size);\r
- VariableHeader = (VARIABLE_HEADER *) (VariableStorage + 1);\r
- VariableHeader = (VARIABLE_HEADER *) HEADER_ALIGN (VariableHeader);\r
+ VariableEnd = (VARIABLE_HEADER *)((UINT8 *)VariableStorage + VariableStorage->Size);\r
+ VariableHeader = (VARIABLE_HEADER *)(VariableStorage + 1);\r
+ VariableHeader = (VARIABLE_HEADER *)HEADER_ALIGN (VariableHeader);\r
while (VariableHeader < VariableEnd) {\r
if (CompareGuid (&VariableHeader->VendorGuid, VarGuid) &&\r
- VariableHeader->Attributes == VarAttribute &&\r
- StrCmp (VarName, (CHAR16 *) (VariableHeader + 1)) == 0) {\r
+ (VariableHeader->Attributes == VarAttribute) &&\r
+ (StrCmp (VarName, (CHAR16 *)(VariableHeader + 1)) == 0))\r
+ {\r
return VariableHeader;\r
}\r
- VariableHeader = (VARIABLE_HEADER *) ((UINT8 *) VariableHeader + sizeof (VARIABLE_HEADER) + VariableHeader->NameSize + VariableHeader->DataSize);\r
- VariableHeader = (VARIABLE_HEADER *) HEADER_ALIGN (VariableHeader);\r
+\r
+ VariableHeader = (VARIABLE_HEADER *)((UINT8 *)VariableHeader + sizeof (VARIABLE_HEADER) + VariableHeader->NameSize + VariableHeader->DataSize);\r
+ VariableHeader = (VARIABLE_HEADER *)HEADER_ALIGN (VariableHeader);\r
}\r
\r
return NULL;\r
**/\r
EFI_STATUS\r
FindQuestionDefaultSetting (\r
- IN UINT16 DefaultId,\r
- IN EFI_IFR_VARSTORE_EFI *EfiVarStore,\r
- IN EFI_IFR_QUESTION_HEADER *IfrQuestionHdr,\r
- OUT VOID *ValueBuffer,\r
- IN UINTN Width,\r
- IN BOOLEAN BitFieldQuestion\r
+ IN UINT16 DefaultId,\r
+ IN EFI_IFR_VARSTORE_EFI *EfiVarStore,\r
+ IN EFI_IFR_QUESTION_HEADER *IfrQuestionHdr,\r
+ OUT VOID *ValueBuffer,\r
+ IN UINTN Width,\r
+ IN BOOLEAN BitFieldQuestion\r
)\r
{\r
- VARIABLE_HEADER *VariableHeader;\r
- VARIABLE_STORE_HEADER *VariableStorage;\r
- LIST_ENTRY *Link;\r
- VARSTORAGE_DEFAULT_DATA *Entry;\r
- VARIABLE_STORE_HEADER *NvStoreBuffer;\r
- UINT8 *DataBuffer;\r
- UINT8 *BufferEnd;\r
- BOOLEAN IsFound;\r
- UINTN Index;\r
- UINT32 BufferValue;\r
- UINT32 BitFieldVal;\r
- UINTN BitOffset;\r
- UINTN ByteOffset;\r
- UINTN BitWidth;\r
- UINTN StartBit;\r
- UINTN EndBit;\r
- PCD_DEFAULT_DATA *DataHeader;\r
- PCD_DEFAULT_INFO *DefaultInfo;\r
- PCD_DATA_DELTA *DeltaData;\r
+ VARIABLE_HEADER *VariableHeader;\r
+ VARIABLE_STORE_HEADER *VariableStorage;\r
+ LIST_ENTRY *Link;\r
+ VARSTORAGE_DEFAULT_DATA *Entry;\r
+ VARIABLE_STORE_HEADER *NvStoreBuffer;\r
+ UINT8 *DataBuffer;\r
+ UINT8 *BufferEnd;\r
+ BOOLEAN IsFound;\r
+ UINTN Index;\r
+ UINT32 BufferValue;\r
+ UINT32 BitFieldVal;\r
+ UINTN BitOffset;\r
+ UINTN ByteOffset;\r
+ UINTN BitWidth;\r
+ UINTN StartBit;\r
+ UINTN EndBit;\r
+ PCD_DEFAULT_DATA *DataHeader;\r
+ PCD_DEFAULT_INFO *DefaultInfo;\r
+ PCD_DATA_DELTA *DeltaData;\r
\r
if (gSkuId == 0xFFFFFFFFFFFFFFFF) {\r
gSkuId = LibPcdGetSku ();\r
// Find the DefaultId setting from the full DefaultSetting\r
//\r
VariableStorage = NULL;\r
- Link = gVarStorageList.ForwardLink;\r
+ Link = gVarStorageList.ForwardLink;\r
while (Link != &gVarStorageList) {\r
Entry = BASE_CR (Link, VARSTORAGE_DEFAULT_DATA, Entry);\r
if (Entry->DefaultId == DefaultId) {\r
VariableStorage = Entry->VariableStorage;\r
break;\r
}\r
+\r
Link = Link->ForwardLink;\r
}\r
\r
if (Link == &gVarStorageList) {\r
- DataBuffer = (UINT8 *) PcdGetPtr (PcdNvStoreDefaultValueBuffer);\r
+ DataBuffer = (UINT8 *)PcdGetPtr (PcdNvStoreDefaultValueBuffer);\r
gNvDefaultStoreSize = ((PCD_NV_STORE_DEFAULT_BUFFER_HEADER *)DataBuffer)->Length;\r
//\r
// The first section data includes NV storage default setting.\r
//\r
- DataHeader = (PCD_DEFAULT_DATA *) (DataBuffer + sizeof (PCD_NV_STORE_DEFAULT_BUFFER_HEADER));\r
- NvStoreBuffer = (VARIABLE_STORE_HEADER *) ((UINT8 *) DataHeader + sizeof (DataHeader->DataSize) + DataHeader->HeaderSize);\r
- VariableStorage = AllocatePool (NvStoreBuffer->Size);\r
+ DataHeader = (PCD_DEFAULT_DATA *)(DataBuffer + sizeof (PCD_NV_STORE_DEFAULT_BUFFER_HEADER));\r
+ NvStoreBuffer = (VARIABLE_STORE_HEADER *)((UINT8 *)DataHeader + sizeof (DataHeader->DataSize) + DataHeader->HeaderSize);\r
+ VariableStorage = AllocatePool (NvStoreBuffer->Size);\r
ASSERT (VariableStorage != NULL);\r
CopyMem (VariableStorage, NvStoreBuffer, NvStoreBuffer->Size);\r
\r
//\r
// Find the matched SkuId and DefaultId in the first section\r
//\r
- IsFound = FALSE;\r
- DefaultInfo = &(DataHeader->DefaultInfo[0]);\r
- BufferEnd = (UINT8 *) DataHeader + sizeof (DataHeader->DataSize) + DataHeader->HeaderSize;\r
- while ((UINT8 *) DefaultInfo < BufferEnd) {\r
- if (DefaultInfo->DefaultId == DefaultId && DefaultInfo->SkuId == gSkuId) {\r
+ IsFound = FALSE;\r
+ DefaultInfo = &(DataHeader->DefaultInfo[0]);\r
+ BufferEnd = (UINT8 *)DataHeader + sizeof (DataHeader->DataSize) + DataHeader->HeaderSize;\r
+ while ((UINT8 *)DefaultInfo < BufferEnd) {\r
+ if ((DefaultInfo->DefaultId == DefaultId) && (DefaultInfo->SkuId == gSkuId)) {\r
IsFound = TRUE;\r
break;\r
}\r
- DefaultInfo ++;\r
+\r
+ DefaultInfo++;\r
}\r
+\r
//\r
// Find the matched SkuId and DefaultId in the remaining section\r
//\r
- Index = sizeof (PCD_NV_STORE_DEFAULT_BUFFER_HEADER) + ((DataHeader->DataSize + 7) & (~7));\r
- DataHeader = (PCD_DEFAULT_DATA *) (DataBuffer + Index);\r
+ Index = sizeof (PCD_NV_STORE_DEFAULT_BUFFER_HEADER) + ((DataHeader->DataSize + 7) & (~7));\r
+ DataHeader = (PCD_DEFAULT_DATA *)(DataBuffer + Index);\r
while (!IsFound && Index < gNvDefaultStoreSize && DataHeader->DataSize != 0xFFFF) {\r
DefaultInfo = &(DataHeader->DefaultInfo[0]);\r
- BufferEnd = (UINT8 *) DataHeader + sizeof (DataHeader->DataSize) + DataHeader->HeaderSize;\r
- while ((UINT8 *) DefaultInfo < BufferEnd) {\r
- if (DefaultInfo->DefaultId == DefaultId && DefaultInfo->SkuId == gSkuId) {\r
+ BufferEnd = (UINT8 *)DataHeader + sizeof (DataHeader->DataSize) + DataHeader->HeaderSize;\r
+ while ((UINT8 *)DefaultInfo < BufferEnd) {\r
+ if ((DefaultInfo->DefaultId == DefaultId) && (DefaultInfo->SkuId == gSkuId)) {\r
IsFound = TRUE;\r
break;\r
}\r
- DefaultInfo ++;\r
+\r
+ DefaultInfo++;\r
}\r
+\r
if (IsFound) {\r
- DeltaData = (PCD_DATA_DELTA *) BufferEnd;\r
- BufferEnd = (UINT8 *) DataHeader + DataHeader->DataSize;\r
- while ((UINT8 *) DeltaData < BufferEnd) {\r
- *((UINT8 *) VariableStorage + DeltaData->Offset) = (UINT8) DeltaData->Value;\r
- DeltaData ++;\r
+ DeltaData = (PCD_DATA_DELTA *)BufferEnd;\r
+ BufferEnd = (UINT8 *)DataHeader + DataHeader->DataSize;\r
+ while ((UINT8 *)DeltaData < BufferEnd) {\r
+ *((UINT8 *)VariableStorage + DeltaData->Offset) = (UINT8)DeltaData->Value;\r
+ DeltaData++;\r
}\r
+\r
break;\r
}\r
+\r
Index = (Index + DataHeader->DataSize + 7) & (~7);\r
- DataHeader = (PCD_DEFAULT_DATA *) (DataBuffer + Index);\r
+ DataHeader = (PCD_DEFAULT_DATA *)(DataBuffer + Index);\r
}\r
+\r
//\r
// Cache the found result in VarStorageList\r
//\r
FreePool (VariableStorage);\r
VariableStorage = NULL;\r
}\r
+\r
Entry = AllocatePool (sizeof (VARSTORAGE_DEFAULT_DATA));\r
if (Entry != NULL) {\r
- Entry->DefaultId = DefaultId;\r
+ Entry->DefaultId = DefaultId;\r
Entry->VariableStorage = VariableStorage;\r
InsertTailList (&gVarStorageList, &Entry->Entry);\r
} else if (VariableStorage != NULL) {\r
VariableStorage = NULL;\r
}\r
}\r
+\r
//\r
// The matched variable storage is not found.\r
//\r
//\r
// Find the question default value from the variable storage\r
//\r
- VariableHeader = FindVariableData (VariableStorage, &EfiVarStore->Guid, EfiVarStore->Attributes, (CHAR16 *) EfiVarStore->Name);\r
+ VariableHeader = FindVariableData (VariableStorage, &EfiVarStore->Guid, EfiVarStore->Attributes, (CHAR16 *)EfiVarStore->Name);\r
if (VariableHeader == NULL) {\r
return EFI_NOT_FOUND;\r
}\r
+\r
StartBit = 0;\r
EndBit = 0;\r
ByteOffset = IfrQuestionHdr->VarStoreInfo.VarOffset;\r
EndBit = StartBit + BitWidth - 1;\r
Width = EndBit / 8 + 1;\r
}\r
+\r
if (VariableHeader->DataSize < ByteOffset + Width) {\r
return EFI_INVALID_PARAMETER;\r
}\r
//\r
if (ValueBuffer != NULL) {\r
if (BitFieldQuestion) {\r
- CopyMem (&BufferValue, (UINT8 *) VariableHeader + sizeof (VARIABLE_HEADER) + VariableHeader->NameSize + ByteOffset, Width);\r
+ CopyMem (&BufferValue, (UINT8 *)VariableHeader + sizeof (VARIABLE_HEADER) + VariableHeader->NameSize + ByteOffset, Width);\r
BitFieldVal = BitFieldRead32 (BufferValue, StartBit, EndBit);\r
CopyMem (ValueBuffer, &BitFieldVal, Width);\r
} else {\r
- CopyMem (ValueBuffer, (UINT8 *) VariableHeader + sizeof (VARIABLE_HEADER) + VariableHeader->NameSize + IfrQuestionHdr->VarStoreInfo.VarOffset, Width);\r
+ CopyMem (ValueBuffer, (UINT8 *)VariableHeader + sizeof (VARIABLE_HEADER) + VariableHeader->NameSize + IfrQuestionHdr->VarStoreInfo.VarOffset, Width);\r
}\r
}\r
\r
**/\r
VOID\r
UpdateDefaultSettingInFormPackage (\r
- HII_IFR_PACKAGE_INSTANCE *FormPackage\r
+ HII_IFR_PACKAGE_INSTANCE *FormPackage\r
)\r
{\r
UINTN IfrOffset;\r
if (gNvDefaultStoreSize == 0) {\r
gNvDefaultStoreSize = PcdGetSize (PcdNvStoreDefaultValueBuffer);\r
}\r
+\r
if (gNvDefaultStoreSize < sizeof (PCD_NV_STORE_DEFAULT_BUFFER_HEADER)) {\r
return;\r
}\r
\r
ZeroMem (&VarStoreQuestionHeader, sizeof (VarStoreQuestionHeader));\r
- PackageLength = FormPackage->FormPkgHdr.Length - sizeof (EFI_HII_PACKAGE_HEADER);\r
- Width = 0;\r
- IfrOffset = 0;\r
- IfrScope = 0;\r
- IfrOpHdr = (EFI_IFR_OP_HEADER *) FormPackage->IfrData;\r
- IfrQuestionHdr = NULL;\r
- IfrQuestionType = 0;\r
- EfiVarStoreMaxNum = 0;\r
- EfiVarStoreNumber = 0;\r
- DefaultIdMaxNum = 0;\r
- DefaultIdNumber = 0;\r
- EfiVarStoreList = NULL;\r
- DefaultIdList = NULL;\r
- StandardDefaultIsSet = FALSE;\r
- ManufactDefaultIsSet = FALSE;\r
+ PackageLength = FormPackage->FormPkgHdr.Length - sizeof (EFI_HII_PACKAGE_HEADER);\r
+ Width = 0;\r
+ IfrOffset = 0;\r
+ IfrScope = 0;\r
+ IfrOpHdr = (EFI_IFR_OP_HEADER *)FormPackage->IfrData;\r
+ IfrQuestionHdr = NULL;\r
+ IfrQuestionType = 0;\r
+ EfiVarStoreMaxNum = 0;\r
+ EfiVarStoreNumber = 0;\r
+ DefaultIdMaxNum = 0;\r
+ DefaultIdNumber = 0;\r
+ EfiVarStoreList = NULL;\r
+ DefaultIdList = NULL;\r
+ StandardDefaultIsSet = FALSE;\r
+ ManufactDefaultIsSet = FALSE;\r
QuestionReferBitField = FALSE;\r
\r
while (IfrOffset < PackageLength) {\r
switch (IfrOpHdr->OpCode) {\r
- case EFI_IFR_VARSTORE_EFI_OP:\r
- if (EfiVarStoreNumber >= EfiVarStoreMaxNum) {\r
+ case EFI_IFR_VARSTORE_EFI_OP:\r
+ if (EfiVarStoreNumber >= EfiVarStoreMaxNum) {\r
+ //\r
+ // Reallocate EFI VarStore Buffer\r
+ //\r
+ EfiVarStoreList = ReallocatePool (EfiVarStoreMaxNum * sizeof (UINTN), (EfiVarStoreMaxNum + BASE_NUMBER) * sizeof (UINTN), EfiVarStoreList);\r
+ if (EfiVarStoreList == NULL) {\r
+ goto Done;\r
+ }\r
+\r
+ EfiVarStoreMaxNum = EfiVarStoreMaxNum + BASE_NUMBER;\r
+ }\r
+\r
+ IfrEfiVarStore = (EFI_IFR_VARSTORE_EFI *)IfrOpHdr;\r
//\r
- // Reallocate EFI VarStore Buffer\r
+ // Convert VarStore Name from ASCII string to Unicode string.\r
//\r
- EfiVarStoreList = ReallocatePool (EfiVarStoreMaxNum * sizeof (UINTN), (EfiVarStoreMaxNum + BASE_NUMBER) * sizeof (UINTN), EfiVarStoreList);\r
- if (EfiVarStoreList == NULL) {\r
- goto Done;\r
+ EfiVarStoreList[EfiVarStoreNumber] = AllocatePool (IfrEfiVarStore->Header.Length + AsciiStrSize ((CHAR8 *)IfrEfiVarStore->Name));\r
+ if (EfiVarStoreList[EfiVarStoreNumber] == NULL) {\r
+ break;\r
}\r
- EfiVarStoreMaxNum = EfiVarStoreMaxNum + BASE_NUMBER;\r
- }\r
- IfrEfiVarStore = (EFI_IFR_VARSTORE_EFI *) IfrOpHdr;\r
- //\r
- // Convert VarStore Name from ASCII string to Unicode string.\r
- //\r
- EfiVarStoreList [EfiVarStoreNumber] = AllocatePool (IfrEfiVarStore->Header.Length + AsciiStrSize ((CHAR8 *)IfrEfiVarStore->Name));\r
- if (EfiVarStoreList [EfiVarStoreNumber] == NULL) {\r
+\r
+ CopyMem (EfiVarStoreList[EfiVarStoreNumber], IfrEfiVarStore, IfrEfiVarStore->Header.Length);\r
+ AsciiStrToUnicodeStrS ((CHAR8 *)IfrEfiVarStore->Name, (CHAR16 *)&(EfiVarStoreList[EfiVarStoreNumber]->Name[0]), AsciiStrSize ((CHAR8 *)IfrEfiVarStore->Name) * sizeof (CHAR16));\r
+ Status = FindQuestionDefaultSetting (EFI_HII_DEFAULT_CLASS_STANDARD, EfiVarStoreList[EfiVarStoreNumber], &VarStoreQuestionHeader, NULL, IfrEfiVarStore->Size, FALSE);\r
+ if (!EFI_ERROR (Status)) {\r
+ EfiVarStoreNumber++;\r
+ } else {\r
+ FreePool (EfiVarStoreList[EfiVarStoreNumber]);\r
+ EfiVarStoreList[EfiVarStoreNumber] = NULL;\r
+ }\r
+\r
break;\r
- }\r
- CopyMem (EfiVarStoreList [EfiVarStoreNumber], IfrEfiVarStore, IfrEfiVarStore->Header.Length);\r
- AsciiStrToUnicodeStrS ((CHAR8 *)IfrEfiVarStore->Name, (CHAR16 *) &(EfiVarStoreList [EfiVarStoreNumber]->Name[0]), AsciiStrSize ((CHAR8 *)IfrEfiVarStore->Name) * sizeof (CHAR16));\r
- Status = FindQuestionDefaultSetting (EFI_HII_DEFAULT_CLASS_STANDARD, EfiVarStoreList[EfiVarStoreNumber], &VarStoreQuestionHeader, NULL, IfrEfiVarStore->Size, FALSE);\r
- if (!EFI_ERROR (Status)) {\r
- EfiVarStoreNumber ++;\r
- } else {\r
- FreePool (EfiVarStoreList [EfiVarStoreNumber]);\r
- EfiVarStoreList [EfiVarStoreNumber] = NULL;\r
- }\r
- break;\r
- case EFI_IFR_DEFAULTSTORE_OP:\r
- if (DefaultIdNumber >= DefaultIdMaxNum) {\r
+ case EFI_IFR_DEFAULTSTORE_OP:\r
+ if (DefaultIdNumber >= DefaultIdMaxNum) {\r
+ //\r
+ // Reallocate DefaultIdNumber\r
+ //\r
+ DefaultIdList = ReallocatePool (DefaultIdMaxNum * sizeof (UINT16), (DefaultIdMaxNum + BASE_NUMBER) * sizeof (UINT16), DefaultIdList);\r
+ if (DefaultIdList == NULL) {\r
+ goto Done;\r
+ }\r
+\r
+ DefaultIdMaxNum = DefaultIdMaxNum + BASE_NUMBER;\r
+ }\r
+\r
+ DefaultIdList[DefaultIdNumber++] = ((EFI_IFR_DEFAULTSTORE *)IfrOpHdr)->DefaultId;\r
+ break;\r
+ case EFI_IFR_FORM_OP:\r
+ case EFI_IFR_FORM_MAP_OP:\r
//\r
- // Reallocate DefaultIdNumber\r
+ // No EFI varstore is found and directly return.\r
//\r
- DefaultIdList = ReallocatePool (DefaultIdMaxNum * sizeof (UINT16), (DefaultIdMaxNum + BASE_NUMBER) * sizeof (UINT16), DefaultIdList);\r
- if (DefaultIdList == NULL) {\r
+ if ((EfiVarStoreNumber == 0) || (DefaultIdNumber == 0)) {\r
goto Done;\r
}\r
- DefaultIdMaxNum = DefaultIdMaxNum + BASE_NUMBER;\r
- }\r
- DefaultIdList[DefaultIdNumber ++] = ((EFI_IFR_DEFAULTSTORE *) IfrOpHdr)->DefaultId;\r
- break;\r
- case EFI_IFR_FORM_OP:\r
- case EFI_IFR_FORM_MAP_OP:\r
- //\r
- // No EFI varstore is found and directly return.\r
- //\r
- if (EfiVarStoreNumber == 0 || DefaultIdNumber == 0) {\r
- goto Done;\r
- }\r
- break;\r
- case EFI_IFR_CHECKBOX_OP:\r
- IfrScope = IfrOpHdr->Scope;\r
- IfrQuestionType = IfrOpHdr->OpCode;\r
- IfrQuestionHdr = (EFI_IFR_QUESTION_HEADER *) (IfrOpHdr + 1);\r
- IfrCheckBox = (EFI_IFR_CHECKBOX *) IfrOpHdr;\r
- EfiVarStoreIndex = IsEfiVarStoreQuestion (IfrQuestionHdr, EfiVarStoreList, EfiVarStoreNumber);\r
- Width = sizeof (BOOLEAN);\r
- if (EfiVarStoreIndex < EfiVarStoreNumber) {\r
- for (Index = 0; Index < DefaultIdNumber; Index ++) {\r
- if (DefaultIdList[Index] == EFI_HII_DEFAULT_CLASS_STANDARD) {\r
- Status = FindQuestionDefaultSetting (DefaultIdList[Index], EfiVarStoreList[EfiVarStoreIndex], IfrQuestionHdr, &IfrValue, sizeof (BOOLEAN), QuestionReferBitField);\r
- if (!EFI_ERROR (Status)) {\r
- if (IfrValue.b) {\r
- IfrCheckBox->Flags = IfrCheckBox->Flags | EFI_IFR_CHECKBOX_DEFAULT;\r
- } else {\r
- IfrCheckBox->Flags = IfrCheckBox->Flags & (~EFI_IFR_CHECKBOX_DEFAULT);\r
+\r
+ break;\r
+ case EFI_IFR_CHECKBOX_OP:\r
+ IfrScope = IfrOpHdr->Scope;\r
+ IfrQuestionType = IfrOpHdr->OpCode;\r
+ IfrQuestionHdr = (EFI_IFR_QUESTION_HEADER *)(IfrOpHdr + 1);\r
+ IfrCheckBox = (EFI_IFR_CHECKBOX *)IfrOpHdr;\r
+ EfiVarStoreIndex = IsEfiVarStoreQuestion (IfrQuestionHdr, EfiVarStoreList, EfiVarStoreNumber);\r
+ Width = sizeof (BOOLEAN);\r
+ if (EfiVarStoreIndex < EfiVarStoreNumber) {\r
+ for (Index = 0; Index < DefaultIdNumber; Index++) {\r
+ if (DefaultIdList[Index] == EFI_HII_DEFAULT_CLASS_STANDARD) {\r
+ Status = FindQuestionDefaultSetting (DefaultIdList[Index], EfiVarStoreList[EfiVarStoreIndex], IfrQuestionHdr, &IfrValue, sizeof (BOOLEAN), QuestionReferBitField);\r
+ if (!EFI_ERROR (Status)) {\r
+ if (IfrValue.b) {\r
+ IfrCheckBox->Flags = IfrCheckBox->Flags | EFI_IFR_CHECKBOX_DEFAULT;\r
+ } else {\r
+ IfrCheckBox->Flags = IfrCheckBox->Flags & (~EFI_IFR_CHECKBOX_DEFAULT);\r
+ }\r
+ }\r
+ } else if (DefaultIdList[Index] == EFI_HII_DEFAULT_CLASS_MANUFACTURING) {\r
+ Status = FindQuestionDefaultSetting (DefaultIdList[Index], EfiVarStoreList[EfiVarStoreIndex], IfrQuestionHdr, &IfrValue, sizeof (BOOLEAN), QuestionReferBitField);\r
+ if (!EFI_ERROR (Status)) {\r
+ if (IfrValue.b) {\r
+ IfrCheckBox->Flags = IfrCheckBox->Flags | EFI_IFR_CHECKBOX_DEFAULT_MFG;\r
+ } else {\r
+ IfrCheckBox->Flags = IfrCheckBox->Flags & (~EFI_IFR_CHECKBOX_DEFAULT_MFG);\r
+ }\r
}\r
}\r
- } else if (DefaultIdList[Index] == EFI_HII_DEFAULT_CLASS_MANUFACTURING) {\r
- Status = FindQuestionDefaultSetting (DefaultIdList[Index], EfiVarStoreList[EfiVarStoreIndex], IfrQuestionHdr, &IfrValue, sizeof (BOOLEAN), QuestionReferBitField);\r
- if (!EFI_ERROR (Status)) {\r
- if (IfrValue.b) {\r
- IfrCheckBox->Flags = IfrCheckBox->Flags | EFI_IFR_CHECKBOX_DEFAULT_MFG;\r
- } else {\r
- IfrCheckBox->Flags = IfrCheckBox->Flags & (~EFI_IFR_CHECKBOX_DEFAULT_MFG);\r
+ }\r
+ }\r
+\r
+ break;\r
+ case EFI_IFR_NUMERIC_OP:\r
+ IfrScope = IfrOpHdr->Scope;\r
+ IfrQuestionType = IfrOpHdr->OpCode;\r
+ IfrQuestionHdr = (EFI_IFR_QUESTION_HEADER *)(IfrOpHdr + 1);\r
+ if (QuestionReferBitField) {\r
+ Width = (UINTN)(((EFI_IFR_ONE_OF *)IfrOpHdr)->Flags & EDKII_IFR_NUMERIC_SIZE_BIT);\r
+ } else {\r
+ Width = (UINTN)((UINT32)1 << (((EFI_IFR_ONE_OF *)IfrOpHdr)->Flags & EFI_IFR_NUMERIC_SIZE));\r
+ }\r
+\r
+ break;\r
+ case EFI_IFR_ONE_OF_OP:\r
+ IfrScope = IfrOpHdr->Scope;\r
+ IfrQuestionType = IfrOpHdr->OpCode;\r
+ IfrQuestionHdr = (EFI_IFR_QUESTION_HEADER *)(IfrOpHdr + 1);\r
+ if (QuestionReferBitField) {\r
+ Width = (UINTN)(((EFI_IFR_ONE_OF *)IfrOpHdr)->Flags & EDKII_IFR_NUMERIC_SIZE_BIT);\r
+ } else {\r
+ Width = (UINTN)((UINT32)1 << (((EFI_IFR_ONE_OF *)IfrOpHdr)->Flags & EFI_IFR_NUMERIC_SIZE));\r
+ }\r
+\r
+ EfiVarStoreIndex = IsEfiVarStoreQuestion (IfrQuestionHdr, EfiVarStoreList, EfiVarStoreNumber);\r
+ StandardDefaultIsSet = FALSE;\r
+ ManufactDefaultIsSet = FALSE;\r
+ //\r
+ // Find Default and Manufacturing default for OneOf question\r
+ //\r
+ if (EfiVarStoreIndex < EfiVarStoreNumber) {\r
+ for (Index = 0; Index < DefaultIdNumber; Index++) {\r
+ if (DefaultIdList[Index] == EFI_HII_DEFAULT_CLASS_STANDARD) {\r
+ Status = FindQuestionDefaultSetting (EFI_HII_DEFAULT_CLASS_STANDARD, EfiVarStoreList[EfiVarStoreIndex], IfrQuestionHdr, &IfrValue, Width, QuestionReferBitField);\r
+ if (!EFI_ERROR (Status)) {\r
+ StandardDefaultIsSet = TRUE;\r
+ }\r
+ } else if (DefaultIdList[Index] == EFI_HII_DEFAULT_CLASS_MANUFACTURING) {\r
+ Status = FindQuestionDefaultSetting (EFI_HII_DEFAULT_CLASS_MANUFACTURING, EfiVarStoreList[EfiVarStoreIndex], IfrQuestionHdr, &IfrManufactValue, Width, QuestionReferBitField);\r
+ if (!EFI_ERROR (Status)) {\r
+ ManufactDefaultIsSet = TRUE;\r
}\r
}\r
}\r
}\r
- }\r
- break;\r
- case EFI_IFR_NUMERIC_OP:\r
- IfrScope = IfrOpHdr->Scope;\r
- IfrQuestionType = IfrOpHdr->OpCode;\r
- IfrQuestionHdr = (EFI_IFR_QUESTION_HEADER *) (IfrOpHdr + 1);\r
- if (QuestionReferBitField) {\r
- Width = (UINTN) (((EFI_IFR_ONE_OF *) IfrOpHdr)->Flags & EDKII_IFR_NUMERIC_SIZE_BIT);\r
- } else {\r
- Width = (UINTN) ((UINT32) 1 << (((EFI_IFR_ONE_OF *) IfrOpHdr)->Flags & EFI_IFR_NUMERIC_SIZE));\r
- }\r
- break;\r
- case EFI_IFR_ONE_OF_OP:\r
- IfrScope = IfrOpHdr->Scope;\r
- IfrQuestionType = IfrOpHdr->OpCode;\r
- IfrQuestionHdr = (EFI_IFR_QUESTION_HEADER *) (IfrOpHdr + 1);\r
- if (QuestionReferBitField) {\r
- Width = (UINTN) (((EFI_IFR_ONE_OF *) IfrOpHdr)->Flags & EDKII_IFR_NUMERIC_SIZE_BIT);\r
- } else {\r
- Width = (UINTN) ((UINT32) 1 << (((EFI_IFR_ONE_OF *) IfrOpHdr)->Flags & EFI_IFR_NUMERIC_SIZE));\r
- }\r
- EfiVarStoreIndex = IsEfiVarStoreQuestion (IfrQuestionHdr, EfiVarStoreList, EfiVarStoreNumber);\r
- StandardDefaultIsSet = FALSE;\r
- ManufactDefaultIsSet = FALSE;\r
- //\r
- // Find Default and Manufacturing default for OneOf question\r
- //\r
- if (EfiVarStoreIndex < EfiVarStoreNumber) {\r
- for (Index = 0; Index < DefaultIdNumber; Index ++) {\r
- if (DefaultIdList[Index] == EFI_HII_DEFAULT_CLASS_STANDARD) {\r
- Status = FindQuestionDefaultSetting (EFI_HII_DEFAULT_CLASS_STANDARD, EfiVarStoreList[EfiVarStoreIndex], IfrQuestionHdr, &IfrValue, Width, QuestionReferBitField);\r
- if (!EFI_ERROR (Status)) {\r
- StandardDefaultIsSet = TRUE;\r
+\r
+ break;\r
+ case EFI_IFR_ORDERED_LIST_OP:\r
+ IfrScope = IfrOpHdr->Scope;\r
+ IfrQuestionType = IfrOpHdr->OpCode;\r
+ IfrQuestionHdr = (EFI_IFR_QUESTION_HEADER *)(IfrOpHdr + 1);\r
+ break;\r
+ case EFI_IFR_ONE_OF_OPTION_OP:\r
+ if ((IfrQuestionHdr != NULL) && (IfrScope > 0)) {\r
+ IfrOneOfOption = (EFI_IFR_ONE_OF_OPTION *)IfrOpHdr;\r
+ if (IfrQuestionType == EFI_IFR_ONE_OF_OP) {\r
+ Width = (UINTN)((UINT32)1 << (IfrOneOfOption->Flags & EFI_IFR_NUMERIC_SIZE));\r
+ if (StandardDefaultIsSet) {\r
+ if (CompareMem (&IfrOneOfOption->Value, &IfrValue, Width) == 0) {\r
+ IfrOneOfOption->Flags |= EFI_IFR_OPTION_DEFAULT;\r
+ } else {\r
+ IfrOneOfOption->Flags &= ~EFI_IFR_OPTION_DEFAULT;\r
+ }\r
}\r
- } else if (DefaultIdList[Index] == EFI_HII_DEFAULT_CLASS_MANUFACTURING) {\r
- Status = FindQuestionDefaultSetting (EFI_HII_DEFAULT_CLASS_MANUFACTURING, EfiVarStoreList[EfiVarStoreIndex], IfrQuestionHdr, &IfrManufactValue, Width, QuestionReferBitField);\r
- if (!EFI_ERROR (Status)) {\r
- ManufactDefaultIsSet = TRUE;\r
+\r
+ if (ManufactDefaultIsSet) {\r
+ if (CompareMem (&IfrOneOfOption->Value, &IfrManufactValue, Width) == 0) {\r
+ IfrOneOfOption->Flags |= EFI_IFR_OPTION_DEFAULT_MFG;\r
+ } else {\r
+ IfrOneOfOption->Flags &= ~EFI_IFR_OPTION_DEFAULT_MFG;\r
+ }\r
}\r
}\r
}\r
- }\r
- break;\r
- case EFI_IFR_ORDERED_LIST_OP:\r
- IfrScope = IfrOpHdr->Scope;\r
- IfrQuestionType = IfrOpHdr->OpCode;\r
- IfrQuestionHdr = (EFI_IFR_QUESTION_HEADER *) (IfrOpHdr + 1);\r
- break;\r
- case EFI_IFR_ONE_OF_OPTION_OP:\r
- if (IfrQuestionHdr != NULL && IfrScope > 0) {\r
- IfrOneOfOption = (EFI_IFR_ONE_OF_OPTION *) IfrOpHdr;\r
- if (IfrQuestionType == EFI_IFR_ONE_OF_OP) {\r
- Width = (UINTN) ((UINT32) 1 << (IfrOneOfOption->Flags & EFI_IFR_NUMERIC_SIZE));\r
- if (StandardDefaultIsSet) {\r
- if (CompareMem (&IfrOneOfOption->Value, &IfrValue, Width) == 0) {\r
- IfrOneOfOption->Flags |= EFI_IFR_OPTION_DEFAULT;\r
- } else {\r
- IfrOneOfOption->Flags &= ~EFI_IFR_OPTION_DEFAULT;\r
+\r
+ break;\r
+ case EFI_IFR_DEFAULT_OP:\r
+ if ((IfrQuestionHdr != NULL) && (IfrScope > 0)) {\r
+ IfrDefault = (EFI_IFR_DEFAULT *)IfrOpHdr;\r
+ //\r
+ // Collect default value width\r
+ //\r
+ if (!QuestionReferBitField) {\r
+ Width = 0;\r
+ if ((IfrDefault->Type == EFI_IFR_TYPE_NUM_SIZE_8) || (IfrDefault->Type == EFI_IFR_TYPE_BOOLEAN)) {\r
+ Width = 1;\r
+ } else if (IfrDefault->Type == EFI_IFR_TYPE_NUM_SIZE_16) {\r
+ Width = 2;\r
+ } else if (IfrDefault->Type == EFI_IFR_TYPE_NUM_SIZE_32) {\r
+ Width = 4;\r
+ } else if (IfrDefault->Type == EFI_IFR_TYPE_NUM_SIZE_64) {\r
+ Width = 8;\r
+ } else if (IfrDefault->Type == EFI_IFR_TYPE_BUFFER) {\r
+ Width = IfrDefault->Header.Length - OFFSET_OF (EFI_IFR_DEFAULT, Value);\r
}\r
}\r
- if (ManufactDefaultIsSet) {\r
- if (CompareMem (&IfrOneOfOption->Value, &IfrManufactValue, Width) == 0) {\r
- IfrOneOfOption->Flags |= EFI_IFR_OPTION_DEFAULT_MFG;\r
- } else {\r
- IfrOneOfOption->Flags &= ~EFI_IFR_OPTION_DEFAULT_MFG;\r
+\r
+ //\r
+ // Update the default value\r
+ //\r
+ if (Width > 0) {\r
+ EfiVarStoreIndex = IsEfiVarStoreQuestion (IfrQuestionHdr, EfiVarStoreList, EfiVarStoreNumber);\r
+ if (EfiVarStoreIndex < EfiVarStoreNumber) {\r
+ Status = FindQuestionDefaultSetting (IfrDefault->DefaultId, EfiVarStoreList[EfiVarStoreIndex], IfrQuestionHdr, &IfrDefault->Value, Width, QuestionReferBitField);\r
}\r
}\r
}\r
- }\r
- break;\r
- case EFI_IFR_DEFAULT_OP:\r
- if (IfrQuestionHdr != NULL && IfrScope > 0) {\r
- IfrDefault = (EFI_IFR_DEFAULT *) IfrOpHdr;\r
- //\r
- // Collect default value width\r
- //\r
- if (!QuestionReferBitField) {\r
- Width = 0;\r
- if (IfrDefault->Type == EFI_IFR_TYPE_NUM_SIZE_8 || IfrDefault->Type == EFI_IFR_TYPE_BOOLEAN) {\r
- Width = 1;\r
- } else if (IfrDefault->Type == EFI_IFR_TYPE_NUM_SIZE_16) {\r
- Width = 2;\r
- } else if (IfrDefault->Type == EFI_IFR_TYPE_NUM_SIZE_32) {\r
- Width = 4;\r
- } else if (IfrDefault->Type == EFI_IFR_TYPE_NUM_SIZE_64) {\r
- Width = 8;\r
- } else if (IfrDefault->Type == EFI_IFR_TYPE_BUFFER) {\r
- Width = IfrDefault->Header.Length - OFFSET_OF (EFI_IFR_DEFAULT, Value);\r
+\r
+ break;\r
+ case EFI_IFR_END_OP:\r
+ if (IfrQuestionHdr != NULL) {\r
+ if (IfrScope > 0) {\r
+ IfrScope--;\r
}\r
- }\r
- //\r
- // Update the default value\r
- //\r
- if (Width > 0) {\r
- EfiVarStoreIndex = IsEfiVarStoreQuestion (IfrQuestionHdr, EfiVarStoreList, EfiVarStoreNumber);\r
- if (EfiVarStoreIndex < EfiVarStoreNumber) {\r
- Status = FindQuestionDefaultSetting (IfrDefault->DefaultId, EfiVarStoreList[EfiVarStoreIndex], IfrQuestionHdr, &IfrDefault->Value, Width, QuestionReferBitField);\r
+\r
+ if (IfrScope == 0) {\r
+ IfrQuestionHdr = NULL;\r
+ QuestionReferBitField = FALSE;\r
}\r
}\r
- }\r
- break;\r
- case EFI_IFR_END_OP:\r
- if (IfrQuestionHdr != NULL) {\r
- if (IfrScope > 0) {\r
- IfrScope --;\r
- }\r
- if (IfrScope == 0) {\r
- IfrQuestionHdr = NULL;\r
- QuestionReferBitField = FALSE;\r
+\r
+ break;\r
+ case EFI_IFR_GUID_OP:\r
+ if (CompareGuid ((EFI_GUID *)((UINT8 *)IfrOpHdr + sizeof (EFI_IFR_OP_HEADER)), &gEdkiiIfrBitVarstoreGuid)) {\r
+ QuestionReferBitField = TRUE;\r
}\r
- }\r
- break;\r
- case EFI_IFR_GUID_OP:\r
- if (CompareGuid ((EFI_GUID *)((UINT8 *)IfrOpHdr + sizeof (EFI_IFR_OP_HEADER)), &gEdkiiIfrBitVarstoreGuid)) {\r
- QuestionReferBitField = TRUE;\r
- }\r
- break;\r
- default:\r
- break;\r
+\r
+ break;\r
+ default:\r
+ break;\r
}\r
+\r
IfrOffset = IfrOffset + IfrOpHdr->Length;\r
- IfrOpHdr = (EFI_IFR_OP_HEADER *) ((UINT8 *) IfrOpHdr + IfrOpHdr->Length);\r
+ IfrOpHdr = (EFI_IFR_OP_HEADER *)((UINT8 *)IfrOpHdr + IfrOpHdr->Length);\r
if (IfrScope > 0) {\r
IfrScope += IfrOpHdr->Scope;\r
}\r
\r
Done:\r
if (EfiVarStoreList != NULL) {\r
- for (Index = 0; Index < EfiVarStoreNumber; Index ++) {\r
- FreePool (EfiVarStoreList [Index]);\r
+ for (Index = 0; Index < EfiVarStoreNumber; Index++) {\r
+ FreePool (EfiVarStoreList[Index]);\r
}\r
}\r
+\r
return;\r
}\r
\r
**/\r
EFI_STATUS\r
InsertFormPackage (\r
- IN VOID *PackageHdr,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- OUT HII_IFR_PACKAGE_INSTANCE **Package\r
+ IN VOID *PackageHdr,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ OUT HII_IFR_PACKAGE_INSTANCE **Package\r
)\r
{\r
- HII_IFR_PACKAGE_INSTANCE *FormPackage;\r
- EFI_HII_PACKAGE_HEADER PackageHeader;\r
+ HII_IFR_PACKAGE_INSTANCE *FormPackage;\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
\r
- if (PackageHdr == NULL || PackageList == NULL) {\r
+ if ((PackageHdr == NULL) || (PackageList == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
// Create a Form package node\r
//\r
- FormPackage = (HII_IFR_PACKAGE_INSTANCE *) AllocateZeroPool (sizeof (HII_IFR_PACKAGE_INSTANCE));\r
+ FormPackage = (HII_IFR_PACKAGE_INSTANCE *)AllocateZeroPool (sizeof (HII_IFR_PACKAGE_INSTANCE));\r
if (FormPackage == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- FormPackage->IfrData = (UINT8 *) AllocateZeroPool (PackageHeader.Length - sizeof (EFI_HII_PACKAGE_HEADER));\r
+ FormPackage->IfrData = (UINT8 *)AllocateZeroPool (PackageHeader.Length - sizeof (EFI_HII_PACKAGE_HEADER));\r
if (FormPackage->IfrData == NULL) {\r
FreePool (FormPackage);\r
return EFI_OUT_OF_RESOURCES;\r
//\r
CopyMem (\r
FormPackage->IfrData,\r
- (UINT8 *) PackageHdr + sizeof (EFI_HII_PACKAGE_HEADER),\r
+ (UINT8 *)PackageHdr + sizeof (EFI_HII_PACKAGE_HEADER),\r
PackageHeader.Length - sizeof (EFI_HII_PACKAGE_HEADER)\r
);\r
\r
if (NotifyType == EFI_HII_DATABASE_NOTIFY_ADD_PACK) {\r
PackageList->PackageListHdr.PackageLength += FormPackage->FormPkgHdr.Length;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function exports Form packages to a buffer.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
ExportFormPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- IN UINTN UsedSize,\r
- IN UINTN BufferSize,\r
- IN OUT VOID *Buffer,\r
- IN OUT UINTN *ResultSize\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ IN UINTN UsedSize,\r
+ IN UINTN BufferSize,\r
+ IN OUT VOID *Buffer,\r
+ IN OUT UINTN *ResultSize\r
)\r
{\r
- HII_IFR_PACKAGE_INSTANCE *FormPackage;\r
- UINTN PackageLength;\r
- LIST_ENTRY *Link;\r
- EFI_STATUS Status;\r
+ HII_IFR_PACKAGE_INSTANCE *FormPackage;\r
+ UINTN PackageLength;\r
+ LIST_ENTRY *Link;\r
+ EFI_STATUS Status;\r
\r
- if (Private == NULL || PackageList == NULL || ResultSize == NULL) {\r
+ if ((Private == NULL) || (PackageList == NULL) || (ResultSize == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (BufferSize > 0 && Buffer == NULL ) {\r
+ if ((BufferSize > 0) && (Buffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// Export Form packages.\r
//\r
for (Link = PackageList->FormPkgHdr.ForwardLink; Link != &PackageList->FormPkgHdr; Link = Link->ForwardLink) {\r
- FormPackage = CR (Link, HII_IFR_PACKAGE_INSTANCE, IfrEntry, HII_IFR_PACKAGE_SIGNATURE);\r
+ FormPackage = CR (Link, HII_IFR_PACKAGE_INSTANCE, IfrEntry, HII_IFR_PACKAGE_SIGNATURE);\r
PackageLength += FormPackage->FormPkgHdr.Length;\r
if ((Buffer != NULL) && (PackageLength + *ResultSize + UsedSize <= BufferSize)) {\r
//\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_EXPORT_PACK,\r
- (VOID *) FormPackage,\r
+ (VOID *)FormPackage,\r
EFI_HII_PACKAGE_FORMS,\r
Handle\r
);\r
//\r
// Copy the Form package content.\r
//\r
- CopyMem (Buffer, (VOID *) (&FormPackage->FormPkgHdr), sizeof (EFI_HII_PACKAGE_HEADER));\r
- Buffer = (UINT8 *) Buffer + sizeof (EFI_HII_PACKAGE_HEADER);\r
+ CopyMem (Buffer, (VOID *)(&FormPackage->FormPkgHdr), sizeof (EFI_HII_PACKAGE_HEADER));\r
+ Buffer = (UINT8 *)Buffer + sizeof (EFI_HII_PACKAGE_HEADER);\r
CopyMem (\r
Buffer,\r
- (VOID *) FormPackage->IfrData,\r
+ (VOID *)FormPackage->IfrData,\r
FormPackage->FormPkgHdr.Length - sizeof (EFI_HII_PACKAGE_HEADER)\r
);\r
- Buffer = (UINT8 *) Buffer + FormPackage->FormPkgHdr.Length - sizeof (EFI_HII_PACKAGE_HEADER);\r
+ Buffer = (UINT8 *)Buffer + FormPackage->FormPkgHdr.Length - sizeof (EFI_HII_PACKAGE_HEADER);\r
}\r
}\r
\r
*ResultSize += PackageLength;\r
\r
return EFI_SUCCESS;\r
-\r
}\r
\r
-\r
/**\r
This function deletes all Form packages from a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
RemoveFormPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
)\r
{\r
- LIST_ENTRY *ListHead;\r
- HII_IFR_PACKAGE_INSTANCE *Package;\r
- EFI_STATUS Status;\r
+ LIST_ENTRY *ListHead;\r
+ HII_IFR_PACKAGE_INSTANCE *Package;\r
+ EFI_STATUS Status;\r
\r
ListHead = &PackageList->FormPkgHdr;\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_REMOVE_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_FORMS,\r
Handle\r
);\r
return EFI_SUCCESS;\r
}\r
\r
-\r
-\r
/**\r
This function insert a String package to a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
InsertStringPackage (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN VOID *PackageHdr,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- OUT HII_STRING_PACKAGE_INSTANCE **Package\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN VOID *PackageHdr,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ OUT HII_STRING_PACKAGE_INSTANCE **Package\r
)\r
{\r
- HII_STRING_PACKAGE_INSTANCE *StringPackage;\r
- UINT32 HeaderSize;\r
- EFI_STATUS Status;\r
- EFI_HII_PACKAGE_HEADER PackageHeader;\r
- CHAR8 *Language;\r
- UINT32 LanguageSize;\r
- LIST_ENTRY *Link;\r
-\r
- if (Private == NULL || PackageHdr == NULL || PackageList == NULL) {\r
+ HII_STRING_PACKAGE_INSTANCE *StringPackage;\r
+ UINT32 HeaderSize;\r
+ EFI_STATUS Status;\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
+ CHAR8 *Language;\r
+ UINT32 LanguageSize;\r
+ LIST_ENTRY *Link;\r
+\r
+ if ((Private == NULL) || (PackageHdr == NULL) || (PackageList == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
if (Private->Signature != HII_DATABASE_PRIVATE_DATA_SIGNATURE) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
CopyMem (&PackageHeader, PackageHdr, sizeof (EFI_HII_PACKAGE_HEADER));\r
- CopyMem (&HeaderSize, (UINT8 *) PackageHdr + sizeof (EFI_HII_PACKAGE_HEADER), sizeof (UINT32));\r
+ CopyMem (&HeaderSize, (UINT8 *)PackageHdr + sizeof (EFI_HII_PACKAGE_HEADER), sizeof (UINT32));\r
\r
//\r
// It is illegal to have two string packages with same language within one packagelist\r
// since the stringid will be duplicate if so. Check it to avoid this potential issue.\r
//\r
LanguageSize = HeaderSize - sizeof (EFI_HII_STRING_PACKAGE_HDR) + sizeof (CHAR8);\r
- Language = (CHAR8 *) AllocateZeroPool (LanguageSize);\r
+ Language = (CHAR8 *)AllocateZeroPool (LanguageSize);\r
if (Language == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
- AsciiStrCpyS (Language, LanguageSize / sizeof (CHAR8), (CHAR8 *) PackageHdr + HeaderSize - LanguageSize);\r
+\r
+ AsciiStrCpyS (Language, LanguageSize / sizeof (CHAR8), (CHAR8 *)PackageHdr + HeaderSize - LanguageSize);\r
for (Link = PackageList->StringPkgHdr.ForwardLink; Link != &PackageList->StringPkgHdr; Link = Link->ForwardLink) {\r
StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);\r
if (HiiCompareLanguage (Language, StringPackage->StringPkgHdr->Language)) {\r
return EFI_UNSUPPORTED;\r
}\r
}\r
+\r
FreePool (Language);\r
\r
//\r
// Create a String package node\r
//\r
- StringPackage = (HII_STRING_PACKAGE_INSTANCE *) AllocateZeroPool (sizeof (HII_STRING_PACKAGE_INSTANCE));\r
+ StringPackage = (HII_STRING_PACKAGE_INSTANCE *)AllocateZeroPool (sizeof (HII_STRING_PACKAGE_INSTANCE));\r
if (StringPackage == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
}\r
\r
- StringPackage->StringPkgHdr = (EFI_HII_STRING_PACKAGE_HDR *) AllocateZeroPool (HeaderSize);\r
+ StringPackage->StringPkgHdr = (EFI_HII_STRING_PACKAGE_HDR *)AllocateZeroPool (HeaderSize);\r
if (StringPackage->StringPkgHdr == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
}\r
\r
- StringPackage->StringBlock = (UINT8 *) AllocateZeroPool (PackageHeader.Length - HeaderSize);\r
+ StringPackage->StringBlock = (UINT8 *)AllocateZeroPool (PackageHeader.Length - HeaderSize);\r
if (StringPackage->StringBlock == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
//\r
CopyMem (\r
StringPackage->StringBlock,\r
- (UINT8 *) PackageHdr + HeaderSize,\r
+ (UINT8 *)PackageHdr + HeaderSize,\r
PackageHeader.Length - HeaderSize\r
);\r
\r
//\r
// Collect all font block info\r
//\r
- Status = FindStringBlock (Private, StringPackage, (EFI_STRING_ID) (-1), NULL, NULL, NULL, &StringPackage->MaxStringId, NULL);\r
+ Status = FindStringBlock (Private, StringPackage, (EFI_STRING_ID)(-1), NULL, NULL, NULL, &StringPackage->MaxStringId, NULL);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
if (StringPackage->StringBlock != NULL) {\r
FreePool (StringPackage->StringBlock);\r
}\r
+\r
if (StringPackage->StringPkgHdr != NULL) {\r
FreePool (StringPackage->StringPkgHdr);\r
}\r
+\r
FreePool (StringPackage);\r
}\r
- return Status;\r
\r
+ return Status;\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
AdjustStringPackage (\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
-)\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
+ )\r
{\r
- LIST_ENTRY *Link;\r
- HII_STRING_PACKAGE_INSTANCE *StringPackage;\r
- UINT32 Skip2BlockSize;\r
- UINT32 OldBlockSize;\r
- UINT8 *StringBlock;\r
- UINT8 *BlockPtr;\r
- EFI_STRING_ID MaxStringId;\r
- UINT16 SkipCount;\r
+ LIST_ENTRY *Link;\r
+ HII_STRING_PACKAGE_INSTANCE *StringPackage;\r
+ UINT32 Skip2BlockSize;\r
+ UINT32 OldBlockSize;\r
+ UINT8 *StringBlock;\r
+ UINT8 *BlockPtr;\r
+ EFI_STRING_ID MaxStringId;\r
+ UINT16 SkipCount;\r
\r
MaxStringId = 0;\r
for (Link = PackageList->StringPkgHdr.ForwardLink;\r
Link != &PackageList->StringPkgHdr;\r
Link = Link->ForwardLink\r
- ) {\r
+ )\r
+ {\r
StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);\r
if (MaxStringId < StringPackage->MaxStringId) {\r
MaxStringId = StringPackage->MaxStringId;\r
for (Link = PackageList->StringPkgHdr.ForwardLink;\r
Link != &PackageList->StringPkgHdr;\r
Link = Link->ForwardLink\r
- ) {\r
+ )\r
+ {\r
StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);\r
if (StringPackage->MaxStringId < MaxStringId) {\r
OldBlockSize = StringPackage->StringPkgHdr->Header.Length - StringPackage->StringPkgHdr->HdrSize;\r
//\r
// Create SKIP2 EFI_HII_SIBT_SKIP2_BLOCKs to reserve the missing string IDs.\r
//\r
- SkipCount = (UINT16) (MaxStringId - StringPackage->MaxStringId);\r
- Skip2BlockSize = (UINT32) sizeof (EFI_HII_SIBT_SKIP2_BLOCK);\r
+ SkipCount = (UINT16)(MaxStringId - StringPackage->MaxStringId);\r
+ Skip2BlockSize = (UINT32)sizeof (EFI_HII_SIBT_SKIP2_BLOCK);\r
\r
- StringBlock = (UINT8 *) AllocateZeroPool (OldBlockSize + Skip2BlockSize);\r
+ StringBlock = (UINT8 *)AllocateZeroPool (OldBlockSize + Skip2BlockSize);\r
if (StringBlock == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
//\r
// Copy original string blocks, except the EFI_HII_SIBT_END.\r
//\r
BlockPtr = StringBlock + OldBlockSize - sizeof (EFI_HII_SIBT_END_BLOCK);\r
*BlockPtr = EFI_HII_SIBT_SKIP2;\r
CopyMem (BlockPtr + 1, &SkipCount, sizeof (UINT16));\r
- BlockPtr += sizeof (EFI_HII_SIBT_SKIP2_BLOCK);\r
+ BlockPtr += sizeof (EFI_HII_SIBT_SKIP2_BLOCK);\r
\r
//\r
// Append a EFI_HII_SIBT_END block to the end.\r
//\r
*BlockPtr = EFI_HII_SIBT_END;\r
FreePool (StringPackage->StringBlock);\r
- StringPackage->StringBlock = StringBlock;\r
+ StringPackage->StringBlock = StringBlock;\r
StringPackage->StringPkgHdr->Header.Length += Skip2BlockSize;\r
- PackageList->PackageListHdr.PackageLength += Skip2BlockSize;\r
- StringPackage->MaxStringId = MaxStringId;\r
+ PackageList->PackageListHdr.PackageLength += Skip2BlockSize;\r
+ StringPackage->MaxStringId = MaxStringId;\r
}\r
}\r
\r
**/\r
EFI_STATUS\r
ExportStringPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- IN UINTN UsedSize,\r
- IN UINTN BufferSize,\r
- IN OUT VOID *Buffer,\r
- IN OUT UINTN *ResultSize\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ IN UINTN UsedSize,\r
+ IN UINTN BufferSize,\r
+ IN OUT VOID *Buffer,\r
+ IN OUT UINTN *ResultSize\r
)\r
{\r
- LIST_ENTRY *Link;\r
- UINTN PackageLength;\r
- EFI_STATUS Status;\r
- HII_STRING_PACKAGE_INSTANCE *StringPackage;\r
+ LIST_ENTRY *Link;\r
+ UINTN PackageLength;\r
+ EFI_STATUS Status;\r
+ HII_STRING_PACKAGE_INSTANCE *StringPackage;\r
\r
- if (Private == NULL || PackageList == NULL || ResultSize == NULL) {\r
+ if ((Private == NULL) || (PackageList == NULL) || (ResultSize == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (BufferSize > 0 && Buffer == NULL ) {\r
+ if ((BufferSize > 0) && (Buffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Status = EFI_SUCCESS;\r
\r
for (Link = PackageList->StringPkgHdr.ForwardLink; Link != &PackageList->StringPkgHdr; Link = Link->ForwardLink) {\r
- StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);\r
+ StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);\r
PackageLength += StringPackage->StringPkgHdr->Header.Length;\r
if (PackageLength + *ResultSize + UsedSize <= BufferSize) {\r
//\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_EXPORT_PACK,\r
- (VOID *) StringPackage,\r
+ (VOID *)StringPackage,\r
EFI_HII_PACKAGE_STRINGS,\r
Handle\r
);\r
// Copy String package header\r
//\r
CopyMem (Buffer, StringPackage->StringPkgHdr, StringPackage->StringPkgHdr->HdrSize);\r
- Buffer = (UINT8 *) Buffer + StringPackage->StringPkgHdr->HdrSize;\r
+ Buffer = (UINT8 *)Buffer + StringPackage->StringPkgHdr->HdrSize;\r
\r
//\r
// Copy String blocks information\r
StringPackage->StringBlock,\r
StringPackage->StringPkgHdr->Header.Length - StringPackage->StringPkgHdr->HdrSize\r
);\r
- Buffer = (UINT8 *) Buffer + StringPackage->StringPkgHdr->Header.Length - StringPackage->StringPkgHdr->HdrSize;\r
+ Buffer = (UINT8 *)Buffer + StringPackage->StringPkgHdr->Header.Length - StringPackage->StringPkgHdr->HdrSize;\r
}\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function deletes all String packages from a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
RemoveStringPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
)\r
{\r
- LIST_ENTRY *ListHead;\r
- HII_STRING_PACKAGE_INSTANCE *Package;\r
- HII_FONT_INFO *FontInfo;\r
- EFI_STATUS Status;\r
+ LIST_ENTRY *ListHead;\r
+ HII_STRING_PACKAGE_INSTANCE *Package;\r
+ HII_FONT_INFO *FontInfo;\r
+ EFI_STATUS Status;\r
\r
ListHead = &PackageList->StringPkgHdr;\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_REMOVE_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_STRINGS,\r
Handle\r
);\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function insert a Font package to a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
InsertFontPackage (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN VOID *PackageHdr,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- OUT HII_FONT_PACKAGE_INSTANCE **Package\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN VOID *PackageHdr,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ OUT HII_FONT_PACKAGE_INSTANCE **Package\r
)\r
{\r
- HII_FONT_PACKAGE_INSTANCE *FontPackage;\r
- EFI_HII_FONT_PACKAGE_HDR *FontPkgHdr;\r
- UINT32 HeaderSize;\r
- EFI_STATUS Status;\r
- EFI_HII_PACKAGE_HEADER PackageHeader;\r
- EFI_FONT_INFO *FontInfo;\r
- UINT32 FontInfoSize;\r
- HII_GLOBAL_FONT_INFO *GlobalFont;\r
-\r
- if (Private == NULL || PackageHdr == NULL || PackageList == NULL) {\r
+ HII_FONT_PACKAGE_INSTANCE *FontPackage;\r
+ EFI_HII_FONT_PACKAGE_HDR *FontPkgHdr;\r
+ UINT32 HeaderSize;\r
+ EFI_STATUS Status;\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
+ EFI_FONT_INFO *FontInfo;\r
+ UINT32 FontInfoSize;\r
+ HII_GLOBAL_FONT_INFO *GlobalFont;\r
+\r
+ if ((Private == NULL) || (PackageHdr == NULL) || (PackageList == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
CopyMem (&PackageHeader, PackageHdr, sizeof (EFI_HII_PACKAGE_HEADER));\r
- CopyMem (&HeaderSize, (UINT8 *) PackageHdr + sizeof (EFI_HII_PACKAGE_HEADER), sizeof (UINT32));\r
+ CopyMem (&HeaderSize, (UINT8 *)PackageHdr + sizeof (EFI_HII_PACKAGE_HEADER), sizeof (UINT32));\r
\r
FontInfo = NULL;\r
FontPackage = NULL;\r
// database. EFI_FONT_INFO (FontName, FontSize, FontStyle) describes font's\r
// attributes and identify a font uniquely.\r
//\r
- FontPkgHdr = (EFI_HII_FONT_PACKAGE_HDR *) AllocateZeroPool (HeaderSize);\r
+ FontPkgHdr = (EFI_HII_FONT_PACKAGE_HDR *)AllocateZeroPool (HeaderSize);\r
if (FontPkgHdr == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
}\r
+\r
CopyMem (FontPkgHdr, PackageHdr, HeaderSize);\r
\r
FontInfoSize = sizeof (EFI_FONT_INFO) + HeaderSize - sizeof (EFI_HII_FONT_PACKAGE_HDR);\r
- FontInfo = (EFI_FONT_INFO *) AllocateZeroPool (FontInfoSize);\r
+ FontInfo = (EFI_FONT_INFO *)AllocateZeroPool (FontInfoSize);\r
if (FontInfo == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
}\r
+\r
FontInfo->FontStyle = FontPkgHdr->FontStyle;\r
FontInfo->FontSize = FontPkgHdr->Cell.Height;\r
- StrCpyS (FontInfo->FontName, (FontInfoSize - OFFSET_OF(EFI_FONT_INFO,FontName)) / sizeof (CHAR16), FontPkgHdr->FontFamily);\r
+ StrCpyS (FontInfo->FontName, (FontInfoSize - OFFSET_OF (EFI_FONT_INFO, FontName)) / sizeof (CHAR16), FontPkgHdr->FontFamily);\r
\r
if (IsFontInfoExisted (Private, FontInfo, NULL, NULL, NULL)) {\r
Status = EFI_UNSUPPORTED;\r
//\r
// Create a Font package node\r
//\r
- FontPackage = (HII_FONT_PACKAGE_INSTANCE *) AllocateZeroPool (sizeof (HII_FONT_PACKAGE_INSTANCE));\r
+ FontPackage = (HII_FONT_PACKAGE_INSTANCE *)AllocateZeroPool (sizeof (HII_FONT_PACKAGE_INSTANCE));\r
if (FontPackage == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
}\r
+\r
FontPackage->Signature = HII_FONT_PACKAGE_SIGNATURE;\r
FontPackage->FontPkgHdr = FontPkgHdr;\r
InitializeListHead (&FontPackage->GlyphInfoList);\r
\r
- FontPackage->GlyphBlock = (UINT8 *) AllocateZeroPool (PackageHeader.Length - HeaderSize);\r
+ FontPackage->GlyphBlock = (UINT8 *)AllocateZeroPool (PackageHeader.Length - HeaderSize);\r
if (FontPackage->GlyphBlock == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
}\r
- CopyMem (FontPackage->GlyphBlock, (UINT8 *) PackageHdr + HeaderSize, PackageHeader.Length - HeaderSize);\r
+\r
+ CopyMem (FontPackage->GlyphBlock, (UINT8 *)PackageHdr + HeaderSize, PackageHeader.Length - HeaderSize);\r
\r
//\r
// Collect all default character cell information and backup in GlyphInfoList.\r
//\r
- Status = FindGlyphBlock (FontPackage, (CHAR16) (-1), NULL, NULL, NULL);\r
+ Status = FindGlyphBlock (FontPackage, (CHAR16)(-1), NULL, NULL, NULL);\r
if (EFI_ERROR (Status)) {\r
goto Error;\r
}\r
// This font package describes an unique EFI_FONT_INFO. Backup it in global\r
// font info list.\r
//\r
- GlobalFont = (HII_GLOBAL_FONT_INFO *) AllocateZeroPool (sizeof (HII_GLOBAL_FONT_INFO));\r
+ GlobalFont = (HII_GLOBAL_FONT_INFO *)AllocateZeroPool (sizeof (HII_GLOBAL_FONT_INFO));\r
if (GlobalFont == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
}\r
+\r
GlobalFont->Signature = HII_GLOBAL_FONT_INFO_SIGNATURE;\r
GlobalFont->FontPackage = FontPackage;\r
GlobalFont->FontInfoSize = FontInfoSize;\r
if (FontPkgHdr != NULL) {\r
FreePool (FontPkgHdr);\r
}\r
+\r
if (FontInfo != NULL) {\r
FreePool (FontInfo);\r
}\r
+\r
if (FontPackage != NULL) {\r
if (FontPackage->GlyphBlock != NULL) {\r
FreePool (FontPackage->GlyphBlock);\r
}\r
+\r
FreePool (FontPackage);\r
}\r
+\r
if (GlobalFont != NULL) {\r
FreePool (GlobalFont);\r
}\r
\r
return Status;\r
-\r
}\r
\r
-\r
/**\r
This function exports Font packages to a buffer.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
ExportFontPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- IN UINTN UsedSize,\r
- IN UINTN BufferSize,\r
- IN OUT VOID *Buffer,\r
- IN OUT UINTN *ResultSize\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ IN UINTN UsedSize,\r
+ IN UINTN BufferSize,\r
+ IN OUT VOID *Buffer,\r
+ IN OUT UINTN *ResultSize\r
)\r
{\r
- LIST_ENTRY *Link;\r
- UINTN PackageLength;\r
- EFI_STATUS Status;\r
- HII_FONT_PACKAGE_INSTANCE *Package;\r
-\r
+ LIST_ENTRY *Link;\r
+ UINTN PackageLength;\r
+ EFI_STATUS Status;\r
+ HII_FONT_PACKAGE_INSTANCE *Package;\r
\r
- if (Private == NULL || PackageList == NULL || ResultSize == NULL) {\r
+ if ((Private == NULL) || (PackageList == NULL) || (ResultSize == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (BufferSize > 0 && Buffer == NULL ) {\r
+ if ((BufferSize > 0) && (Buffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Status = EFI_SUCCESS;\r
\r
for (Link = PackageList->FontPkgHdr.ForwardLink; Link != &PackageList->FontPkgHdr; Link = Link->ForwardLink) {\r
- Package = CR (Link, HII_FONT_PACKAGE_INSTANCE, FontEntry, HII_FONT_PACKAGE_SIGNATURE);\r
+ Package = CR (Link, HII_FONT_PACKAGE_INSTANCE, FontEntry, HII_FONT_PACKAGE_SIGNATURE);\r
PackageLength += Package->FontPkgHdr->Header.Length;\r
if (PackageLength + *ResultSize + UsedSize <= BufferSize) {\r
//\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_EXPORT_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_FONTS,\r
Handle\r
);\r
// Copy Font package header\r
//\r
CopyMem (Buffer, Package->FontPkgHdr, Package->FontPkgHdr->HdrSize);\r
- Buffer = (UINT8 *) Buffer + Package->FontPkgHdr->HdrSize;\r
+ Buffer = (UINT8 *)Buffer + Package->FontPkgHdr->HdrSize;\r
\r
//\r
// Copy Glyph blocks information\r
Package->GlyphBlock,\r
Package->FontPkgHdr->Header.Length - Package->FontPkgHdr->HdrSize\r
);\r
- Buffer = (UINT8 *) Buffer + Package->FontPkgHdr->Header.Length - Package->FontPkgHdr->HdrSize;\r
+ Buffer = (UINT8 *)Buffer + Package->FontPkgHdr->Header.Length - Package->FontPkgHdr->HdrSize;\r
}\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function deletes all Font packages from a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
RemoveFontPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
)\r
{\r
- LIST_ENTRY *ListHead;\r
- HII_FONT_PACKAGE_INSTANCE *Package;\r
- EFI_STATUS Status;\r
- HII_GLYPH_INFO *GlyphInfo;\r
- LIST_ENTRY *Link;\r
- HII_GLOBAL_FONT_INFO *GlobalFont;\r
+ LIST_ENTRY *ListHead;\r
+ HII_FONT_PACKAGE_INSTANCE *Package;\r
+ EFI_STATUS Status;\r
+ HII_GLYPH_INFO *GlyphInfo;\r
+ LIST_ENTRY *Link;\r
+ HII_GLOBAL_FONT_INFO *GlobalFont;\r
\r
ListHead = &PackageList->FontPkgHdr;\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_REMOVE_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_FONTS,\r
Handle\r
);\r
if (Package->GlyphBlock != NULL) {\r
FreePool (Package->GlyphBlock);\r
}\r
+\r
FreePool (Package->FontPkgHdr);\r
//\r
// Delete default character cell information\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function insert a Image package to a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
InsertImagePackage (\r
- IN VOID *PackageHdr,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- OUT HII_IMAGE_PACKAGE_INSTANCE **Package\r
+ IN VOID *PackageHdr,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ OUT HII_IMAGE_PACKAGE_INSTANCE **Package\r
)\r
{\r
- HII_IMAGE_PACKAGE_INSTANCE *ImagePackage;\r
- UINT32 PaletteSize;\r
- UINT32 ImageSize;\r
- UINT16 Index;\r
- EFI_HII_IMAGE_PALETTE_INFO_HEADER *PaletteHdr;\r
- EFI_HII_IMAGE_PALETTE_INFO *PaletteInfo;\r
- UINT32 PaletteInfoOffset;\r
- UINT32 ImageInfoOffset;\r
- UINT16 CurrentSize;\r
-\r
- if (PackageHdr == NULL || PackageList == NULL) {\r
+ HII_IMAGE_PACKAGE_INSTANCE *ImagePackage;\r
+ UINT32 PaletteSize;\r
+ UINT32 ImageSize;\r
+ UINT16 Index;\r
+ EFI_HII_IMAGE_PALETTE_INFO_HEADER *PaletteHdr;\r
+ EFI_HII_IMAGE_PALETTE_INFO *PaletteInfo;\r
+ UINT32 PaletteInfoOffset;\r
+ UINT32 ImageInfoOffset;\r
+ UINT16 CurrentSize;\r
+\r
+ if ((PackageHdr == NULL) || (PackageList == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
// Create a Image package node\r
//\r
- ImagePackage = (HII_IMAGE_PACKAGE_INSTANCE *) AllocateZeroPool (sizeof (HII_IMAGE_PACKAGE_INSTANCE));\r
+ ImagePackage = (HII_IMAGE_PACKAGE_INSTANCE *)AllocateZeroPool (sizeof (HII_IMAGE_PACKAGE_INSTANCE));\r
if (ImagePackage == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
PaletteSize = 0;\r
ImagePackage->PaletteBlock = NULL;\r
if (PaletteInfoOffset != 0) {\r
- PaletteHdr = (EFI_HII_IMAGE_PALETTE_INFO_HEADER *) ((UINT8 *) PackageHdr + PaletteInfoOffset);\r
+ PaletteHdr = (EFI_HII_IMAGE_PALETTE_INFO_HEADER *)((UINT8 *)PackageHdr + PaletteInfoOffset);\r
PaletteSize = sizeof (EFI_HII_IMAGE_PALETTE_INFO_HEADER);\r
- PaletteInfo = (EFI_HII_IMAGE_PALETTE_INFO *) ((UINT8 *) PaletteHdr + PaletteSize);\r
+ PaletteInfo = (EFI_HII_IMAGE_PALETTE_INFO *)((UINT8 *)PaletteHdr + PaletteSize);\r
\r
for (Index = 0; Index < PaletteHdr->PaletteCount; Index++) {\r
CopyMem (&CurrentSize, PaletteInfo, sizeof (UINT16));\r
CurrentSize += sizeof (UINT16);\r
- PaletteSize += (UINT32) CurrentSize;\r
- PaletteInfo = (EFI_HII_IMAGE_PALETTE_INFO *) ((UINT8 *) PaletteInfo + CurrentSize);\r
+ PaletteSize += (UINT32)CurrentSize;\r
+ PaletteInfo = (EFI_HII_IMAGE_PALETTE_INFO *)((UINT8 *)PaletteInfo + CurrentSize);\r
}\r
\r
- ImagePackage->PaletteBlock = (UINT8 *) AllocateZeroPool (PaletteSize);\r
+ ImagePackage->PaletteBlock = (UINT8 *)AllocateZeroPool (PaletteSize);\r
if (ImagePackage->PaletteBlock == NULL) {\r
FreePool (ImagePackage);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
CopyMem (\r
ImagePackage->PaletteBlock,\r
- (UINT8 *) PackageHdr + PaletteInfoOffset,\r
+ (UINT8 *)PackageHdr + PaletteInfoOffset,\r
PaletteSize\r
);\r
}\r
FreePool (ImagePackage);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
CopyMem (\r
ImagePackage->ImageBlock,\r
- (UINT8 *) PackageHdr + ImageInfoOffset,\r
+ (UINT8 *)PackageHdr + ImageInfoOffset,\r
ImageSize\r
);\r
}\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function exports Image packages to a buffer.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
ExportImagePackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- IN UINTN UsedSize,\r
- IN UINTN BufferSize,\r
- IN OUT VOID *Buffer,\r
- IN OUT UINTN *ResultSize\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ IN UINTN UsedSize,\r
+ IN UINTN BufferSize,\r
+ IN OUT VOID *Buffer,\r
+ IN OUT UINTN *ResultSize\r
)\r
{\r
UINTN PackageLength;\r
EFI_STATUS Status;\r
HII_IMAGE_PACKAGE_INSTANCE *Package;\r
\r
-\r
- if (Private == NULL || PackageList == NULL || ResultSize == NULL) {\r
+ if ((Private == NULL) || (PackageList == NULL) || (ResultSize == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (BufferSize > 0 && Buffer == NULL ) {\r
+ if ((BufferSize > 0) && (Buffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_EXPORT_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_IMAGES,\r
Handle\r
);\r
ASSERT_EFI_ERROR (Status);\r
- ASSERT (Package->ImagePkgHdr.Header.Length ==\r
- sizeof (EFI_HII_IMAGE_PACKAGE_HDR) + Package->ImageBlockSize + Package->PaletteInfoSize);\r
+ ASSERT (\r
+ Package->ImagePkgHdr.Header.Length ==\r
+ sizeof (EFI_HII_IMAGE_PACKAGE_HDR) + Package->ImageBlockSize + Package->PaletteInfoSize\r
+ );\r
//\r
// Copy Image package header,\r
// then justify the offset for image info and palette info in the header.\r
//\r
CopyMem (Buffer, &Package->ImagePkgHdr, sizeof (EFI_HII_IMAGE_PACKAGE_HDR));\r
- Buffer = (UINT8 *) Buffer + sizeof (EFI_HII_IMAGE_PACKAGE_HDR);\r
+ Buffer = (UINT8 *)Buffer + sizeof (EFI_HII_IMAGE_PACKAGE_HDR);\r
\r
//\r
// Copy Image blocks information\r
//\r
if (Package->ImageBlockSize != 0) {\r
CopyMem (Buffer, Package->ImageBlock, Package->ImageBlockSize);\r
- Buffer = (UINT8 *) Buffer + Package->ImageBlockSize;\r
+ Buffer = (UINT8 *)Buffer + Package->ImageBlockSize;\r
}\r
+\r
//\r
// Copy Palette information\r
//\r
if (Package->PaletteInfoSize != 0) {\r
CopyMem (Buffer, Package->PaletteBlock, Package->PaletteInfoSize);\r
- Buffer = (UINT8 *) Buffer + Package->PaletteInfoSize;\r
+ Buffer = (UINT8 *)Buffer + Package->PaletteInfoSize;\r
}\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function deletes Image package from a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
RemoveImagePackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
)\r
{\r
- HII_IMAGE_PACKAGE_INSTANCE *Package;\r
- EFI_STATUS Status;\r
+ HII_IMAGE_PACKAGE_INSTANCE *Package;\r
+ EFI_STATUS Status;\r
\r
Package = PackageList->ImagePkg;\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_REMOVE_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_IMAGES,\r
Handle\r
);\r
if (Package->PaletteBlock != NULL) {\r
FreePool (Package->PaletteBlock);\r
}\r
+\r
FreePool (Package);\r
\r
PackageList->ImagePkg = NULL;\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function insert a Simple Font package to a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
InsertSimpleFontPackage (\r
- IN VOID *PackageHdr,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- OUT HII_SIMPLE_FONT_PACKAGE_INSTANCE **Package\r
+ IN VOID *PackageHdr,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ OUT HII_SIMPLE_FONT_PACKAGE_INSTANCE **Package\r
)\r
{\r
- HII_SIMPLE_FONT_PACKAGE_INSTANCE *SimpleFontPackage;\r
- EFI_STATUS Status;\r
- EFI_HII_PACKAGE_HEADER Header;\r
+ HII_SIMPLE_FONT_PACKAGE_INSTANCE *SimpleFontPackage;\r
+ EFI_STATUS Status;\r
+ EFI_HII_PACKAGE_HEADER Header;\r
\r
- if (PackageHdr == NULL || PackageList == NULL) {\r
+ if ((PackageHdr == NULL) || (PackageList == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
}\r
+\r
SimpleFontPackage->Signature = HII_S_FONT_PACKAGE_SIGNATURE;\r
\r
//\r
if (SimpleFontPackage->SimpleFontPkgHdr != NULL) {\r
FreePool (SimpleFontPackage->SimpleFontPkgHdr);\r
}\r
+\r
FreePool (SimpleFontPackage);\r
}\r
+\r
return Status;\r
}\r
\r
-\r
/**\r
This function exports SimpleFont packages to a buffer.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
ExportSimpleFontPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- IN UINTN UsedSize,\r
- IN UINTN BufferSize,\r
- IN OUT VOID *Buffer,\r
- IN OUT UINTN *ResultSize\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ IN UINTN UsedSize,\r
+ IN UINTN BufferSize,\r
+ IN OUT VOID *Buffer,\r
+ IN OUT UINTN *ResultSize\r
)\r
{\r
LIST_ENTRY *Link;\r
EFI_STATUS Status;\r
HII_SIMPLE_FONT_PACKAGE_INSTANCE *Package;\r
\r
- if (Private == NULL || PackageList == NULL || ResultSize == NULL) {\r
+ if ((Private == NULL) || (PackageList == NULL) || (ResultSize == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (BufferSize > 0 && Buffer == NULL ) {\r
+ if ((BufferSize > 0) && (Buffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Status = EFI_SUCCESS;\r
\r
for (Link = PackageList->SimpleFontPkgHdr.ForwardLink; Link != &PackageList->SimpleFontPkgHdr; Link = Link->ForwardLink) {\r
- Package = CR (Link, HII_SIMPLE_FONT_PACKAGE_INSTANCE, SimpleFontEntry, HII_S_FONT_PACKAGE_SIGNATURE);\r
+ Package = CR (Link, HII_SIMPLE_FONT_PACKAGE_INSTANCE, SimpleFontEntry, HII_S_FONT_PACKAGE_SIGNATURE);\r
PackageLength += Package->SimpleFontPkgHdr->Header.Length;\r
if (PackageLength + *ResultSize + UsedSize <= BufferSize) {\r
//\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_EXPORT_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_SIMPLE_FONTS,\r
Handle\r
);\r
// Copy SimpleFont package\r
//\r
CopyMem (Buffer, Package->SimpleFontPkgHdr, Package->SimpleFontPkgHdr->Header.Length);\r
- Buffer = (UINT8 *) Buffer + Package->SimpleFontPkgHdr->Header.Length;\r
+ Buffer = (UINT8 *)Buffer + Package->SimpleFontPkgHdr->Header.Length;\r
}\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function deletes all Simple Font packages from a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
RemoveSimpleFontPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
)\r
{\r
- LIST_ENTRY *ListHead;\r
- HII_SIMPLE_FONT_PACKAGE_INSTANCE *Package;\r
- EFI_STATUS Status;\r
+ LIST_ENTRY *ListHead;\r
+ HII_SIMPLE_FONT_PACKAGE_INSTANCE *Package;\r
+ EFI_STATUS Status;\r
\r
ListHead = &PackageList->SimpleFontPkgHdr;\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_REMOVE_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_SIMPLE_FONTS,\r
Handle\r
);\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function insert a Device path package to a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
InsertDevicePathPackage (\r
- IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
+ IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
)\r
{\r
- UINT32 PackageLength;\r
- EFI_HII_PACKAGE_HEADER Header;\r
+ UINT32 PackageLength;\r
+ EFI_HII_PACKAGE_HEADER Header;\r
\r
- if (DevicePath == NULL || PackageList == NULL) {\r
+ if ((DevicePath == NULL) || (PackageList == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
//\r
// Less than one device path package is allowed in one package list.\r
//\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- PackageLength = (UINT32) GetDevicePathSize (DevicePath) + sizeof (EFI_HII_PACKAGE_HEADER);\r
- PackageList->DevicePathPkg = (UINT8 *) AllocateZeroPool (PackageLength);\r
+ PackageLength = (UINT32)GetDevicePathSize (DevicePath) + sizeof (EFI_HII_PACKAGE_HEADER);\r
+ PackageList->DevicePathPkg = (UINT8 *)AllocateZeroPool (PackageLength);\r
if (PackageList->DevicePathPkg == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function exports device path package to a buffer.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
ExportDevicePathPackage (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- IN UINTN UsedSize,\r
- IN UINTN BufferSize,\r
- IN OUT VOID *Buffer,\r
- IN OUT UINTN *ResultSize\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ IN UINTN UsedSize,\r
+ IN UINTN BufferSize,\r
+ IN OUT VOID *Buffer,\r
+ IN OUT UINTN *ResultSize\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT8 *Package;\r
- EFI_HII_PACKAGE_HEADER Header;\r
+ EFI_STATUS Status;\r
+ UINT8 *Package;\r
+ EFI_HII_PACKAGE_HEADER Header;\r
\r
- if (Private == NULL || PackageList == NULL || ResultSize == NULL) {\r
+ if ((Private == NULL) || (PackageList == NULL) || (ResultSize == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
- if (BufferSize > 0 && Buffer == NULL ) {\r
+\r
+ if ((BufferSize > 0) && (Buffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_EXPORT_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_DEVICE_PATH,\r
Handle\r
);\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function deletes Device Path package from a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
RemoveDevicePathPackage (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT8 *Package;\r
- EFI_HII_PACKAGE_HEADER Header;\r
+ EFI_STATUS Status;\r
+ UINT8 *Package;\r
+ EFI_HII_PACKAGE_HEADER Header;\r
\r
Package = PackageList->DevicePathPkg;\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_REMOVE_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_DEVICE_PATH,\r
Handle\r
);\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function will insert a device path package to package list firstly then\r
invoke notification functions if any.\r
**/\r
EFI_STATUS\r
AddDevicePathPackage (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
- IN OUT HII_DATABASE_RECORD *DatabaseRecord\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
+ IN OUT HII_DATABASE_RECORD *DatabaseRecord\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
if (DevicePath == NULL) {\r
return EFI_SUCCESS;\r
// Create a device path package and insert to packagelist\r
//\r
Status = InsertDevicePathPackage (\r
- DevicePath,\r
- NotifyType,\r
- DatabaseRecord->PackageList\r
- );\r
+ DevicePath,\r
+ NotifyType,\r
+ DatabaseRecord->PackageList\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
return InvokeRegisteredFunction (\r
- Private,\r
- NotifyType,\r
- (VOID *) DatabaseRecord->PackageList->DevicePathPkg,\r
- EFI_HII_PACKAGE_DEVICE_PATH,\r
- DatabaseRecord->Handle\r
- );\r
+ Private,\r
+ NotifyType,\r
+ (VOID *)DatabaseRecord->PackageList->DevicePathPkg,\r
+ EFI_HII_PACKAGE_DEVICE_PATH,\r
+ DatabaseRecord->Handle\r
+ );\r
}\r
\r
-\r
/**\r
This function insert a Keyboard Layout package to a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
InsertKeyboardLayoutPackage (\r
- IN VOID *PackageHdr,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- OUT HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE **Package\r
+ IN VOID *PackageHdr,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ OUT HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE **Package\r
)\r
{\r
- HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *KeyboardLayoutPackage;\r
- EFI_HII_PACKAGE_HEADER PackageHeader;\r
- EFI_STATUS Status;\r
+ HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *KeyboardLayoutPackage;\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
+ EFI_STATUS Status;\r
\r
- if (PackageHdr == NULL || PackageList == NULL) {\r
+ if ((PackageHdr == NULL) || (PackageList == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
}\r
+\r
KeyboardLayoutPackage->Signature = HII_KB_LAYOUT_PACKAGE_SIGNATURE;\r
\r
- KeyboardLayoutPackage->KeyboardPkg = (UINT8 *) AllocateZeroPool (PackageHeader.Length);\r
+ KeyboardLayoutPackage->KeyboardPkg = (UINT8 *)AllocateZeroPool (PackageHeader.Length);\r
if (KeyboardLayoutPackage->KeyboardPkg == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
\r
Error:\r
\r
-\r
if (KeyboardLayoutPackage != NULL) {\r
if (KeyboardLayoutPackage->KeyboardPkg != NULL) {\r
FreePool (KeyboardLayoutPackage->KeyboardPkg);\r
}\r
+\r
FreePool (KeyboardLayoutPackage);\r
}\r
\r
return Status;\r
}\r
\r
-\r
/**\r
This function exports Keyboard Layout packages to a buffer.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
ExportKeyboardLayoutPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- IN UINTN UsedSize,\r
- IN UINTN BufferSize,\r
- IN OUT VOID *Buffer,\r
- IN OUT UINTN *ResultSize\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ IN UINTN UsedSize,\r
+ IN UINTN BufferSize,\r
+ IN OUT VOID *Buffer,\r
+ IN OUT UINTN *ResultSize\r
)\r
{\r
- LIST_ENTRY *Link;\r
- UINTN PackageLength;\r
- EFI_STATUS Status;\r
- HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *Package;\r
- EFI_HII_PACKAGE_HEADER PackageHeader;\r
+ LIST_ENTRY *Link;\r
+ UINTN PackageLength;\r
+ EFI_STATUS Status;\r
+ HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *Package;\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
\r
- if (Private == NULL || PackageList == NULL || ResultSize == NULL) {\r
+ if ((Private == NULL) || (PackageList == NULL) || (ResultSize == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (BufferSize > 0 && Buffer == NULL ) {\r
+ if ((BufferSize > 0) && (Buffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_EXPORT_PACK,\r
- (EFI_HII_PACKAGE_HEADER *) Package,\r
+ (EFI_HII_PACKAGE_HEADER *)Package,\r
EFI_HII_PACKAGE_KEYBOARD_LAYOUT,\r
Handle\r
);\r
// Copy Keyboard Layout package\r
//\r
CopyMem (Buffer, Package->KeyboardPkg, PackageHeader.Length);\r
- Buffer = (UINT8 *) Buffer + PackageHeader.Length;\r
+ Buffer = (UINT8 *)Buffer + PackageHeader.Length;\r
}\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function deletes all Keyboard Layout packages from a package list node.\r
This is a internal function.\r
**/\r
EFI_STATUS\r
RemoveKeyboardLayoutPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN OUT HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList\r
)\r
{\r
- LIST_ENTRY *ListHead;\r
- HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *Package;\r
- EFI_HII_PACKAGE_HEADER PackageHeader;\r
- EFI_STATUS Status;\r
+ LIST_ENTRY *ListHead;\r
+ HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *Package;\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
+ EFI_STATUS Status;\r
\r
ListHead = &PackageList->KeyboardLayoutHdr;\r
\r
Status = InvokeRegisteredFunction (\r
Private,\r
EFI_HII_DATABASE_NOTIFY_REMOVE_PACK,\r
- (VOID *) Package,\r
+ (VOID *)Package,\r
EFI_HII_PACKAGE_KEYBOARD_LAYOUT,\r
Handle\r
);\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function will insert a package list to hii database firstly then\r
invoke notification functions if any. It is the worker function of\r
**/\r
EFI_STATUS\r
AddPackages (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList,\r
- IN OUT HII_DATABASE_RECORD *DatabaseRecord\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList,\r
+ IN OUT HII_DATABASE_RECORD *DatabaseRecord\r
)\r
{\r
- EFI_STATUS Status;\r
- HII_GUID_PACKAGE_INSTANCE *GuidPackage;\r
- HII_IFR_PACKAGE_INSTANCE *FormPackage;\r
- HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *KeyboardLayoutPackage;\r
- HII_STRING_PACKAGE_INSTANCE *StringPackage;\r
- HII_FONT_PACKAGE_INSTANCE *FontPackage;\r
- HII_SIMPLE_FONT_PACKAGE_INSTANCE *SimpleFontPackage;\r
- HII_IMAGE_PACKAGE_INSTANCE *ImagePackage;\r
- EFI_HII_PACKAGE_HEADER *PackageHdrPtr;\r
- EFI_HII_PACKAGE_HEADER PackageHeader;\r
- UINT32 OldPackageListLen;\r
- BOOLEAN StringPkgIsAdd;\r
+ EFI_STATUS Status;\r
+ HII_GUID_PACKAGE_INSTANCE *GuidPackage;\r
+ HII_IFR_PACKAGE_INSTANCE *FormPackage;\r
+ HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *KeyboardLayoutPackage;\r
+ HII_STRING_PACKAGE_INSTANCE *StringPackage;\r
+ HII_FONT_PACKAGE_INSTANCE *FontPackage;\r
+ HII_SIMPLE_FONT_PACKAGE_INSTANCE *SimpleFontPackage;\r
+ HII_IMAGE_PACKAGE_INSTANCE *ImagePackage;\r
+ EFI_HII_PACKAGE_HEADER *PackageHdrPtr;\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
+ UINT32 OldPackageListLen;\r
+ BOOLEAN StringPkgIsAdd;\r
\r
//\r
// Initialize Variables\r
OldPackageListLen = DatabaseRecord->PackageList->PackageListHdr.PackageLength;\r
CopyMem (\r
&DatabaseRecord->PackageList->PackageListHdr,\r
- (VOID *) PackageList,\r
+ (VOID *)PackageList,\r
sizeof (EFI_HII_PACKAGE_LIST_HEADER)\r
);\r
if (NotifyType == EFI_HII_DATABASE_NOTIFY_ADD_PACK) {\r
DatabaseRecord->PackageList->PackageListHdr.PackageLength = OldPackageListLen;\r
}\r
\r
- PackageHdrPtr = (EFI_HII_PACKAGE_HEADER *) ((UINT8 *) PackageList + sizeof (EFI_HII_PACKAGE_LIST_HEADER));\r
+ PackageHdrPtr = (EFI_HII_PACKAGE_HEADER *)((UINT8 *)PackageList + sizeof (EFI_HII_PACKAGE_LIST_HEADER));\r
CopyMem (&PackageHeader, PackageHdrPtr, sizeof (EFI_HII_PACKAGE_HEADER));\r
\r
Status = EFI_SUCCESS;\r
\r
while (PackageHeader.Type != EFI_HII_PACKAGE_END) {\r
switch (PackageHeader.Type) {\r
- case EFI_HII_PACKAGE_TYPE_GUID:\r
- Status = InsertGuidPackage (\r
- PackageHdrPtr,\r
- NotifyType,\r
- DatabaseRecord->PackageList,\r
- &GuidPackage\r
- );\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
- Status = InvokeRegisteredFunction (\r
- Private,\r
- NotifyType,\r
- (VOID *) GuidPackage,\r
- (UINT8) (PackageHeader.Type),\r
- DatabaseRecord->Handle\r
- );\r
- break;\r
- case EFI_HII_PACKAGE_FORMS:\r
- Status = InsertFormPackage (\r
- PackageHdrPtr,\r
- NotifyType,\r
- DatabaseRecord->PackageList,\r
- &FormPackage\r
- );\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
- Status = InvokeRegisteredFunction (\r
- Private,\r
- NotifyType,\r
- (VOID *) FormPackage,\r
- (UINT8) (PackageHeader.Type),\r
- DatabaseRecord->Handle\r
- );\r
- //\r
- // If Hii runtime support feature is enabled,\r
- // will export Hii info for runtime use after ReadyToBoot event triggered.\r
- // If some driver add/update/remove packages from HiiDatabase after ReadyToBoot,\r
- // will need to export the content of HiiDatabase.\r
- // But if form packages added/updated, also need to export the ConfigResp string.\r
- //\r
- if (gExportAfterReadyToBoot) {\r
- gExportConfigResp = TRUE;\r
- }\r
- break;\r
- case EFI_HII_PACKAGE_KEYBOARD_LAYOUT:\r
- Status = InsertKeyboardLayoutPackage (\r
- PackageHdrPtr,\r
- NotifyType,\r
- DatabaseRecord->PackageList,\r
- &KeyboardLayoutPackage\r
- );\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
- Status = InvokeRegisteredFunction (\r
- Private,\r
- NotifyType,\r
- (VOID *) KeyboardLayoutPackage,\r
- (UINT8) (PackageHeader.Type),\r
- DatabaseRecord->Handle\r
- );\r
- break;\r
- case EFI_HII_PACKAGE_STRINGS:\r
- Status = InsertStringPackage (\r
- Private,\r
- PackageHdrPtr,\r
- NotifyType,\r
- DatabaseRecord->PackageList,\r
- &StringPackage\r
- );\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
- ASSERT (StringPackage != NULL);\r
- Status = InvokeRegisteredFunction (\r
- Private,\r
- NotifyType,\r
- (VOID *) StringPackage,\r
- (UINT8) (PackageHeader.Type),\r
- DatabaseRecord->Handle\r
- );\r
- StringPkgIsAdd = TRUE;\r
- break;\r
- case EFI_HII_PACKAGE_FONTS:\r
- Status = InsertFontPackage (\r
- Private,\r
- PackageHdrPtr,\r
- NotifyType,\r
- DatabaseRecord->PackageList,\r
- &FontPackage\r
- );\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
- Status = InvokeRegisteredFunction (\r
- Private,\r
- NotifyType,\r
- (VOID *) FontPackage,\r
- (UINT8) (PackageHeader.Type),\r
- DatabaseRecord->Handle\r
- );\r
- break;\r
- case EFI_HII_PACKAGE_IMAGES:\r
- Status = InsertImagePackage (\r
- PackageHdrPtr,\r
- NotifyType,\r
- DatabaseRecord->PackageList,\r
- &ImagePackage\r
- );\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
- Status = InvokeRegisteredFunction (\r
- Private,\r
- NotifyType,\r
- (VOID *) ImagePackage,\r
- (UINT8) (PackageHeader.Type),\r
- DatabaseRecord->Handle\r
- );\r
- break;\r
- case EFI_HII_PACKAGE_SIMPLE_FONTS:\r
- Status = InsertSimpleFontPackage (\r
- PackageHdrPtr,\r
- NotifyType,\r
- DatabaseRecord->PackageList,\r
- &SimpleFontPackage\r
- );\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
- Status = InvokeRegisteredFunction (\r
- Private,\r
- NotifyType,\r
- (VOID *) SimpleFontPackage,\r
- (UINT8) (PackageHeader.Type),\r
- DatabaseRecord->Handle\r
- );\r
- break;\r
- case EFI_HII_PACKAGE_DEVICE_PATH:\r
- Status = AddDevicePathPackage (\r
- Private,\r
- NotifyType,\r
- (EFI_DEVICE_PATH_PROTOCOL *) ((UINT8 *) PackageHdrPtr + sizeof (EFI_HII_PACKAGE_HEADER)),\r
- DatabaseRecord\r
- );\r
- break;\r
- default:\r
- break;\r
+ case EFI_HII_PACKAGE_TYPE_GUID:\r
+ Status = InsertGuidPackage (\r
+ PackageHdrPtr,\r
+ NotifyType,\r
+ DatabaseRecord->PackageList,\r
+ &GuidPackage\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ Status = InvokeRegisteredFunction (\r
+ Private,\r
+ NotifyType,\r
+ (VOID *)GuidPackage,\r
+ (UINT8)(PackageHeader.Type),\r
+ DatabaseRecord->Handle\r
+ );\r
+ break;\r
+ case EFI_HII_PACKAGE_FORMS:\r
+ Status = InsertFormPackage (\r
+ PackageHdrPtr,\r
+ NotifyType,\r
+ DatabaseRecord->PackageList,\r
+ &FormPackage\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ Status = InvokeRegisteredFunction (\r
+ Private,\r
+ NotifyType,\r
+ (VOID *)FormPackage,\r
+ (UINT8)(PackageHeader.Type),\r
+ DatabaseRecord->Handle\r
+ );\r
+ //\r
+ // If Hii runtime support feature is enabled,\r
+ // will export Hii info for runtime use after ReadyToBoot event triggered.\r
+ // If some driver add/update/remove packages from HiiDatabase after ReadyToBoot,\r
+ // will need to export the content of HiiDatabase.\r
+ // But if form packages added/updated, also need to export the ConfigResp string.\r
+ //\r
+ if (gExportAfterReadyToBoot) {\r
+ gExportConfigResp = TRUE;\r
+ }\r
+\r
+ break;\r
+ case EFI_HII_PACKAGE_KEYBOARD_LAYOUT:\r
+ Status = InsertKeyboardLayoutPackage (\r
+ PackageHdrPtr,\r
+ NotifyType,\r
+ DatabaseRecord->PackageList,\r
+ &KeyboardLayoutPackage\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ Status = InvokeRegisteredFunction (\r
+ Private,\r
+ NotifyType,\r
+ (VOID *)KeyboardLayoutPackage,\r
+ (UINT8)(PackageHeader.Type),\r
+ DatabaseRecord->Handle\r
+ );\r
+ break;\r
+ case EFI_HII_PACKAGE_STRINGS:\r
+ Status = InsertStringPackage (\r
+ Private,\r
+ PackageHdrPtr,\r
+ NotifyType,\r
+ DatabaseRecord->PackageList,\r
+ &StringPackage\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ ASSERT (StringPackage != NULL);\r
+ Status = InvokeRegisteredFunction (\r
+ Private,\r
+ NotifyType,\r
+ (VOID *)StringPackage,\r
+ (UINT8)(PackageHeader.Type),\r
+ DatabaseRecord->Handle\r
+ );\r
+ StringPkgIsAdd = TRUE;\r
+ break;\r
+ case EFI_HII_PACKAGE_FONTS:\r
+ Status = InsertFontPackage (\r
+ Private,\r
+ PackageHdrPtr,\r
+ NotifyType,\r
+ DatabaseRecord->PackageList,\r
+ &FontPackage\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ Status = InvokeRegisteredFunction (\r
+ Private,\r
+ NotifyType,\r
+ (VOID *)FontPackage,\r
+ (UINT8)(PackageHeader.Type),\r
+ DatabaseRecord->Handle\r
+ );\r
+ break;\r
+ case EFI_HII_PACKAGE_IMAGES:\r
+ Status = InsertImagePackage (\r
+ PackageHdrPtr,\r
+ NotifyType,\r
+ DatabaseRecord->PackageList,\r
+ &ImagePackage\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ Status = InvokeRegisteredFunction (\r
+ Private,\r
+ NotifyType,\r
+ (VOID *)ImagePackage,\r
+ (UINT8)(PackageHeader.Type),\r
+ DatabaseRecord->Handle\r
+ );\r
+ break;\r
+ case EFI_HII_PACKAGE_SIMPLE_FONTS:\r
+ Status = InsertSimpleFontPackage (\r
+ PackageHdrPtr,\r
+ NotifyType,\r
+ DatabaseRecord->PackageList,\r
+ &SimpleFontPackage\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ Status = InvokeRegisteredFunction (\r
+ Private,\r
+ NotifyType,\r
+ (VOID *)SimpleFontPackage,\r
+ (UINT8)(PackageHeader.Type),\r
+ DatabaseRecord->Handle\r
+ );\r
+ break;\r
+ case EFI_HII_PACKAGE_DEVICE_PATH:\r
+ Status = AddDevicePathPackage (\r
+ Private,\r
+ NotifyType,\r
+ (EFI_DEVICE_PATH_PROTOCOL *)((UINT8 *)PackageHdrPtr + sizeof (EFI_HII_PACKAGE_HEADER)),\r
+ DatabaseRecord\r
+ );\r
+ break;\r
+ default:\r
+ break;\r
}\r
\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
//\r
// goto header of next package\r
//\r
- PackageHdrPtr = (EFI_HII_PACKAGE_HEADER *) ((UINT8 *) PackageHdrPtr + PackageHeader.Length);\r
+ PackageHdrPtr = (EFI_HII_PACKAGE_HEADER *)((UINT8 *)PackageHdrPtr + PackageHeader.Length);\r
CopyMem (&PackageHeader, PackageHdrPtr, sizeof (EFI_HII_PACKAGE_HEADER));\r
}\r
\r
return Status;\r
}\r
\r
-\r
/**\r
This function exports a package list to a buffer. It is the worker function\r
of HiiExportPackageList.\r
**/\r
EFI_STATUS\r
ExportPackageList (\r
- IN HII_DATABASE_PRIVATE_DATA *Private,\r
- IN EFI_HII_HANDLE Handle,\r
- IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
- IN OUT UINTN *UsedSize,\r
- IN UINTN BufferSize,\r
- OUT EFI_HII_PACKAGE_LIST_HEADER *Buffer\r
+ IN HII_DATABASE_PRIVATE_DATA *Private,\r
+ IN EFI_HII_HANDLE Handle,\r
+ IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList,\r
+ IN OUT UINTN *UsedSize,\r
+ IN UINTN BufferSize,\r
+ OUT EFI_HII_PACKAGE_LIST_HEADER *Buffer\r
)\r
{\r
- EFI_STATUS Status;\r
- UINTN ResultSize;\r
- EFI_HII_PACKAGE_HEADER EndofPackageList;\r
+ EFI_STATUS Status;\r
+ UINTN ResultSize;\r
+ EFI_HII_PACKAGE_HEADER EndofPackageList;\r
\r
ASSERT (Private != NULL && PackageList != NULL && UsedSize != NULL);\r
ASSERT (Private->Signature == HII_DATABASE_PRIVATE_DATA_SIGNATURE);\r
ASSERT (IsHiiHandleValid (Handle));\r
\r
- if (BufferSize > 0 && Buffer == NULL ) {\r
+ if ((BufferSize > 0) && (Buffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
ResultSize = sizeof (EFI_HII_PACKAGE_LIST_HEADER);\r
if (ResultSize + *UsedSize <= BufferSize) {\r
- CopyMem ((VOID *) Buffer, PackageList, ResultSize);\r
+ CopyMem ((VOID *)Buffer, PackageList, ResultSize);\r
}\r
+\r
//\r
// Copy the packages and invoke EXPORT_PACK notify functions if exists.\r
//\r
PackageList,\r
*UsedSize,\r
BufferSize,\r
- (VOID *) ((UINT8 *) Buffer + ResultSize),\r
+ (VOID *)((UINT8 *)Buffer + ResultSize),\r
&ResultSize\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Status = ExportFormPackages (\r
Private,\r
Handle,\r
PackageList,\r
*UsedSize,\r
BufferSize,\r
- (VOID *) ((UINT8 *) Buffer + ResultSize),\r
+ (VOID *)((UINT8 *)Buffer + ResultSize),\r
&ResultSize\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Status = ExportKeyboardLayoutPackages (\r
Private,\r
Handle,\r
PackageList,\r
*UsedSize,\r
BufferSize,\r
- (VOID *) ((UINT8 *) Buffer + ResultSize),\r
+ (VOID *)((UINT8 *)Buffer + ResultSize),\r
&ResultSize\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Status = ExportStringPackages (\r
Private,\r
Handle,\r
PackageList,\r
*UsedSize,\r
BufferSize,\r
- (VOID *) ((UINT8 *) Buffer + ResultSize),\r
+ (VOID *)((UINT8 *)Buffer + ResultSize),\r
&ResultSize\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Status = ExportFontPackages (\r
Private,\r
Handle,\r
PackageList,\r
*UsedSize,\r
BufferSize,\r
- (VOID *) ((UINT8 *) Buffer + ResultSize),\r
+ (VOID *)((UINT8 *)Buffer + ResultSize),\r
&ResultSize\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Status = ExportImagePackages (\r
Private,\r
Handle,\r
PackageList,\r
*UsedSize,\r
BufferSize,\r
- (VOID *) ((UINT8 *) Buffer + ResultSize),\r
+ (VOID *)((UINT8 *)Buffer + ResultSize),\r
&ResultSize\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Status = ExportSimpleFontPackages (\r
Private,\r
Handle,\r
PackageList,\r
*UsedSize,\r
BufferSize,\r
- (VOID *) ((UINT8 *) Buffer + ResultSize),\r
+ (VOID *)((UINT8 *)Buffer + ResultSize),\r
&ResultSize\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Status = ExportDevicePathPackage (\r
Private,\r
Handle,\r
PackageList,\r
*UsedSize,\r
BufferSize,\r
- (VOID *) ((UINT8 *) Buffer + ResultSize),\r
+ (VOID *)((UINT8 *)Buffer + ResultSize),\r
&ResultSize\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
//\r
// Append the package list end.\r
//\r
EndofPackageList.Type = EFI_HII_PACKAGE_END;\r
if (ResultSize + *UsedSize + sizeof (EFI_HII_PACKAGE_HEADER) <= BufferSize) {\r
CopyMem (\r
- (VOID *) ((UINT8 *) Buffer + ResultSize),\r
- (VOID *) &EndofPackageList,\r
+ (VOID *)((UINT8 *)Buffer + ResultSize),\r
+ (VOID *)&EndofPackageList,\r
sizeof (EFI_HII_PACKAGE_HEADER)\r
);\r
}\r
\r
**/\r
EFI_STATUS\r
-HiiGetConfigRespInfo(\r
- IN CONST EFI_HII_DATABASE_PROTOCOL *This\r
+HiiGetConfigRespInfo (\r
+ IN CONST EFI_HII_DATABASE_PROTOCOL *This\r
)\r
{\r
- EFI_STATUS Status;\r
- HII_DATABASE_PRIVATE_DATA *Private;\r
- EFI_STRING ConfigAltResp;\r
- UINTN ConfigSize;\r
+ EFI_STATUS Status;\r
+ HII_DATABASE_PRIVATE_DATA *Private;\r
+ EFI_STRING ConfigAltResp;\r
+ UINTN ConfigSize;\r
\r
- ConfigAltResp = NULL;\r
- ConfigSize = 0;\r
+ ConfigAltResp = NULL;\r
+ ConfigSize = 0;\r
\r
Private = HII_DATABASE_DATABASE_PRIVATE_DATA_FROM_THIS (This);\r
\r
//\r
// Get ConfigResp string\r
//\r
- Status = HiiConfigRoutingExportConfig(&Private->ConfigRouting,&ConfigAltResp);\r
+ Status = HiiConfigRoutingExportConfig (&Private->ConfigRouting, &ConfigAltResp);\r
\r
- if (!EFI_ERROR (Status)){\r
- ConfigSize = StrSize(ConfigAltResp);\r
- if (ConfigSize > gConfigRespSize){\r
+ if (!EFI_ERROR (Status)) {\r
+ ConfigSize = StrSize (ConfigAltResp);\r
+ if (ConfigSize > gConfigRespSize) {\r
//\r
// Do 25% overallocation to minimize the number of memory allocations after ReadyToBoot.\r
// Since lots of allocation after ReadyToBoot may change memory map and cause S4 resume issue.\r
//\r
gConfigRespSize = ConfigSize + (ConfigSize >> 2);\r
- if (gRTConfigRespBuffer != NULL){\r
- FreePool(gRTConfigRespBuffer);\r
+ if (gRTConfigRespBuffer != NULL) {\r
+ FreePool (gRTConfigRespBuffer);\r
DEBUG ((DEBUG_WARN, "[HiiDatabase]: Memory allocation is required after ReadyToBoot, which may change memory map and cause S4 resume issue.\n"));\r
}\r
- gRTConfigRespBuffer = (EFI_STRING) AllocateRuntimeZeroPool (gConfigRespSize);\r
- if (gRTConfigRespBuffer == NULL){\r
- FreePool(ConfigAltResp);\r
+\r
+ gRTConfigRespBuffer = (EFI_STRING)AllocateRuntimeZeroPool (gConfigRespSize);\r
+ if (gRTConfigRespBuffer == NULL) {\r
+ FreePool (ConfigAltResp);\r
DEBUG ((DEBUG_ERROR, "[HiiDatabase]: No enough memory resource to store the ConfigResp string.\n"));\r
//\r
// Remove from the System Table when the configuration runtime buffer is freed.\r
return EFI_OUT_OF_RESOURCES;\r
}\r
} else {\r
- ZeroMem(gRTConfigRespBuffer,gConfigRespSize);\r
+ ZeroMem (gRTConfigRespBuffer, gConfigRespSize);\r
}\r
- CopyMem(gRTConfigRespBuffer,ConfigAltResp,ConfigSize);\r
+\r
+ CopyMem (gRTConfigRespBuffer, ConfigAltResp, ConfigSize);\r
gBS->InstallConfigurationTable (&gEfiHiiConfigRoutingProtocolGuid, gRTConfigRespBuffer);\r
- FreePool(ConfigAltResp);\r
+ FreePool (ConfigAltResp);\r
}\r
\r
return EFI_SUCCESS;\r
-\r
}\r
\r
/**\r
\r
**/\r
EFI_STATUS\r
-HiiGetDatabaseInfo(\r
- IN CONST EFI_HII_DATABASE_PROTOCOL *This\r
+HiiGetDatabaseInfo (\r
+ IN CONST EFI_HII_DATABASE_PROTOCOL *This\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_HII_PACKAGE_LIST_HEADER *DatabaseInfo;\r
- UINTN DatabaseInfoSize;\r
+ EFI_STATUS Status;\r
+ EFI_HII_PACKAGE_LIST_HEADER *DatabaseInfo;\r
+ UINTN DatabaseInfoSize;\r
\r
- DatabaseInfo = NULL;\r
- DatabaseInfoSize = 0;\r
+ DatabaseInfo = NULL;\r
+ DatabaseInfoSize = 0;\r
\r
//\r
// Get HiiDatabase information.\r
//\r
- Status = HiiExportPackageLists(This, NULL, &DatabaseInfoSize, DatabaseInfo);\r
+ Status = HiiExportPackageLists (This, NULL, &DatabaseInfoSize, DatabaseInfo);\r
\r
- ASSERT(Status == EFI_BUFFER_TOO_SMALL);\r
+ ASSERT (Status == EFI_BUFFER_TOO_SMALL);\r
\r
- if(DatabaseInfoSize > gDatabaseInfoSize ) {\r
+ if (DatabaseInfoSize > gDatabaseInfoSize ) {\r
//\r
// Do 25% overallocation to minimize the number of memory allocations after ReadyToBoot.\r
// Since lots of allocation after ReadyToBoot may change memory map and cause S4 resume issue.\r
//\r
gDatabaseInfoSize = DatabaseInfoSize + (DatabaseInfoSize >> 2);\r
- if (gRTDatabaseInfoBuffer != NULL){\r
- FreePool(gRTDatabaseInfoBuffer);\r
+ if (gRTDatabaseInfoBuffer != NULL) {\r
+ FreePool (gRTDatabaseInfoBuffer);\r
DEBUG ((DEBUG_WARN, "[HiiDatabase]: Memory allocation is required after ReadyToBoot, which may change memory map and cause S4 resume issue.\n"));\r
}\r
+\r
gRTDatabaseInfoBuffer = AllocateRuntimeZeroPool (gDatabaseInfoSize);\r
- if (gRTDatabaseInfoBuffer == NULL){\r
+ if (gRTDatabaseInfoBuffer == NULL) {\r
DEBUG ((DEBUG_ERROR, "[HiiDatabase]: No enough memory resource to store the HiiDatabase info.\n"));\r
//\r
// Remove from the System Table when the configuration runtime buffer is freed.\r
return EFI_OUT_OF_RESOURCES;\r
}\r
} else {\r
- ZeroMem(gRTDatabaseInfoBuffer,gDatabaseInfoSize);\r
+ ZeroMem (gRTDatabaseInfoBuffer, gDatabaseInfoSize);\r
}\r
- Status = HiiExportPackageLists(This, NULL, &DatabaseInfoSize, gRTDatabaseInfoBuffer);\r
+\r
+ Status = HiiExportPackageLists (This, NULL, &DatabaseInfoSize, gRTDatabaseInfoBuffer);\r
ASSERT_EFI_ERROR (Status);\r
gBS->InstallConfigurationTable (&gEfiHiiDatabaseProtocolGuid, gRTDatabaseInfoBuffer);\r
\r
return EFI_SUCCESS;\r
-\r
}\r
\r
/**\r
OUT EFI_HII_HANDLE *Handle\r
)\r
{\r
- EFI_STATUS Status;\r
- HII_DATABASE_PRIVATE_DATA *Private;\r
- HII_DATABASE_RECORD *DatabaseRecord;\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
- LIST_ENTRY *Link;\r
- EFI_GUID PackageListGuid;\r
+ EFI_STATUS Status;\r
+ HII_DATABASE_PRIVATE_DATA *Private;\r
+ HII_DATABASE_RECORD *DatabaseRecord;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
+ LIST_ENTRY *Link;\r
+ EFI_GUID PackageListGuid;\r
\r
- if (This == NULL || PackageList == NULL || Handle == NULL) {\r
+ if ((This == NULL) || (PackageList == NULL) || (Handle == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Private = HII_DATABASE_DATABASE_PRIVATE_DATA_FROM_THIS (This);\r
- CopyMem (&PackageListGuid, (VOID *) PackageList, sizeof (EFI_GUID));\r
+ CopyMem (&PackageListGuid, (VOID *)PackageList, sizeof (EFI_GUID));\r
\r
//\r
// Check the Package list GUID to guarantee this GUID is unique in database.\r
DatabaseRecord = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);\r
if (CompareGuid (\r
&(DatabaseRecord->PackageList->PackageListHdr.PackageListGuid),\r
- &PackageListGuid) &&\r
- DatabaseRecord->DriverHandle == DriverHandle) {\r
+ &PackageListGuid\r
+ ) &&\r
+ (DatabaseRecord->DriverHandle == DriverHandle))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
}\r
Status = gBS->HandleProtocol (\r
DriverHandle,\r
&gEfiDevicePathProtocolGuid,\r
- (VOID **) &DevicePath\r
+ (VOID **)&DevicePath\r
);\r
if (!EFI_ERROR (Status)) {\r
Status = AddDevicePathPackage (Private, EFI_HII_DATABASE_NOTIFY_NEW_PACK, DevicePath, DatabaseRecord);\r
if (gExportAfterReadyToBoot) {\r
HiiGetDatabaseInfo (This);\r
}\r
+\r
EfiReleaseLock (&mHiiDatabaseLock);\r
\r
//\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function removes the package list that is associated with Handle\r
from the HII database. Before removing the package, any registered functions\r
EFI_STATUS\r
EFIAPI\r
HiiRemovePackageList (\r
- IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN EFI_HII_HANDLE Handle\r
+ IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
+ IN EFI_HII_HANDLE Handle\r
)\r
{\r
EFI_STATUS Status;\r
for (Link = Private->DatabaseList.ForwardLink; Link != &Private->DatabaseList; Link = Link->ForwardLink) {\r
Node = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);\r
if (Node->Handle == Handle) {\r
- PackageList = (HII_DATABASE_PACKAGE_LIST_INSTANCE *) (Node->PackageList);\r
+ PackageList = (HII_DATABASE_PACKAGE_LIST_INSTANCE *)(Node->PackageList);\r
ASSERT (PackageList != NULL);\r
\r
//\r
EfiReleaseLock (&mHiiDatabaseLock);\r
return Status;\r
}\r
+\r
Status = RemoveFormPackages (Private, Handle, PackageList);\r
if (EFI_ERROR (Status)) {\r
EfiReleaseLock (&mHiiDatabaseLock);\r
return Status;\r
}\r
+\r
Status = RemoveKeyboardLayoutPackages (Private, Handle, PackageList);\r
if (EFI_ERROR (Status)) {\r
EfiReleaseLock (&mHiiDatabaseLock);\r
return Status;\r
}\r
+\r
Status = RemoveStringPackages (Private, Handle, PackageList);\r
if (EFI_ERROR (Status)) {\r
EfiReleaseLock (&mHiiDatabaseLock);\r
return Status;\r
}\r
+\r
Status = RemoveFontPackages (Private, Handle, PackageList);\r
if (EFI_ERROR (Status)) {\r
EfiReleaseLock (&mHiiDatabaseLock);\r
return Status;\r
}\r
+\r
Status = RemoveImagePackages (Private, Handle, PackageList);\r
if (EFI_ERROR (Status)) {\r
EfiReleaseLock (&mHiiDatabaseLock);\r
return Status;\r
}\r
+\r
Status = RemoveSimpleFontPackages (Private, Handle, PackageList);\r
if (EFI_ERROR (Status)) {\r
EfiReleaseLock (&mHiiDatabaseLock);\r
return Status;\r
}\r
+\r
Status = RemoveDevicePathPackage (Private, Handle, PackageList);\r
if (EFI_ERROR (Status)) {\r
EfiReleaseLock (&mHiiDatabaseLock);\r
//\r
RemoveEntryList (&Node->DatabaseEntry);\r
\r
- HiiHandle = (HII_HANDLE *) Handle;\r
+ HiiHandle = (HII_HANDLE *)Handle;\r
RemoveEntryList (&HiiHandle->Handle);\r
Private->HiiHandleCount--;\r
ASSERT (Private->HiiHandleCount >= 0);\r
if (gExportAfterReadyToBoot) {\r
HiiGetDatabaseInfo (This);\r
}\r
+\r
EfiReleaseLock (&mHiiDatabaseLock);\r
\r
//\r
if (gExportAfterReadyToBoot && gExportConfigResp) {\r
HiiGetConfigRespInfo (This);\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
}\r
return EFI_NOT_FOUND;\r
}\r
\r
-\r
/**\r
This function updates the existing package list (which has the specified Handle)\r
in the HII databases, using the new package list specified by PackageList.\r
HII_DATABASE_PACKAGE_LIST_INSTANCE *OldPackageList;\r
EFI_HII_PACKAGE_HEADER PackageHeader;\r
\r
- if (This == NULL || PackageList == NULL) {\r
+ if ((This == NULL) || (PackageList == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
\r
Private = HII_DATABASE_DATABASE_PRIVATE_DATA_FROM_THIS (This);\r
\r
- PackageHdrPtr = (EFI_HII_PACKAGE_HEADER *) ((UINT8 *) PackageList + sizeof (EFI_HII_PACKAGE_LIST_HEADER));\r
+ PackageHdrPtr = (EFI_HII_PACKAGE_HEADER *)((UINT8 *)PackageList + sizeof (EFI_HII_PACKAGE_LIST_HEADER));\r
\r
Status = EFI_SUCCESS;\r
\r
CopyMem (&PackageHeader, PackageHdrPtr, sizeof (EFI_HII_PACKAGE_HEADER));\r
while (PackageHeader.Type != EFI_HII_PACKAGE_END) {\r
switch (PackageHeader.Type) {\r
- case EFI_HII_PACKAGE_TYPE_GUID:\r
- Status = RemoveGuidPackages (Private, Handle, OldPackageList);\r
- break;\r
- case EFI_HII_PACKAGE_FORMS:\r
- Status = RemoveFormPackages (Private, Handle, OldPackageList);\r
- break;\r
- case EFI_HII_PACKAGE_KEYBOARD_LAYOUT:\r
- Status = RemoveKeyboardLayoutPackages (Private, Handle, OldPackageList);\r
- break;\r
- case EFI_HII_PACKAGE_STRINGS:\r
- Status = RemoveStringPackages (Private, Handle, OldPackageList);\r
- break;\r
- case EFI_HII_PACKAGE_FONTS:\r
- Status = RemoveFontPackages (Private, Handle, OldPackageList);\r
- break;\r
- case EFI_HII_PACKAGE_IMAGES:\r
- Status = RemoveImagePackages (Private, Handle, OldPackageList);\r
- break;\r
- case EFI_HII_PACKAGE_SIMPLE_FONTS:\r
- Status = RemoveSimpleFontPackages (Private, Handle, OldPackageList);\r
- break;\r
- case EFI_HII_PACKAGE_DEVICE_PATH:\r
- Status = RemoveDevicePathPackage (Private, Handle, OldPackageList);\r
- break;\r
+ case EFI_HII_PACKAGE_TYPE_GUID:\r
+ Status = RemoveGuidPackages (Private, Handle, OldPackageList);\r
+ break;\r
+ case EFI_HII_PACKAGE_FORMS:\r
+ Status = RemoveFormPackages (Private, Handle, OldPackageList);\r
+ break;\r
+ case EFI_HII_PACKAGE_KEYBOARD_LAYOUT:\r
+ Status = RemoveKeyboardLayoutPackages (Private, Handle, OldPackageList);\r
+ break;\r
+ case EFI_HII_PACKAGE_STRINGS:\r
+ Status = RemoveStringPackages (Private, Handle, OldPackageList);\r
+ break;\r
+ case EFI_HII_PACKAGE_FONTS:\r
+ Status = RemoveFontPackages (Private, Handle, OldPackageList);\r
+ break;\r
+ case EFI_HII_PACKAGE_IMAGES:\r
+ Status = RemoveImagePackages (Private, Handle, OldPackageList);\r
+ break;\r
+ case EFI_HII_PACKAGE_SIMPLE_FONTS:\r
+ Status = RemoveSimpleFontPackages (Private, Handle, OldPackageList);\r
+ break;\r
+ case EFI_HII_PACKAGE_DEVICE_PATH:\r
+ Status = RemoveDevicePathPackage (Private, Handle, OldPackageList);\r
+ break;\r
}\r
\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
- PackageHdrPtr = (EFI_HII_PACKAGE_HEADER *) ((UINT8 *) PackageHdrPtr + PackageHeader.Length);\r
+ PackageHdrPtr = (EFI_HII_PACKAGE_HEADER *)((UINT8 *)PackageHdrPtr + PackageHeader.Length);\r
CopyMem (&PackageHeader, PackageHdrPtr, sizeof (EFI_HII_PACKAGE_HEADER));\r
}\r
\r
// Check whether need to get the Database info.\r
// Only after ReadyToBoot, need to do the export.\r
//\r
- if (gExportAfterReadyToBoot && Status == EFI_SUCCESS) {\r
+ if (gExportAfterReadyToBoot && (Status == EFI_SUCCESS)) {\r
HiiGetDatabaseInfo (This);\r
}\r
+\r
EfiReleaseLock (&mHiiDatabaseLock);\r
\r
//\r
// Check whether need to get the configuration setting info from HII drivers.\r
// When after ReadyToBoot and need to do the export for form package update.\r
//\r
- if (gExportAfterReadyToBoot && gExportConfigResp && Status == EFI_SUCCESS) {\r
+ if (gExportAfterReadyToBoot && gExportConfigResp && (Status == EFI_SUCCESS)) {\r
HiiGetConfigRespInfo (This);\r
}\r
\r
return Status;\r
}\r
}\r
+\r
EfiReleaseLock (&mHiiDatabaseLock);\r
return EFI_NOT_FOUND;\r
}\r
\r
-\r
/**\r
This function returns a list of the package handles of the specified type\r
that are currently active in the database. The pseudo-type\r
EFI_STATUS\r
EFIAPI\r
HiiListPackageLists (\r
- IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN UINT8 PackageType,\r
- IN CONST EFI_GUID *PackageGuid,\r
- IN OUT UINTN *HandleBufferLength,\r
- OUT EFI_HII_HANDLE *Handle\r
+ IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
+ IN UINT8 PackageType,\r
+ IN CONST EFI_GUID *PackageGuid,\r
+ IN OUT UINTN *HandleBufferLength,\r
+ OUT EFI_HII_HANDLE *Handle\r
)\r
{\r
HII_GUID_PACKAGE_INSTANCE *GuidPackage;\r
//\r
// Check input parameters\r
//\r
- if (This == NULL || HandleBufferLength == NULL) {\r
+ if ((This == NULL) || (HandleBufferLength == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
- if (*HandleBufferLength > 0 && Handle == NULL) {\r
+\r
+ if ((*HandleBufferLength > 0) && (Handle == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
- if ((PackageType == EFI_HII_PACKAGE_TYPE_GUID && PackageGuid == NULL) ||\r
- (PackageType != EFI_HII_PACKAGE_TYPE_GUID && PackageGuid != NULL)) {\r
+\r
+ if (((PackageType == EFI_HII_PACKAGE_TYPE_GUID) && (PackageGuid == NULL)) ||\r
+ ((PackageType != EFI_HII_PACKAGE_TYPE_GUID) && (PackageGuid != NULL)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Private = HII_DATABASE_DATABASE_PRIVATE_DATA_FROM_THIS (This);\r
Matched = FALSE;\r
- Result = (HII_HANDLE **) Handle;\r
+ Result = (HII_HANDLE **)Handle;\r
ResultSize = 0;\r
\r
for (Link = Private->DatabaseList.ForwardLink; Link != &Private->DatabaseList; Link = Link->ForwardLink) {\r
- Node = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);\r
- PackageList = (HII_DATABASE_PACKAGE_LIST_INSTANCE *) (Node->PackageList);\r
+ Node = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);\r
+ PackageList = (HII_DATABASE_PACKAGE_LIST_INSTANCE *)(Node->PackageList);\r
switch (PackageType) {\r
case EFI_HII_PACKAGE_TYPE_GUID:\r
for (Link1 = PackageList->GuidPkgHdr.ForwardLink; Link1 != &PackageList->GuidPkgHdr; Link1 = Link1->ForwardLink) {\r
GuidPackage = CR (Link1, HII_GUID_PACKAGE_INSTANCE, GuidEntry, HII_GUID_PACKAGE_SIGNATURE);\r
if (CompareGuid (\r
- (EFI_GUID *) PackageGuid,\r
- (EFI_GUID *) (GuidPackage->GuidPkg + sizeof (EFI_HII_PACKAGE_HEADER))\r
- )) {\r
+ (EFI_GUID *)PackageGuid,\r
+ (EFI_GUID *)(GuidPackage->GuidPkg + sizeof (EFI_HII_PACKAGE_HEADER))\r
+ ))\r
+ {\r
Matched = TRUE;\r
break;\r
}\r
}\r
+\r
break;\r
case EFI_HII_PACKAGE_FORMS:\r
if (!IsListEmpty (&PackageList->FormPkgHdr)) {\r
Matched = TRUE;\r
}\r
+\r
break;\r
case EFI_HII_PACKAGE_KEYBOARD_LAYOUT:\r
if (!IsListEmpty (&PackageList->KeyboardLayoutHdr)) {\r
Matched = TRUE;\r
}\r
+\r
break;\r
case EFI_HII_PACKAGE_STRINGS:\r
if (!IsListEmpty (&PackageList->StringPkgHdr)) {\r
Matched = TRUE;\r
}\r
+\r
break;\r
case EFI_HII_PACKAGE_FONTS:\r
if (!IsListEmpty (&PackageList->FontPkgHdr)) {\r
Matched = TRUE;\r
}\r
+\r
break;\r
case EFI_HII_PACKAGE_IMAGES:\r
if (PackageList->ImagePkg != NULL) {\r
Matched = TRUE;\r
}\r
+\r
break;\r
case EFI_HII_PACKAGE_SIMPLE_FONTS:\r
if (!IsListEmpty (&PackageList->SimpleFontPkgHdr)) {\r
Matched = TRUE;\r
}\r
+\r
break;\r
case EFI_HII_PACKAGE_DEVICE_PATH:\r
if (PackageList->DevicePathPkg != NULL) {\r
Matched = TRUE;\r
}\r
+\r
break;\r
- //\r
- // Pseudo-type EFI_HII_PACKAGE_TYPE_ALL will cause all package handles\r
- // to be listed.\r
- //\r
+ //\r
+ // Pseudo-type EFI_HII_PACKAGE_TYPE_ALL will cause all package handles\r
+ // to be listed.\r
+ //\r
case EFI_HII_PACKAGE_TYPE_ALL:\r
Matched = TRUE;\r
break;\r
*Result++ = Node->Handle;\r
}\r
}\r
+\r
Matched = FALSE;\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This function will export one or all package lists in the database to a buffer.\r
For each package list exported, this function will call functions registered\r
EFI_STATUS\r
EFIAPI\r
HiiExportPackageLists (\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
+ 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
- LIST_ENTRY *Link;\r
- EFI_STATUS Status;\r
- HII_DATABASE_PRIVATE_DATA *Private;\r
- HII_DATABASE_RECORD *Node;\r
- UINTN UsedSize;\r
+ LIST_ENTRY *Link;\r
+ EFI_STATUS Status;\r
+ HII_DATABASE_PRIVATE_DATA *Private;\r
+ HII_DATABASE_RECORD *Node;\r
+ UINTN UsedSize;\r
\r
- if (This == NULL || BufferSize == NULL) {\r
+ if ((This == NULL) || (BufferSize == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
- if (*BufferSize > 0 && Buffer == NULL) {\r
+\r
+ if ((*BufferSize > 0) && (Buffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
if ((Handle != NULL) && (!IsHiiHandleValid (Handle))) {\r
return EFI_NOT_FOUND;\r
}\r
Status = ExportPackageList (\r
Private,\r
Node->Handle,\r
- (HII_DATABASE_PACKAGE_LIST_INSTANCE *) (Node->PackageList),\r
+ (HII_DATABASE_PACKAGE_LIST_INSTANCE *)(Node->PackageList),\r
&UsedSize,\r
*BufferSize,\r
- (EFI_HII_PACKAGE_LIST_HEADER *)((UINT8 *) Buffer + UsedSize)\r
+ (EFI_HII_PACKAGE_LIST_HEADER *)((UINT8 *)Buffer + UsedSize)\r
);\r
ASSERT_EFI_ERROR (Status);\r
- } else if (Handle != NULL && Node->Handle == Handle) {\r
+ } else if ((Handle != NULL) && (Node->Handle == Handle)) {\r
Status = ExportPackageList (\r
Private,\r
Handle,\r
- (HII_DATABASE_PACKAGE_LIST_INSTANCE *) (Node->PackageList),\r
+ (HII_DATABASE_PACKAGE_LIST_INSTANCE *)(Node->PackageList),\r
&UsedSize,\r
*BufferSize,\r
Buffer\r
*BufferSize = UsedSize;\r
return EFI_BUFFER_TOO_SMALL;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
}\r
\r
- if (Handle == NULL && UsedSize != 0) {\r
+ if ((Handle == NULL) && (UsedSize != 0)) {\r
if (*BufferSize < UsedSize) {\r
*BufferSize = UsedSize;\r
return EFI_BUFFER_TOO_SMALL;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
return EFI_NOT_FOUND;\r
}\r
\r
-\r
/**\r
This function registers a function which will be called when specified actions related to packages of\r
the specified type occur in the HII database. By registering a function, other HII-related drivers are\r
EFI_STATUS\r
EFIAPI\r
HiiRegisterPackageNotify (\r
- IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN UINT8 PackageType,\r
- IN CONST EFI_GUID *PackageGuid,\r
- IN CONST EFI_HII_DATABASE_NOTIFY PackageNotifyFn,\r
- IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
- OUT EFI_HANDLE *NotifyHandle\r
+ IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
+ IN UINT8 PackageType,\r
+ IN CONST EFI_GUID *PackageGuid,\r
+ IN CONST EFI_HII_DATABASE_NOTIFY PackageNotifyFn,\r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ OUT EFI_HANDLE *NotifyHandle\r
)\r
{\r
- HII_DATABASE_PRIVATE_DATA *Private;\r
- HII_DATABASE_NOTIFY *Notify;\r
- EFI_STATUS Status;\r
+ HII_DATABASE_PRIVATE_DATA *Private;\r
+ HII_DATABASE_NOTIFY *Notify;\r
+ EFI_STATUS Status;\r
\r
- if (This == NULL || NotifyHandle == NULL) {\r
+ if ((This == NULL) || (NotifyHandle == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
- if ((PackageType == EFI_HII_PACKAGE_TYPE_GUID && PackageGuid == NULL) ||\r
- (PackageType != EFI_HII_PACKAGE_TYPE_GUID && PackageGuid != NULL)) {\r
+\r
+ if (((PackageType == EFI_HII_PACKAGE_TYPE_GUID) && (PackageGuid == NULL)) ||\r
+ ((PackageType != EFI_HII_PACKAGE_TYPE_GUID) && (PackageGuid != NULL)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
// Allocate a notification node\r
//\r
- Notify = (HII_DATABASE_NOTIFY *) AllocateZeroPool (sizeof (HII_DATABASE_NOTIFY));\r
+ Notify = (HII_DATABASE_NOTIFY *)AllocateZeroPool (sizeof (HII_DATABASE_NOTIFY));\r
if (Notify == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
//\r
Notify->Signature = HII_DATABASE_NOTIFY_SIGNATURE;\r
Notify->PackageType = PackageType;\r
- Notify->PackageGuid = (EFI_GUID *) PackageGuid;\r
- Notify->PackageNotifyFn = (EFI_HII_DATABASE_NOTIFY) PackageNotifyFn;\r
+ Notify->PackageGuid = (EFI_GUID *)PackageGuid;\r
+ Notify->PackageNotifyFn = (EFI_HII_DATABASE_NOTIFY)PackageNotifyFn;\r
Notify->NotifyType = NotifyType;\r
\r
InsertTailList (&Private->DatabaseNotifyList, &Notify->DatabaseNotifyEntry);\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Removes the specified HII database package-related notification.\r
\r
EFI_STATUS\r
EFIAPI\r
HiiUnregisterPackageNotify (\r
- IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN EFI_HANDLE NotificationHandle\r
+ IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
+ IN EFI_HANDLE NotificationHandle\r
)\r
{\r
- HII_DATABASE_PRIVATE_DATA *Private;\r
- HII_DATABASE_NOTIFY *Notify;\r
- LIST_ENTRY *Link;\r
- EFI_STATUS Status;\r
+ HII_DATABASE_PRIVATE_DATA *Private;\r
+ HII_DATABASE_NOTIFY *Notify;\r
+ LIST_ENTRY *Link;\r
+ EFI_STATUS Status;\r
\r
if (This == NULL) {\r
return EFI_INVALID_PARAMETER;\r
return EFI_NOT_FOUND;\r
}\r
\r
-\r
/**\r
This routine retrieves an array of GUID values for each keyboard layout that\r
was previously registered in the system.\r
EFI_STATUS\r
EFIAPI\r
HiiFindKeyboardLayouts (\r
- IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN OUT UINT16 *KeyGuidBufferLength,\r
- OUT EFI_GUID *KeyGuidBuffer\r
+ IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
+ IN OUT UINT16 *KeyGuidBufferLength,\r
+ OUT EFI_GUID *KeyGuidBuffer\r
)\r
{\r
- HII_DATABASE_PRIVATE_DATA *Private;\r
- HII_DATABASE_RECORD *Node;\r
- HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList;\r
- LIST_ENTRY *Link;\r
- LIST_ENTRY *Link1;\r
- UINT16 ResultSize;\r
- UINTN Index;\r
- UINT16 LayoutCount;\r
- UINT16 LayoutLength;\r
- UINT8 *Layout;\r
- HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *Package;\r
-\r
- if (This == NULL || KeyGuidBufferLength == NULL) {\r
+ HII_DATABASE_PRIVATE_DATA *Private;\r
+ HII_DATABASE_RECORD *Node;\r
+ HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList;\r
+ LIST_ENTRY *Link;\r
+ LIST_ENTRY *Link1;\r
+ UINT16 ResultSize;\r
+ UINTN Index;\r
+ UINT16 LayoutCount;\r
+ UINT16 LayoutLength;\r
+ UINT8 *Layout;\r
+ HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *Package;\r
+\r
+ if ((This == NULL) || (KeyGuidBufferLength == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (*KeyGuidBufferLength > 0 && KeyGuidBuffer == NULL) {\r
+ if ((*KeyGuidBufferLength > 0) && (KeyGuidBuffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- Private = HII_DATABASE_DATABASE_PRIVATE_DATA_FROM_THIS (This);\r
- ResultSize = 0;\r
+ Private = HII_DATABASE_DATABASE_PRIVATE_DATA_FROM_THIS (This);\r
+ ResultSize = 0;\r
\r
//\r
// Search all package lists in whole database to retrieve keyboard layout.\r
//\r
for (Link = Private->DatabaseList.ForwardLink; Link != &Private->DatabaseList; Link = Link->ForwardLink) {\r
- Node = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);\r
+ Node = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);\r
PackageList = Node->PackageList;\r
for (Link1 = PackageList->KeyboardLayoutHdr.ForwardLink;\r
Link1 != &PackageList->KeyboardLayoutHdr;\r
Link1 = Link1->ForwardLink\r
- ) {\r
+ )\r
+ {\r
//\r
// Find out all Keyboard Layout packages in this package list.\r
//\r
KeyboardEntry,\r
HII_KB_LAYOUT_PACKAGE_SIGNATURE\r
);\r
- Layout = (UINT8 *) Package->KeyboardPkg + sizeof (EFI_HII_PACKAGE_HEADER) + sizeof (UINT16);\r
+ Layout = (UINT8 *)Package->KeyboardPkg + sizeof (EFI_HII_PACKAGE_HEADER) + sizeof (UINT16);\r
CopyMem (\r
&LayoutCount,\r
- (UINT8 *) Package->KeyboardPkg + sizeof (EFI_HII_PACKAGE_HEADER),\r
+ (UINT8 *)Package->KeyboardPkg + sizeof (EFI_HII_PACKAGE_HEADER),\r
sizeof (UINT16)\r
);\r
for (Index = 0; Index < LayoutCount; Index++) {\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This routine retrieves the requested keyboard layout. The layout is a physical description of the keys\r
on a keyboard and the character(s) that are associated with a particular set of key strokes.\r
EFI_STATUS\r
EFIAPI\r
HiiGetKeyboardLayout (\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
+ 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
- HII_DATABASE_PRIVATE_DATA *Private;\r
- HII_DATABASE_RECORD *Node;\r
- HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList;\r
- LIST_ENTRY *Link;\r
- LIST_ENTRY *Link1;\r
- UINTN Index;\r
- UINT8 *Layout;\r
- UINT16 LayoutCount;\r
- UINT16 LayoutLength;\r
- HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *Package;\r
-\r
- if (This == NULL || KeyboardLayoutLength == NULL) {\r
+ HII_DATABASE_PRIVATE_DATA *Private;\r
+ HII_DATABASE_RECORD *Node;\r
+ HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList;\r
+ LIST_ENTRY *Link;\r
+ LIST_ENTRY *Link1;\r
+ UINTN Index;\r
+ UINT8 *Layout;\r
+ UINT16 LayoutCount;\r
+ UINT16 LayoutLength;\r
+ HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE *Package;\r
+\r
+ if ((This == NULL) || (KeyboardLayoutLength == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
- if (*KeyboardLayoutLength > 0 && KeyboardLayout == NULL) {\r
+\r
+ if ((*KeyboardLayoutLength > 0) && (KeyboardLayout == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
if (Private->CurrentLayout == NULL) {\r
return EFI_NOT_FOUND;\r
}\r
+\r
CopyMem (&LayoutLength, Private->CurrentLayout, sizeof (UINT16));\r
if (*KeyboardLayoutLength < LayoutLength) {\r
*KeyboardLayoutLength = LayoutLength;\r
return EFI_BUFFER_TOO_SMALL;\r
}\r
+\r
CopyMem (KeyboardLayout, Private->CurrentLayout, LayoutLength);\r
return EFI_SUCCESS;\r
}\r
\r
for (Link = Private->DatabaseList.ForwardLink; Link != &Private->DatabaseList; Link = Link->ForwardLink) {\r
- Node = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);\r
- PackageList = (HII_DATABASE_PACKAGE_LIST_INSTANCE *) (Node->PackageList);\r
+ Node = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);\r
+ PackageList = (HII_DATABASE_PACKAGE_LIST_INSTANCE *)(Node->PackageList);\r
for (Link1 = PackageList->KeyboardLayoutHdr.ForwardLink;\r
Link1 != &PackageList->KeyboardLayoutHdr;\r
Link1 = Link1->ForwardLink\r
- ) {\r
+ )\r
+ {\r
Package = CR (\r
Link1,\r
HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE,\r
HII_KB_LAYOUT_PACKAGE_SIGNATURE\r
);\r
\r
- Layout = (UINT8 *) Package->KeyboardPkg +\r
+ Layout = (UINT8 *)Package->KeyboardPkg +\r
sizeof (EFI_HII_PACKAGE_HEADER) + sizeof (UINT16);\r
CopyMem (&LayoutCount, Layout - sizeof (UINT16), sizeof (UINT16));\r
for (Index = 0; Index < LayoutCount; Index++) {\r
return EFI_BUFFER_TOO_SMALL;\r
}\r
}\r
+\r
Layout = Layout + LayoutLength;\r
}\r
}\r
return EFI_NOT_FOUND;\r
}\r
\r
-\r
/**\r
This routine sets the default keyboard layout to the one referenced by KeyGuid. When this routine\r
is called, an event will be signaled of the EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID\r
EFI_STATUS\r
EFIAPI\r
HiiSetKeyboardLayout (\r
- IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN CONST EFI_GUID *KeyGuid\r
+ IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
+ IN CONST EFI_GUID *KeyGuid\r
)\r
{\r
- HII_DATABASE_PRIVATE_DATA *Private;\r
- EFI_HII_KEYBOARD_LAYOUT *KeyboardLayout;\r
- UINT16 KeyboardLayoutLength;\r
- EFI_STATUS Status;\r
+ HII_DATABASE_PRIVATE_DATA *Private;\r
+ EFI_HII_KEYBOARD_LAYOUT *KeyboardLayout;\r
+ UINT16 KeyboardLayoutLength;\r
+ EFI_STATUS Status;\r
\r
- if (This == NULL || KeyGuid == NULL) {\r
+ if ((This == NULL) || (KeyGuid == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
KeyboardLayoutLength = 0;\r
KeyboardLayout = NULL;\r
- Status = HiiGetKeyboardLayout (This, KeyGuid, &KeyboardLayoutLength, KeyboardLayout);\r
+ Status = HiiGetKeyboardLayout (This, KeyGuid, &KeyboardLayoutLength, KeyboardLayout);\r
if (Status != EFI_BUFFER_TOO_SMALL) {\r
return Status;\r
}\r
\r
- KeyboardLayout = (EFI_HII_KEYBOARD_LAYOUT *) AllocateZeroPool (KeyboardLayoutLength);\r
+ KeyboardLayout = (EFI_HII_KEYBOARD_LAYOUT *)AllocateZeroPool (KeyboardLayoutLength);\r
ASSERT (KeyboardLayout != NULL);\r
Status = HiiGetKeyboardLayout (This, KeyGuid, &KeyboardLayoutLength, KeyboardLayout);\r
ASSERT_EFI_ERROR (Status);\r
//\r
CopyMem (&Private->CurrentLayoutGuid, KeyGuid, sizeof (EFI_GUID));\r
if (Private->CurrentLayout != NULL) {\r
- FreePool(Private->CurrentLayout);\r
+ FreePool (Private->CurrentLayout);\r
}\r
+\r
Private->CurrentLayout = KeyboardLayout;\r
\r
//\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Return the EFI handle associated with a package list.\r
\r
EFI_STATUS\r
EFIAPI\r
HiiGetPackageListHandle (\r
- IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
- IN EFI_HII_HANDLE PackageListHandle,\r
- OUT EFI_HANDLE *DriverHandle\r
+ IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
+ IN EFI_HII_HANDLE PackageListHandle,\r
+ OUT EFI_HANDLE *DriverHandle\r
)\r
{\r
- HII_DATABASE_PRIVATE_DATA *Private;\r
- HII_DATABASE_RECORD *Node;\r
- LIST_ENTRY *Link;\r
+ HII_DATABASE_PRIVATE_DATA *Private;\r
+ HII_DATABASE_RECORD *Node;\r
+ LIST_ENTRY *Link;\r
\r
- if (This == NULL || DriverHandle == NULL) {\r
+ if ((This == NULL) || (DriverHandle == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r