## @file
#  Define and produce general Boot Manager related interfaces.
#
#  The implementation provides richful library functions supporting load option
#  manipulation, hotkey registration, UEFI boot, connect/disconnect, console
#  manipulation, driver health checking and etc.
#
#  Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
#  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
#  (C) Copyright 2016 Hewlett Packard Enterprise Development LP
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = UefiBootManagerLib
  MODULE_UNI_FILE                = UefiBootManagerLib.uni
  FILE_GUID                      = 8D4752BC-595E-49a2-B4AF-F3F57B601DE9
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = UefiBootManagerLib|DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION UEFI_DRIVER
#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#
[Sources]
  BmConnect.c
  BmMisc.c
  BmConsole.c
  BmBoot.c
  BmBootDescription.c
  BmLoadOption.c
  BmHotkey.c
  BmDriverHealth.c
  InternalBm.h
[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
  HobLib
  PcdLib
  BaseLib
  UefiLib
  DebugLib
  PrintLib
  BaseMemoryLib
  DevicePathLib
  PerformanceLib
  PeCoffGetEntryPointLib
  UefiBootServicesTableLib
  UefiRuntimeServicesTableLib
  DxeServicesTableLib
  MemoryAllocationLib
  DxeServicesLib
  ReportStatusCodeLib
  PerformanceLib
  HiiLib
  SortLib
  VariablePolicyHelperLib
[Guids]
  ## SOMETIMES_CONSUMES ## SystemTable (The identifier of memory type information type in system table)
  ## SOMETIMES_CONSUMES ## HOB (The hob holding memory type information)
  ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation."
  ## SOMETIMES_PRODUCES ## Variable:L"MemoryTypeInformation."
  gEfiMemoryTypeInformationGuid
  ## SOMETIMES_PRODUCES ## Variable:L"BootCurrent" (The boot option of current boot)
  ## SOMETIMES_CONSUMES ## Variable:L"BootXX" (Boot option variable)
  ## SOMETIMES_CONSUMES ## Variable:L"BootOrder" (The boot option array)
  ## SOMETIMES_CONSUMES ## Variable:L"DriverOrder" (The driver order list)
  ## SOMETIMES_CONSUMES ## Variable:L"ConIn" (The device path of console in device)
  ## SOMETIMES_CONSUMES ## Variable:L"ConOut" (The device path of console out device)
  ## SOMETIMES_CONSUMES ## Variable:L"ErrOut" (The device path of error out device)
  gEfiGlobalVariableGuid
  gEdkiiStatusCodeDataTypeVariableGuid          ## SOMETIMES_CONSUMES ## GUID
  gEfiDiskInfoAhciInterfaceGuid                 ## SOMETIMES_CONSUMES ## GUID
  gEfiDiskInfoIdeInterfaceGuid                  ## SOMETIMES_CONSUMES ## GUID
  gEfiDiskInfoScsiInterfaceGuid                 ## SOMETIMES_CONSUMES ## GUID
  gEfiDiskInfoSdMmcInterfaceGuid                ## SOMETIMES_CONSUMES ## GUID
  gEfiDiskInfoUfsInterfaceGuid                  ## SOMETIMES_CONSUMES ## GUID
[Protocols]
  gEfiPciRootBridgeIoProtocolGuid               ## CONSUMES
  gEfiSimpleFileSystemProtocolGuid              ## SOMETIMES_CONSUMES
  gEfiLoadFileProtocolGuid                      ## SOMETIMES_CONSUMES
  gEfiSimpleTextOutProtocolGuid                 ## SOMETIMES_CONSUMES
  gEfiPciIoProtocolGuid                         ## SOMETIMES_CONSUMES
  gEfiLoadedImageProtocolGuid                   ## CONSUMES
  gEfiSimpleNetworkProtocolGuid                 ## SOMETIMES_CONSUMES
  gEfiSimpleTextInProtocolGuid                  ## SOMETIMES_CONSUMES
  gEfiBlockIoProtocolGuid                       ## SOMETIMES_CONSUMES
  gEfiFirmwareVolume2ProtocolGuid               ## SOMETIMES_CONSUMES
  gEfiDevicePathProtocolGuid                    ## SOMETIMES_CONSUMES
  gEfiBootLogoProtocolGuid                      ## SOMETIMES_CONSUMES
  gEfiSimpleTextInputExProtocolGuid             ## SOMETIMES_CONSUMES
  gEdkiiVariablePolicyProtocolGuid              ## SOMETIMES_CONSUMES
  gEfiGraphicsOutputProtocolGuid                ## SOMETIMES_CONSUMES
  gEfiUsbIoProtocolGuid                         ## SOMETIMES_CONSUMES
  gEfiNvmExpressPassThruProtocolGuid            ## SOMETIMES_CONSUMES
  gEfiDiskInfoProtocolGuid                      ## SOMETIMES_CONSUMES
  gEfiDriverHealthProtocolGuid                  ## SOMETIMES_CONSUMES
  gEfiFormBrowser2ProtocolGuid                  ## SOMETIMES_CONSUMES
  gEfiRamDiskProtocolGuid                       ## SOMETIMES_CONSUMES
  gEfiDeferredImageLoadProtocolGuid             ## SOMETIMES_CONSUMES
  gEdkiiPlatformBootManagerProtocolGuid         ## SOMETIMES_CONSUMES
[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange      ## SOMETIMES_CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderLoad                ## SOMETIMES_CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderStart               ## SOMETIMES_CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable                    ## SOMETIMES_CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile                     ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdDriverHealthConfigureForm               ## SOMETIMES_CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxRepairCount                          ## CONSUMES