# @file
# Component Description File for NonDiscoverableDeviceRegistrationLib.
#
# Copyright (c) 2016, Linaro, Ltd. 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                    = 0x00010019
  BASE_NAME                      = NonDiscoverableDeviceRegistrationLib
  FILE_GUID                      = 8802ae41-8184-49cb-8aec-62627cd7ceb4
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = NonDiscoverableDeviceRegistrationLib

[Sources]
  NonDiscoverableDeviceRegistrationLib.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  BaseMemoryLib
  DebugLib
  DevicePathLib
  UefiBootServicesTableLib

[Protocols]
  gEdkiiNonDiscoverableDeviceProtocolGuid    ## PRODUCES

[Guids]
  gEdkiiNonDiscoverableAhciDeviceGuid    ## CONSUMES   ## GUID
  gEdkiiNonDiscoverableAmbaDeviceGuid    ## CONSUMES   ## GUID
  gEdkiiNonDiscoverableEhciDeviceGuid    ## CONSUMES   ## GUID
  gEdkiiNonDiscoverableNvmeDeviceGuid    ## CONSUMES   ## GUID
  gEdkiiNonDiscoverableOhciDeviceGuid    ## CONSUMES   ## GUID
  gEdkiiNonDiscoverableSdhciDeviceGuid   ## CONSUMES   ## GUID
  gEdkiiNonDiscoverableUfsDeviceGuid     ## CONSUMES   ## GUID
  gEdkiiNonDiscoverableUhciDeviceGuid    ## CONSUMES   ## GUID
  gEdkiiNonDiscoverableXhciDeviceGuid    ## CONSUMES   ## GUID
