## @file
#  Framework SMM Status Code Protocol on PI SMM Status Code Protocol Thunk driver.
#
#  Copyright (c) 2010 - 2011, 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                      = FrameworkSmmStatusCodeOnPiSmmStatusCodeThunk
  FILE_GUID                      = 88B49226-A63F-4505-9D3C-B5A67B846133
  MODULE_TYPE                    = DXE_SMM_DRIVER
  PI_SPECIFICATION_VERSION       = 0x0001000A
  VERSION_STRING                 = 1.0  
  ENTRY_POINT                    = SmmStatusCodeThunkMain

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  FrameworkSmmStatusCodeOnPiSmmStatusCodeThunk.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  UefiDriverEntryPoint
  SmmServicesTableLib
  DebugLib
  BaseLib

[Protocols]
  gEfiSmmStatusCodeProtocolGuid               ## PRODUCES/CONSUMES

[Depex]
  gEfiSmmStatusCodeProtocolGuid

