/** @file

  Root include file for Mde Package DXE_CORE, DXE, SMM, SAL type modules.

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

**/

#ifndef __PI_DXE_H__
#define __PI_DXE_H__

#include <gpxe/efi/Uefi/UefiBaseType.h>
#include <gpxe/efi/Uefi/UefiSpec.h>

#include <gpxe/efi/Pi/PiDxeCis.h>

#endif

