#/** @file
# Component description file for the entry point to a EFIDXE Drivers
#
# Library to abstract Framework extensions that conflict with UEFI 2.0 Specification
# Copyright (c) 2007 - 2007, Intel Corporation. All rights reserved.<BR>
#
#  This program and the accompanying materials
#  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
#  http://opensource.org/licenses/bsd-license.php
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
#
#**/

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = EfiFileLib
  FILE_GUID                      = d8c640db-73ba-48f5-a7ed-8e93c6012491
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = EfiFileLib|DXE_DRIVER UEFI_APPLICATION UEFI_DRIVER


#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources.common]
  EfiFileLib.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  EmbeddedPkg/EmbeddedPkg.dec

[LibraryClasses]
  BaseLib
  MemoryAllocationLib
  DevicePathLib
  PrintLib
  BaseMemoryLib
  UefiLib
  UefiBootServicesTableLib
  UefiRuntimeServicesTableLib
  DebugLib
  EblNetworkLib

[Protocols]
  gEfiBlockIoProtocolGuid                    # PROTOCOL SOMETIMES_CONSUMED
  gEfiDiskIoProtocolGuid                     # PROTOCOL SOMETIMES_CONSUMED
  gEfiSimpleFileSystemProtocolGuid           # PROTOCOL SOMETIMES_CONSUMED
  gEfiFirmwareVolume2ProtocolGuid            # PROTOCOL SOMETIMES_CONSUMED
  gEfiLoadFileProtocolGuid                   # PROTOCOL SOMETIMES_CONSUMED
  gEfiFirmwareVolumeBlockProtocolGuid        # PROTOCOL SOMETIMES_CONSUMED

[Guids]
  gEfiFileInfoGuid
  gEfiFileSystemInfoGuid
  gZeroGuid
