MdeModulePkg: Make the BmFindLoadOption function public
Make the BmFindLoadOption function public Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Sunny Wang <sunnywang@hpe.com> Reviewed-by: Samer El-Haj-Mahmoud <elhaj@hpe.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18662 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -2,6 +2,7 @@
|
|||||||
Provide Boot Manager related library APIs.
|
Provide Boot Manager related library APIs.
|
||||||
|
|
||||||
Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -222,6 +223,27 @@ EfiBootManagerSortLoadOptionVariable (
|
|||||||
IN SORT_COMPARE CompareFunction
|
IN SORT_COMPARE CompareFunction
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Return the index of the load option in the load option array.
|
||||||
|
|
||||||
|
The function consider two load options are equal when the
|
||||||
|
OptionType, Attributes, Description, FilePath and OptionalData are equal.
|
||||||
|
|
||||||
|
@param Key Pointer to the load option to be found.
|
||||||
|
@param Array Pointer to the array of load options to be found.
|
||||||
|
@param Count Number of entries in the Array.
|
||||||
|
|
||||||
|
@retval -1 Key wasn't found in the Array.
|
||||||
|
@retval 0 ~ Count-1 The index of the Key in the Array.
|
||||||
|
**/
|
||||||
|
INTN
|
||||||
|
EFIAPI
|
||||||
|
EfiBootManagerFindLoadOption (
|
||||||
|
IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Key,
|
||||||
|
IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Array,
|
||||||
|
IN UINTN Count
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Boot Manager hot key library functions.
|
// Boot Manager hot key library functions.
|
||||||
//
|
//
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/** @file
|
/** @file
|
||||||
Library functions which relates with booting.
|
Library functions which relates with booting.
|
||||||
|
|
||||||
(C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
|
|
||||||
Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -206,7 +206,7 @@ BmFindBootOptionInVariable (
|
|||||||
if (OptionNumber == LoadOptionNumberUnassigned) {
|
if (OptionNumber == LoadOptionNumberUnassigned) {
|
||||||
BootOptions = EfiBootManagerGetLoadOptions (&BootOptionCount, LoadOptionTypeBoot);
|
BootOptions = EfiBootManagerGetLoadOptions (&BootOptionCount, LoadOptionTypeBoot);
|
||||||
|
|
||||||
Index = BmFindLoadOption (OptionToFind, BootOptions, BootOptionCount);
|
Index = EfiBootManagerFindLoadOption (OptionToFind, BootOptions, BootOptionCount);
|
||||||
if (Index != -1) {
|
if (Index != -1) {
|
||||||
OptionNumber = BootOptions[Index].OptionNumber;
|
OptionNumber = BootOptions[Index].OptionNumber;
|
||||||
}
|
}
|
||||||
@ -2165,7 +2165,7 @@ EfiBootManagerRefreshAllBootOption (
|
|||||||
// Only check those added by BDS
|
// Only check those added by BDS
|
||||||
// so that the boot options added by end-user or OS installer won't be deleted
|
// so that the boot options added by end-user or OS installer won't be deleted
|
||||||
//
|
//
|
||||||
if (BmFindLoadOption (&NvBootOptions[Index], BootOptions, BootOptionCount) == (UINTN) -1) {
|
if (EfiBootManagerFindLoadOption (&NvBootOptions[Index], BootOptions, BootOptionCount) == (UINTN) -1) {
|
||||||
Status = EfiBootManagerDeleteLoadOptionVariable (NvBootOptions[Index].OptionNumber, LoadOptionTypeBoot);
|
Status = EfiBootManagerDeleteLoadOptionVariable (NvBootOptions[Index].OptionNumber, LoadOptionTypeBoot);
|
||||||
//
|
//
|
||||||
// Deleting variable with current variable implementation shouldn't fail.
|
// Deleting variable with current variable implementation shouldn't fail.
|
||||||
@ -2179,7 +2179,7 @@ EfiBootManagerRefreshAllBootOption (
|
|||||||
// Add new EFI boot options to NV
|
// Add new EFI boot options to NV
|
||||||
//
|
//
|
||||||
for (Index = 0; Index < BootOptionCount; Index++) {
|
for (Index = 0; Index < BootOptionCount; Index++) {
|
||||||
if (BmFindLoadOption (&BootOptions[Index], NvBootOptions, NvBootOptionCount) == (UINTN) -1) {
|
if (EfiBootManagerFindLoadOption (&BootOptions[Index], NvBootOptions, NvBootOptionCount) == (UINTN) -1) {
|
||||||
EfiBootManagerAddLoadOptionVariable (&BootOptions[Index], (UINTN) -1);
|
EfiBootManagerAddLoadOptionVariable (&BootOptions[Index], (UINTN) -1);
|
||||||
//
|
//
|
||||||
// Try best to add the boot options so continue upon failure.
|
// Try best to add the boot options so continue upon failure.
|
||||||
@ -2260,7 +2260,7 @@ BmRegisterBootManagerMenu (
|
|||||||
UINTN BootOptionCount;
|
UINTN BootOptionCount;
|
||||||
|
|
||||||
BootOptions = EfiBootManagerGetLoadOptions (&BootOptionCount, LoadOptionTypeBoot);
|
BootOptions = EfiBootManagerGetLoadOptions (&BootOptionCount, LoadOptionTypeBoot);
|
||||||
ASSERT (BmFindLoadOption (BootOption, BootOptions, BootOptionCount) == -1);
|
ASSERT (EfiBootManagerFindLoadOption (BootOption, BootOptions, BootOptionCount) == -1);
|
||||||
EfiBootManagerFreeLoadOptions (BootOptions, BootOptionCount);
|
EfiBootManagerFreeLoadOptions (BootOptions, BootOptionCount);
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
Load option library functions which relate with creating and processing load options.
|
Load option library functions which relate with creating and processing load options.
|
||||||
|
|
||||||
Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -504,7 +505,8 @@ EfiBootManagerInitializeLoadOption (
|
|||||||
@retval 0 ~ Count-1 The index of the Key in the Array.
|
@retval 0 ~ Count-1 The index of the Key in the Array.
|
||||||
**/
|
**/
|
||||||
INTN
|
INTN
|
||||||
BmFindLoadOption (
|
EFIAPI
|
||||||
|
EfiBootManagerFindLoadOption (
|
||||||
IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Key,
|
IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Key,
|
||||||
IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Array,
|
IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Array,
|
||||||
IN UINTN Count
|
IN UINTN Count
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
BDS library definition, include the file and data structure
|
BDS library definition, include the file and data structure
|
||||||
|
|
||||||
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -407,27 +408,6 @@ BmDelPartMatchInstance (
|
|||||||
IN EFI_DEVICE_PATH_PROTOCOL *Single
|
IN EFI_DEVICE_PATH_PROTOCOL *Single
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
Return the index of the load option in the load option array.
|
|
||||||
|
|
||||||
The function consider two load options are equal when the
|
|
||||||
OptionType, Attributes, Description, FilePath and OptionalData are equal.
|
|
||||||
|
|
||||||
@param Key Pointer to the load option to be found.
|
|
||||||
@param Array Pointer to the array of load options to be found.
|
|
||||||
@param Count Number of entries in the Array.
|
|
||||||
|
|
||||||
@retval -1 Key wasn't found in the Array.
|
|
||||||
@retval 0 ~ Count-1 The index of the Key in the Array.
|
|
||||||
**/
|
|
||||||
INTN
|
|
||||||
BmFindLoadOption (
|
|
||||||
IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Key,
|
|
||||||
IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Array,
|
|
||||||
IN UINTN Count
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Repair all the controllers according to the Driver Health status queried.
|
Repair all the controllers according to the Driver Health status queried.
|
||||||
**/
|
**/
|
||||||
|
Reference in New Issue
Block a user