UINT32 Index;\r
EFI_GUID *VarGuid;\r
EFI_STRING VarName;\r
- EFI_STRING_ID DefaultName;\r
\r
UINT8 *PackageData;\r
- UINTN IfrOffset;\r
- EFI_IFR_OP_HEADER *IfrOpHdr;\r
EFI_HII_PACKAGE_LIST_HEADER *HiiPackageList;\r
- UINT32 PackageOffset; \r
UINTN PackageListLength;\r
- EFI_HII_PACKAGE_HEADER PacakgeHeader;\r
EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
EFI_DEVICE_PATH_PROTOCOL *TempDevicePath;\r
\r
Status = EFI_SUCCESS;\r
goto NextConfigAltResp;\r
}\r
- \r
- //\r
- // 2. Get DefaultName string ID by parsing the PacakgeList \r
- //\r
\r
//\r
- // Get HiiPackage by HiiHandle\r
+ // 2. Get HiiPackage by HiiHandle\r
//\r
PackageListLength = 0;\r
HiiPackageList = NULL;\r
goto Done;\r
}\r
\r
- //\r
- // Parse the form package and get the default name string ID.\r
- //\r
- if (ActionType == ACTION_SET_DEFAUTL_VALUE) {\r
- PackageOffset = sizeof (EFI_HII_PACKAGE_LIST_HEADER);\r
- Status = EFI_NOT_FOUND;\r
- while (PackageOffset < PackageListLength) {\r
- CopyMem (&PacakgeHeader, (UINT8 *) HiiPackageList + PackageOffset, sizeof (PacakgeHeader));\r
- \r
- //\r
- // Parse IFR opcode to get default store opcode\r
- //\r
- if (PacakgeHeader.Type == EFI_HII_PACKAGE_FORMS) {\r
- IfrOffset = sizeof (PacakgeHeader);\r
- PackageData = (UINT8 *) HiiPackageList + PackageOffset;\r
- while (IfrOffset < PacakgeHeader.Length) {\r
- IfrOpHdr = (EFI_IFR_OP_HEADER *) (PackageData + IfrOffset);\r
- //\r
- // Match DefaultId to find its DefaultName\r
- //\r
- if (IfrOpHdr->OpCode == EFI_IFR_DEFAULTSTORE_OP) {\r
- if (((EFI_IFR_DEFAULTSTORE *) IfrOpHdr)->DefaultId == DefaultId) {\r
- DefaultName = ((EFI_IFR_DEFAULTSTORE *) IfrOpHdr)->DefaultName;\r
- Status = EFI_SUCCESS;\r
- break;\r
- }\r
- }\r
- IfrOffset += IfrOpHdr->Length;\r
- }\r
- //\r
- // Only one form is in a package list.\r
- //\r
- break;\r
- }\r
- \r
- //\r
- // Go to next package.\r
- //\r
- PackageOffset += PacakgeHeader.Length; \r
- }\r
- \r
- //\r
- // Not found the matched default string ID\r
- //\r
- if (EFI_ERROR (Status)) {\r
- Status = EFI_SUCCESS;\r
- goto NextConfigAltResp;\r
- }\r
- }\r
- \r
//\r
// 3. Call ConfigRouting GetAltCfg(ConfigRoute, <ConfigResponse>, Guid, Name, DevicePath, AltCfgId, AltCfgResp)\r
- // Get the default configuration string according to the found default name string ID.\r
+ // Get the default configuration string according to the default ID.\r
//\r
Status = gHiiConfigRouting->GetAltConfig (\r
gHiiConfigRouting,\r
VarGuid,\r
VarName,\r
DevicePath,\r
- (ActionType == ACTION_SET_DEFAUTL_VALUE) ? &DefaultName:NULL, // it can be NULL to get the current setting.\r
+ (ActionType == ACTION_SET_DEFAUTL_VALUE) ? &DefaultId:NULL, // it can be NULL to get the current setting.\r
&ConfigResp\r
);\r
\r
return EFI_SUCCESS; \r
}\r
\r
-/**\r
- This function finds the matched DefaultName for the input DefaultId\r
-\r
- @param DefaultIdArray Array stores the map table between DefaultId and DefaultName.\r
- @param VarDefaultId Default Id\r
- @param VarDefaultName Default Name string ID for the input default ID.\r
- \r
- @retval EFI_SUCCESS The mapped default name string ID is found.\r
- @retval EFI_NOT_FOUND The mapped default name string ID is not found.\r
-**/\r
-EFI_STATUS\r
-FindDefaultName (\r
- IN IFR_DEFAULT_DATA *DefaultIdArray, \r
- IN UINT16 VarDefaultId, \r
- OUT EFI_STRING_ID *VarDefaultName\r
- )\r
-{\r
- LIST_ENTRY *Link;\r
- IFR_DEFAULT_DATA *DefaultData;\r
-\r
- for (Link = DefaultIdArray->Entry.ForwardLink; Link != &DefaultIdArray->Entry; Link = Link->ForwardLink) {\r
- DefaultData = BASE_CR (Link, IFR_DEFAULT_DATA, Entry);\r
- if (DefaultData->DefaultId == VarDefaultId) {\r
- *VarDefaultName = DefaultData->DefaultName;\r
- return EFI_SUCCESS;\r
- }\r
- }\r
- \r
- return EFI_NOT_FOUND;\r
-}\r
-\r
/**\r
This function inserts new DefaultValueData into the BlockData DefaultValue array.\r
\r
goto Done;\r
}\r
DefaultData->DefaultId = ((EFI_IFR_DEFAULTSTORE *) IfrOpHdr)->DefaultId;\r
- DefaultData->DefaultName = ((EFI_IFR_DEFAULTSTORE *) IfrOpHdr)->DefaultName;\r
InsertTailList (&DefaultIdArray->Entry, &DefaultData->Entry);\r
DefaultData = NULL;\r
break;\r
//\r
\r
//\r
- // Set standard ID and Get DefaultName String ID\r
+ // Set standard ID\r
//\r
VarDefaultId = EFI_HII_DEFAULT_CLASS_STANDARD;\r
- Status = FindDefaultName (DefaultIdArray, VarDefaultId, &VarDefaultName);\r
- if (EFI_ERROR (Status)) {\r
- goto Done;\r
- }\r
//\r
// Prepare new DefaultValue\r
//\r
}\r
DefaultData->OpCode = IfrOpHdr->OpCode;\r
DefaultData->DefaultId = VarDefaultId;\r
- DefaultData->DefaultName = VarDefaultName;\r
\r
switch (IfrOneOf->Flags & EFI_IFR_NUMERIC_SIZE) {\r
case EFI_IFR_NUMERIC_SIZE_1:\r
//\r
if ((IfrCheckBox->Flags & EFI_IFR_CHECKBOX_DEFAULT) == EFI_IFR_CHECKBOX_DEFAULT) {\r
//\r
- // Set standard ID to Manufacture ID and Get DefaultName String ID\r
+ // Set standard ID to Manufacture ID\r
//\r
VarDefaultId = EFI_HII_DEFAULT_CLASS_STANDARD;\r
- Status = FindDefaultName (DefaultIdArray, VarDefaultId, &VarDefaultName);\r
- if (EFI_ERROR (Status)) {\r
- goto Done;\r
- }\r
//\r
// Prepare new DefaultValue\r
//\r
}\r
DefaultData->OpCode = IfrOpHdr->OpCode;\r
DefaultData->DefaultId = VarDefaultId;\r
- DefaultData->DefaultName = VarDefaultName;\r
DefaultData->Value = 1;\r
//\r
// Add DefaultValue into current BlockData\r
\r
if ((IfrCheckBox->Flags & EFI_IFR_CHECKBOX_DEFAULT_MFG) == EFI_IFR_CHECKBOX_DEFAULT_MFG) {\r
//\r
- // Set standard ID to Manufacture ID and Get DefaultName String ID\r
+ // Set standard ID to Manufacture ID\r
//\r
VarDefaultId = EFI_HII_DEFAULT_CLASS_MANUFACTURING;\r
- Status = FindDefaultName (DefaultIdArray, VarDefaultId, &VarDefaultName);\r
- if (EFI_ERROR (Status)) {\r
- goto Done;\r
- }\r
//\r
// Prepare new DefaultValue\r
//\r
}\r
DefaultData->OpCode = IfrOpHdr->OpCode;\r
DefaultData->DefaultId = VarDefaultId;\r
- DefaultData->DefaultName = VarDefaultName;\r
DefaultData->Value = 1;\r
//\r
// Add DefaultValue into current BlockData\r
//\r
FirstOneOfOption = FALSE;\r
//\r
- // Set standard ID to Manufacture ID and Get DefaultName String ID\r
+ // Set standard ID to Manufacture ID\r
//\r
VarDefaultId = EFI_HII_DEFAULT_CLASS_STANDARD;\r
- Status = FindDefaultName (DefaultIdArray, VarDefaultId, &VarDefaultName);\r
- if (EFI_ERROR (Status)) {\r
- goto Done;\r
- }\r
//\r
// Prepare new DefaultValue\r
//\r
}\r
DefaultData->OpCode = IfrOpHdr->OpCode;\r
DefaultData->DefaultId = VarDefaultId;\r
- DefaultData->DefaultName = VarDefaultName;\r
DefaultData->Value = IfrOneOfOption->Value.u64;\r
//\r
// Add DefaultValue into current BlockData\r
\r
if ((IfrOneOfOption->Flags & EFI_IFR_OPTION_DEFAULT_MFG) == EFI_IFR_OPTION_DEFAULT_MFG) {\r
//\r
- // Set default ID to Manufacture ID and Get DefaultName String ID\r
+ // Set default ID to Manufacture ID\r
//\r
VarDefaultId = EFI_HII_DEFAULT_CLASS_MANUFACTURING;\r
- Status = FindDefaultName (DefaultIdArray, VarDefaultId, &VarDefaultName);\r
- if (EFI_ERROR (Status)) {\r
- goto Done;\r
- }\r
//\r
// Prepare new DefaultValue\r
//\r
}\r
DefaultData->OpCode = IfrOpHdr->OpCode;\r
DefaultData->DefaultId = VarDefaultId;\r
- DefaultData->DefaultName = VarDefaultName;\r
DefaultData->Value = IfrOneOfOption->Value.u64;\r
//\r
// Add DefaultValue into current BlockData\r
break;\r
}\r
//\r
- // Get the DefaultId and DefaultName String ID\r
+ // Get the DefaultId\r
//\r
IfrDefault = (EFI_IFR_DEFAULT *) IfrOpHdr;\r
VarDefaultId = IfrDefault->DefaultId;\r
- Status = FindDefaultName (DefaultIdArray, VarDefaultId, &VarDefaultName);\r
- if (EFI_ERROR (Status)) {\r
- goto Done;\r
- }\r
//\r
// Prepare new DefaultValue\r
//\r
}\r
DefaultData->OpCode = IfrOpHdr->OpCode;\r
DefaultData->DefaultId = VarDefaultId;\r
- DefaultData->DefaultName = VarDefaultName;\r
DefaultData->Value = IfrDefault->Value.u64;\r
//\r
// Add DefaultValue into current BlockData\r
(1 + StrLen (ConfigHdr) + 8 + 4 + 1) * sizeof (CHAR16), \r
L"&%s&ALTCFG=%04X", \r
ConfigHdr, \r
- DefaultId->DefaultName\r
+ DefaultId->DefaultId\r
);\r
StringPtr += StrLen (StringPtr);\r
\r