]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Include/Library/UefiBootManagerLib.h
MdeModulePkg: Make the BmFindLoadOption function public
[mirror_edk2.git] / MdeModulePkg / Include / Library / UefiBootManagerLib.h
index 886229ed9e3cea1c741f4878ee9420b0c04bbb3b..54a67130f315cfe261a182871284dc3da34346ee 100644 (file)
@@ -2,6 +2,7 @@
   Provide Boot Manager related library APIs.\r
 \r
 Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>\r
+(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -213,7 +214,7 @@ EfiBootManagerDeleteLoadOptionVariable (
   reflect the new order.\r
 \r
   @param OptionType        The type of the load option.\r
-  @param Comparator        The comparator function pointer.\r
+  @param CompareFunction   The comparator function pointer.\r
 **/\r
 VOID\r
 EFIAPI\r
@@ -222,6 +223,27 @@ EfiBootManagerSortLoadOptionVariable (
   IN SORT_COMPARE                      CompareFunction\r
   );\r
 \r
+/**\r
+  Return the index of the load option in the load option array.\r
+\r
+  The function consider two load options are equal when the \r
+  OptionType, Attributes, Description, FilePath and OptionalData are equal.\r
+\r
+  @param Key    Pointer to the load option to be found.\r
+  @param Array  Pointer to the array of load options to be found.\r
+  @param Count  Number of entries in the Array.\r
+\r
+  @retval -1          Key wasn't found in the Array.\r
+  @retval 0 ~ Count-1 The index of the Key in the Array.\r
+**/\r
+INTN\r
+EFIAPI\r
+EfiBootManagerFindLoadOption (\r
+  IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Key,\r
+  IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Array,\r
+  IN UINTN                              Count\r
+  );\r
+\r
 //\r
 // Boot Manager hot key library functions.\r
 //\r
@@ -440,6 +462,36 @@ EfiBootManagerRegisterLegacyBootSupport (
   EFI_BOOT_MANAGER_LEGACY_BOOT                  LegacyBoot\r
   );\r
 \r
+/**\r
+  Return the platform provided boot option description for the controller.\r
+\r
+  @param Handle                Controller handle.\r
+  @param DefaultDescription    Default boot description provided by core.\r
+\r
+  @return  The callee allocated description string\r
+           or NULL if the handler wants to use DefaultDescription.\r
+**/\r
+typedef\r
+CHAR16 *\r
+(EFIAPI *EFI_BOOT_MANAGER_BOOT_DESCRIPTION_HANDLER) (\r
+  IN EFI_HANDLE                  Handle,\r
+  IN CONST CHAR16                *DefaultDescription\r
+  );\r
+\r
+/**\r
+  Register the platform provided boot description handler.\r
+\r
+  @param Handler  The platform provided boot description handler\r
+\r
+  @retval EFI_SUCCESS          The handler was registered successfully.\r
+  @retval EFI_ALREADY_STARTED  The handler was already registered.\r
+  @retval EFI_OUT_OF_RESOURCES There is not enough resource to perform the registration.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+EfiBootManagerRegisterBootDescriptionHandler (\r
+  IN EFI_BOOT_MANAGER_BOOT_DESCRIPTION_HANDLER  Handler\r
+  );\r
 \r
 //\r
 // Boot Manager connect and disconnect library functions\r