## @file
#  Load File Module
#
#  Allows the system to load a file from a FV2 based firmware volume.  This
#  version of the module only supports loading of files for the purpose of
#  booting from the file.
#
#  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010018
  BASE_NAME                      = LoadFileOnFv2
  FILE_GUID                      = BD712601-082F-4c59-8677-2C8A3C297948
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = LoadFileOnFv2Intialize
  MODULE_UNI_FILE                = LoadFileOnFv2.uni

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  LoadFileOnFv2.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  DebugLib
  UefiLib
  BaseMemoryLib
  UefiDriverEntryPoint
  UefiBootServicesTableLib
  MemoryAllocationLib
  DevicePathLib

[Guids]
  ## SOMETIMES_CONSUMES ## UNDEFINED # Notify gLzmaCustomDecompressGuid SectionExtraction.
  gLzmaCustomDecompressGuid

[Protocols]
  ## NOTIFY
  ## CONSUMES
  gEfiFirmwareVolume2ProtocolGuid
  gEfiFirmwareVolumeBlockProtocolGuid  ## SOMETIMES_CONSUMES
  gEfiLoadFileProtocolGuid    ## PRODUCES
  gEfiDevicePathProtocolGuid  ## SOMETIMES_PRODUCES

[Depex]
  TRUE

[UserExtensions.TianoCore."ExtraFiles"]
  LoadFileOnFv2Extra.uni

