## @file
#  Instance of IPMI Library in DXE phase for SMS.
#
#  Copyright (c) 2009 - 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                    = 0x00010005
  BASE_NAME                      = DxeIpmiLibIpmiProtocol
  MODULE_UNI_FILE                = DxeIpmiLibIpmiProtocol.uni
  FILE_GUID                      = 62408AD5-4EAC-432B-AB9B-C4B85BFAED02
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = IpmiLib|DXE_RUNTIME_DRIVER DXE_DRIVER DXE_CORE UEFI_DRIVER UEFI_APPLICATION

#
#  VALID_ARCHITECTURES          = IA32 X64
#

[Sources]
  DxeIpmiLibIpmiProtocol.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  UefiBootServicesTableLib
  DebugLib

[Protocols]
  gIpmiProtocolGuid      ## SOMETIMES_CONSUMES
