/*
 * Copyright 2016 Google Inc.
 *
 * See file CREDITS for list of people who contributed to this
 * project.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but without any warranty; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 * MA 02111-1307 USA
 */

#ifndef __UEFI_EDK_H__
#define __UEFI_EDK_H__

#include "uefi/edk/Guid/Acpi.h"
#include "uefi/edk/Guid/AprioriFileName.h"
#include "uefi/edk/Guid/Apriori.h"
#include "uefi/edk/Guid/CapsuleReport.h"
#include "uefi/edk/Guid/Cper.h"
#include "uefi/edk/Guid/DebugImageInfoTable.h"
#include "uefi/edk/Guid/DxeServices.h"
#include "uefi/edk/Guid/EventGroup.h"
#include "uefi/edk/Guid/EventLegacyBios.h"
#include "uefi/edk/Guid/FileInfo.h"
#include "uefi/edk/Guid/FileSystemInfo.h"
#include "uefi/edk/Guid/FileSystemVolumeLabelInfo.h"
#include "uefi/edk/Guid/FirmwareContentsSigned.h"
#include "uefi/edk/Guid/FirmwareFileSystem2.h"
#include "uefi/edk/Guid/FirmwareFileSystem3.h"
#include "uefi/edk/Guid/FmpCapsule.h"
#include "uefi/edk/Guid/GlobalVariable.h"
#include "uefi/edk/Guid/Gpt.h"
#include "uefi/edk/Guid/GraphicsInfoHob.h"
#include "uefi/edk/Guid/HardwareErrorVariable.h"
#include "uefi/edk/Guid/HiiFormMapMethodGuid.h"
#include "uefi/edk/Guid/HiiKeyBoardLayout.h"
#include "uefi/edk/Guid/HiiPlatformSetupFormset.h"
#include "uefi/edk/Guid/HobList.h"
#include "uefi/edk/Guid/ImageAuthentication.h"
#include "uefi/edk/Guid/MdePkgTokenSpace.h"
#include "uefi/edk/Guid/MemoryAllocationHob.h"
#include "uefi/edk/Guid/MemoryAttributesTable.h"
#include "uefi/edk/Guid/MemoryOverwriteControl.h"
#include "uefi/edk/Guid/Mps.h"
#include "uefi/edk/Guid/PcAnsi.h"
#include "uefi/edk/Guid/PropertiesTable.h"
#include "uefi/edk/Guid/SalSystemTable.h"
#include "uefi/edk/Guid/SmBios.h"
#include "uefi/edk/Guid/StatusCodeDataTypeId.h"
#include "uefi/edk/Guid/SystemResourceTable.h"
#include "uefi/edk/Guid/VectorHandoffTable.h"
#include "uefi/edk/Guid/WinCertificate.h"

#include "uefi/edk/Uefi.h"

#endif /* __UEFI_EDK_H__ */
