## @file
# Component description file for the EdkNt32PeiPeCoffGetEntryPointLib library.
#
# PeCoffGetEntryPointLib library class for NT32 instance implemented by use NTPeiLoadFile PPI.
# Copyright (c) 2008 - 2010, Intel Corporation
#
#  All rights reserved. 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                      = EdkUnixPeiPeCoffGetEntryPointLib
  FILE_GUID                      = f3b702e8-8985-11db-9558-0040d02b1835
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PeCoffGetEntryPointLib 


#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  PeCoffGetEntryPoint.c


[Packages]
  MdePkg/MdePkg.dec
  UnixPkg/UnixPkg.dec


[LibraryClasses]
  PeiServicesLib
  DebugLib


[Ppis]
  gUnixPeiLoadFilePpiGuid                       # PPI ALWAYS_CONSUMED

