mirror of https://github.com/acidanthera/audk.git
Add back the BdsDeleteBootOption to pass build.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11283 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
a34688db37
commit
be88744770
|
@ -1441,3 +1441,59 @@ FormSetDispatcher (
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
Deletete the Boot Option from EFI Variable. The Boot Order Arrray
|
||||
is also updated.
|
||||
|
||||
@param OptionNumber The number of Boot option want to be deleted.
|
||||
@param BootOrder The Boot Order array.
|
||||
@param BootOrderSize The size of the Boot Order Array.
|
||||
|
||||
@retval EFI_SUCCESS The Boot Option Variable was found and removed
|
||||
@retval EFI_UNSUPPORTED The Boot Option Variable store was inaccessible
|
||||
@retval EFI_NOT_FOUND The Boot Option Variable was not found
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
BdsDeleteBootOption (
|
||||
IN UINTN OptionNumber,
|
||||
IN OUT UINT16 *BootOrder,
|
||||
IN OUT UINTN *BootOrderSize
|
||||
)
|
||||
{
|
||||
UINT16 BootOption[100];
|
||||
UINTN Index;
|
||||
EFI_STATUS Status;
|
||||
UINTN Index2Del;
|
||||
|
||||
Status = EFI_SUCCESS;
|
||||
Index2Del = 0;
|
||||
|
||||
UnicodeSPrint (BootOption, sizeof (BootOption), L"Boot%04x", OptionNumber);
|
||||
Status = EfiLibDeleteVariable (BootOption, &gEfiGlobalVariableGuid);
|
||||
|
||||
//
|
||||
// adjust boot order array
|
||||
//
|
||||
for (Index = 0; Index < *BootOrderSize / sizeof (UINT16); Index++) {
|
||||
if (BootOrder[Index] == OptionNumber) {
|
||||
Index2Del = Index;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (Index != *BootOrderSize / sizeof (UINT16)) {
|
||||
for (Index = 0; Index < *BootOrderSize / sizeof (UINT16) - 1; Index++) {
|
||||
if (Index >= Index2Del) {
|
||||
BootOrder[Index] = BootOrder[Index + 1];
|
||||
}
|
||||
}
|
||||
|
||||
*BootOrderSize -= sizeof (UINT16);
|
||||
}
|
||||
|
||||
return Status;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue