/** @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 - 2018, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#ifndef __PI_PEI_H__
#define __PI_PEI_H__

#include <Uefi/UefiBaseType.h>
#include <Pi/PiPeiCis.h>

#endif
