/*++

Copyright (c) 2006, 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.             

Module Name:

  EdkPeCoffLoaderLib.h

Abstract:
  Wrap the Base PE/COFF loader with the PE COFF Protocol

  

--*/

#ifndef __PE_COFF_LOADER_LIB_H_
#define __PE_COFF_LOADER_LIB_H_

#include <Guid/PeiPeCoffLoader.h>

EFI_PEI_PE_COFF_LOADER_PROTOCOL*
EFIAPI
GetPeCoffLoaderProtocol (
  VOID
  );

#endif
