## @file
#  Report Status Code Router Driver which produces Report Stataus Code Handler Protocol and Status Code Runtime Protocol.
#
#  Copyright (c) 2009 - 2018, 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                      = ReportStatusCodeRouterRuntimeDxe
  MODULE_UNI_FILE                = ReportStatusCodeRouterRuntimeDxe.uni
  FILE_GUID                      = D93CE3D8-A7EB-4730-8C8E-CC466A9ECC3C
  MODULE_TYPE                    = DXE_RUNTIME_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = GenericStatusCodeRuntimeDxeEntry

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  ReportStatusCodeRouterRuntimeDxe.c
  ReportStatusCodeRouterRuntimeDxe.h


[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  UefiRuntimeLib
  MemoryAllocationLib
  BaseMemoryLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint
  HobLib
  DebugLib
  BaseLib
  SynchronizationLib
  UefiLib

[Guids]
  gEfiEventVirtualAddressChangeGuid               ## CONSUMES ## Event

[Protocols]
  gEfiRscHandlerProtocolGuid                      ## PRODUCES
  gEfiStatusCodeRuntimeProtocolGuid               ## PRODUCES

[Depex]
  TRUE

[UserExtensions.TianoCore."ExtraFiles"]
  ReportStatusCodeRouterRuntimeDxeExtra.uni
