/** @file

  Root include file for Mde Package SEC, PEIM, PEI_CORE type modules.

  This is the include file for any module of type PEIM. PEIM
  modules only use types defined via this include file and can
  be ported easily to any environment.

Copyright (c) 2006 - 2010, 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 that 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.

**/

#ifndef __PI_PEI_H__
#define __PI_PEI_H__

#include <Uefi/UefiBaseType.h>
#include <Pi/PiPeiCis.h>

#endif

