## @file
# Instance of Device Path Library based on Device Path Protocol.
#
#  Device Path Library that layers on top of the UEFI 2.0 Device Path Protocol.
#  This library is not available for EFI 1.10 modules.
#
#  Copyright (c) 2007 - 2012, 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                      = UefiDevicePathLibDevicePathProtocol
  FILE_GUID                      = 050EB8C6-C12E-4b86-892B-40985E8B3137
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = DevicePathLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE

  CONSTRUCTOR                    = DevicePathLibConstructor

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  UefiDevicePathLib.c


[Packages]
  MdePkg/MdePkg.dec


[LibraryClasses]
  UefiBootServicesTableLib
  BaseMemoryLib
  MemoryAllocationLib
  BaseLib
  DebugLib
  PcdLib

[Protocols]
  gEfiDevicePathProtocolGuid                    ## CONSUMES
  gEfiDevicePathUtilitiesProtocolGuid           ## CONSUMES
  gEfiDevicePathToTextProtocolGuid              ## CONSUMES
  gEfiDevicePathFromTextProtocolGuid            ## CONSUMES

[Pcd]
  gEfiMdePkgTokenSpaceGuid.PcdMaximumDevicePathNodeCount

[Depex.common.DXE_DRIVER, Depex.common.DXE_RUNTIME_DRIVER, Depex.common.DXE_SAL_DRIVER, Depex.common.DXE_SMM_DRIVER]
  gEfiDevicePathUtilitiesProtocolGuid
