##  @file
#  Provides interface to advanced shell functionality for parsing both handle and protocol database.
#  (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.<BR>
#  Copyright (c) 2010 - 2015, 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                    = 0x00010006
  BASE_NAME                      = UefiHandleParsingLib
  FILE_GUID                      = 3CDC7177-CC2A-4678-BA8F-1A936A093FA4
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = HandleParsingLib|UEFI_APPLICATION UEFI_DRIVER DXE_RUNTIME_DRIVER
  CONSTRUCTOR                    = HandleParsingLibConstructor
  DESTRUCTOR                     = HandleParsingLibDestructor

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources.common]
  UefiHandleParsingLib.c
  UefiHandleParsingLib.h
  UefiHandleParsingLib.uni

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  ShellPkg/ShellPkg.dec

[LibraryClasses]
  UefiBootServicesTableLib
  MemoryAllocationLib
  DevicePathLib
  BaseLib
  BaseMemoryLib
  DebugLib
  FileHandleLib
  PrintLib
  UefiLib
  HiiLib
  SortLib

[Protocols]
  gEfiSimpleFileSystemProtocolGuid                        ## CONSUMES

  # shell 2.0
  gEfiShellProtocolGuid                                   ## SOMETIMES_CONSUMES
  gEfiShellParametersProtocolGuid                         ## SOMETIMES_CONSUMES

  # 'old' shell
  gEfiShellEnvironment2Guid                               ## SOMETIMES_CONSUMES
  gEfiShellInterfaceGuid                                  ## SOMETIMES_CONSUMES

  gEfiUnicodeCollation2ProtocolGuid                       ## CONSUMES
  gEfiDevicePathToTextProtocolGuid                        ## CONSUMES
  gEfiBusSpecificDriverOverrideProtocolGuid               ## CONSUMES
  gEfiDevicePathUtilitiesProtocolGuid                     ## CONSUMES
  gEfiDevicePathFromTextProtocolGuid                      ## CONSUMES
  gEfiPlatformDriverOverrideProtocolGuid                  ## CONSUMES
  gEfiSimpleTextInProtocolGuid                            ## CONSUMES
  gEfiPlatformToDriverConfigurationProtocolGuid           ## CONSUMES
  gEfiDriverSupportedEfiVersionProtocolGuid               ## CONSUMES
  gEfiLoadedImageProtocolGuid                             ## CONSUMES
  gEfiDevicePathProtocolGuid                              ## CONSUMES
  gEfiLoadedImageDevicePathProtocolGuid                   ## CONSUMES
  gEfiSimpleTextOutProtocolGuid                           ## UNDEFINED
  gEfiSimplePointerProtocolGuid                           ## UNDEFINED
  gEfiAbsolutePointerProtocolGuid                         ## UNDEFINED
  gEfiSerialIoProtocolGuid                                ## UNDEFINED
  gEfiEdidDiscoveredProtocolGuid                          ## UNDEFINED
  gEfiEdidActiveProtocolGuid                              ## UNDEFINED
  gEfiEdidOverrideProtocolGuid                            ## UNDEFINED
  gEfiLoadFileProtocolGuid                                ## UNDEFINED
  gEfiLoadFile2ProtocolGuid                               ## UNDEFINED
  gEfiTapeIoProtocolGuid                                  ## UNDEFINED
  gEfiDiskIoProtocolGuid                                  ## UNDEFINED
  gEfiBlockIoProtocolGuid                                 ## UNDEFINED
  gEfiUnicodeCollationProtocolGuid                        ## UNDEFINED
  gEfiPciRootBridgeIoProtocolGuid                         ## UNDEFINED
  gEfiPciIoProtocolGuid                                   ## UNDEFINED
  gEfiScsiPassThruProtocolGuid                            ## UNDEFINED
  gEfiScsiIoProtocolGuid                                  ## UNDEFINED
  gEfiExtScsiPassThruProtocolGuid                         ## UNDEFINED
  gEfiIScsiInitiatorNameProtocolGuid                      ## UNDEFINED
  gEfiUsbIoProtocolGuid                                   ## UNDEFINED
  gEfiUsbHcProtocolGuid                                   ## UNDEFINED
  gEfiUsb2HcProtocolGuid                                  ## UNDEFINED
  gEfiDebugSupportProtocolGuid                            ## UNDEFINED
  gEfiDebugPortProtocolGuid                               ## UNDEFINED
  gEfiDecompressProtocolGuid                              ## UNDEFINED
  gEfiAcpiTableProtocolGuid                               ## UNDEFINED
  gEfiEbcProtocolGuid                                     ## UNDEFINED
  gEfiSimpleNetworkProtocolGuid                           ## UNDEFINED
  gEfiNetworkInterfaceIdentifierProtocolGuid              ## UNDEFINED
  gEfiNetworkInterfaceIdentifierProtocolGuid_31           ## UNDEFINED
  gEfiPxeBaseCodeProtocolGuid                             ## UNDEFINED
  gEfiPxeBaseCodeCallbackProtocolGuid                     ## UNDEFINED
  gEfiBisProtocolGuid                                     ## UNDEFINED
  gEfiManagedNetworkServiceBindingProtocolGuid            ## UNDEFINED
  gEfiManagedNetworkProtocolGuid                          ## UNDEFINED
  gEfiArpServiceBindingProtocolGuid                       ## UNDEFINED
  gEfiArpProtocolGuid                                     ## UNDEFINED
  gEfiDhcp4ServiceBindingProtocolGuid                     ## UNDEFINED
  gEfiDhcp4ProtocolGuid                                   ## UNDEFINED
  gEfiTcp4ServiceBindingProtocolGuid                      ## UNDEFINED
  gEfiTcp4ProtocolGuid                                    ## UNDEFINED
  gEfiIp4ServiceBindingProtocolGuid                       ## UNDEFINED
  gEfiIp4ProtocolGuid                                     ## UNDEFINED
  gEfiIp4ConfigProtocolGuid                               ## UNDEFINED
  gEfiUdp4ServiceBindingProtocolGuid                      ## UNDEFINED
  gEfiUdp4ProtocolGuid                                    ## UNDEFINED
  gEfiMtftp4ServiceBindingProtocolGuid                    ## UNDEFINED
  gEfiMtftp4ProtocolGuid                                  ## UNDEFINED
  gEfiAuthenticationInfoProtocolGuid                      ## UNDEFINED
  gEfiHashServiceBindingProtocolGuid                      ## UNDEFINED
  gEfiHashProtocolGuid                                    ## UNDEFINED
  gEfiHiiFontProtocolGuid                                 ## UNDEFINED
  gEfiHiiStringProtocolGuid                               ## UNDEFINED
  gEfiHiiImageProtocolGuid                                ## UNDEFINED
  gEfiHiiConfigRoutingProtocolGuid                        ## UNDEFINED
  gEfiHiiConfigAccessProtocolGuid                         ## UNDEFINED
  gEfiFormBrowser2ProtocolGuid                            ## UNDEFINED
  gEfiDeviceIoProtocolGuid                                ## UNDEFINED
  gEfiUgaDrawProtocolGuid                                 ## UNDEFINED
  gEfiUgaIoProtocolGuid                                   ## UNDEFINED
  gEfiDriverConfigurationProtocolGuid                     ## UNDEFINED
  gEfiDriverConfiguration2ProtocolGuid                    ## UNDEFINED
  gEfiSimpleTextInputExProtocolGuid                       ## UNDEFINED
  gEfiIp6ServiceBindingProtocolGuid                       ## UNDEFINED
  gEfiIp6ProtocolGuid                                     ## UNDEFINED
  gEfiIp6ConfigProtocolGuid                               ## UNDEFINED
  gEfiMtftp6ServiceBindingProtocolGuid                    ## UNDEFINED
  gEfiMtftp6ProtocolGuid                                  ## UNDEFINED
  gEfiDhcp6ServiceBindingProtocolGuid                     ## UNDEFINED
  gEfiDhcp6ProtocolGuid                                   ## UNDEFINED
  gEfiUdp6ServiceBindingProtocolGuid                      ## UNDEFINED
  gEfiUdp6ProtocolGuid                                    ## UNDEFINED
  gEfiTcp6ServiceBindingProtocolGuid                      ## UNDEFINED
  gEfiTcp6ProtocolGuid                                    ## UNDEFINED
  gEfiVlanConfigProtocolGuid                              ## UNDEFINED
  gEfiEapProtocolGuid                                     ## UNDEFINED
  gEfiEapManagementProtocolGuid                           ## UNDEFINED
  gEfiFtp4ServiceBindingProtocolGuid                      ## UNDEFINED
  gEfiFtp4ProtocolGuid                                    ## UNDEFINED
  gEfiIpSecConfigProtocolGuid                             ## UNDEFINED
  gEfiDriverHealthProtocolGuid                            ## UNDEFINED
  gEfiDeferredImageLoadProtocolGuid                       ## UNDEFINED
  gEfiUserCredentialProtocolGuid                          ## UNDEFINED
  gEfiUserManagerProtocolGuid                             ## UNDEFINED
  gEfiAtaPassThruProtocolGuid                             ## UNDEFINED
  gEfiFirmwareManagementProtocolGuid                      ## UNDEFINED
  gEfiIpSecProtocolGuid                                   ## UNDEFINED
  gEfiIpSec2ProtocolGuid                                  ## UNDEFINED
  gEfiKmsProtocolGuid                                     ## UNDEFINED
  gEfiBlockIo2ProtocolGuid                                ## UNDEFINED
  gEfiStorageSecurityCommandProtocolGuid                  ## UNDEFINED
  gEfiUserCredential2ProtocolGuid                         ## UNDEFINED
  gPcdProtocolGuid                                        ## UNDEFINED
  gEfiTcgProtocolGuid                                     ## UNDEFINED
  gEfiHiiPackageListProtocolGuid                          ## UNDEFINED
  gEfiDriverFamilyOverrideProtocolGuid                    ## UNDEFINED
  gEfiIdeControllerInitProtocolGuid                       ## UNDEFINED
  gEfiDiskIo2ProtocolGuid                                 ## UNDEFINED
  gEfiAdapterInformationProtocolGuid                      ## UNDEFINED
  gEfiShellDynamicCommandProtocolGuid                     ## UNDEFINED
  gEfiDiskInfoProtocolGuid                                ## UNDEFINED

[Guids]
  gEfiFileInfoGuid                                        ## CONSUMES ## GUID
  gEfiShellEnvironment2ExtGuid                            ## CONSUMES ## GUID
  gEfiPcAnsiGuid                                          ## UNDEFINED
  gEfiVT100Guid                                           ## UNDEFINED
  gEfiVT100PlusGuid                                       ## UNDEFINED
  gEfiVTUTF8Guid                                          ## UNDEFINED
  gEfiStandardErrorDeviceGuid                             ## UNDEFINED
  gEfiConsoleInDeviceGuid                                 ## UNDEFINED
  gEfiConsoleOutDeviceGuid                                ## UNDEFINED
  gEfiFileSystemInfoGuid                                  ## UNDEFINED
  gEfiGlobalVariableGuid                                  ## UNDEFINED
  gEfiPartTypeSystemPartGuid                              ## UNDEFINED
  gEfiPartTypeLegacyMbrGuid                               ## UNDEFINED
  gHandleParsingHiiGuid                                   ## UNDEFINED
  gEfiAdapterInfoMediaStateGuid                           ## SOMETIMES_CONSUMES ## GUID
  gEfiAdapterInfoNetworkBootGuid                          ## SOMETIMES_CONSUMES ## GUID
  gEfiAdapterInfoSanMacAddressGuid                        ## SOMETIMES_CONSUMES ## GUID

[Pcd.common]
  gEfiShellPkgTokenSpaceGuid.PcdShellPrintBufferSize      ## CONSUMES
  gEfiShellPkgTokenSpaceGuid.PcdShellIncludeNtGuids       ## CONSUMES