/** @file\r
Provide Boot Manager related library APIs.\r
\r
-Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>\r
(C) Copyright 2015-2016 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
);\r
\r
/**\r
- Return the Boot Manager Menu.\r
- \r
+ Return the boot option corresponding to the Boot Manager Menu.\r
+ It may automatically create one if the boot option hasn't been created yet.\r
+\r
@param BootOption Return the Boot Manager Menu.\r
\r
@retval EFI_SUCCESS The Boot Manager Menu is successfully returned.\r
- @retval EFI_NOT_FOUND The Boot Manager Menu is not found.\r
+ @retval EFI_NOT_FOUND The Boot Manager Menu cannot be found.\r
+ @retval others Return status of gRT->SetVariable (). BootOption still points\r
+ to the Boot Manager Menu even the Status is not EFI_SUCCESS\r
+ and EFI_NOT_FOUND.\r
**/\r
EFI_STATUS\r
EFIAPI\r
EFI_BOOT_MANAGER_LOAD_OPTION *BootOption\r
);\r
\r
+\r
+/**\r
+ Get the load option by its device path.\r
+\r
+ @param FilePath The device path pointing to a load option.\r
+ It could be a short-form device path.\r
+ @param FullPath Return the full device path of the load option after\r
+ short-form device path expanding.\r
+ Caller is responsible to free it.\r
+ @param FileSize Return the load option size.\r
+\r
+ @return The load option buffer. Caller is responsible to free the memory.\r
+**/\r
+VOID *\r
+EFIAPI\r
+EfiBootManagerGetLoadOptionBuffer (\r
+ IN EFI_DEVICE_PATH_PROTOCOL *FilePath,\r
+ OUT EFI_DEVICE_PATH_PROTOCOL **FullPath,\r
+ OUT UINTN *FileSize\r
+ );\r
+\r
/**\r
The function enumerates all the legacy boot options, creates them and \r
registers them in the BootOrder variable.\r
OUT UINT16 *OptionNumber OPTIONAL\r
);\r
\r
+\r
+/**\r
+ Dispatch the deferred images that are returned from all DeferredImageLoad instances.\r
+\r
+ @retval EFI_SUCCESS At least one deferred image is loaded successfully and started.\r
+ @retval EFI_NOT_FOUND There is no deferred image.\r
+ @retval EFI_ACCESS_DENIED There are deferred images but all of them are failed to load.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+EfiBootManagerDispatchDeferredImages (\r
+ VOID\r
+ );\r
#endif\r