1 /*++ 2 3 Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 13 Module Name: 14 15 EdkIIGlueUefi.h 16 17 Abstract: 18 19 Root include file for UEFI modules. 20 21 **/ 22 23 24 #ifndef __EDKII_GLUE_UEFI_H__ 25 #define __EDKII_GLUE_UEFI_H__ 26 27 28 // 29 // Check to make sure EFI_SPECIFICATION_VERSION and TIANO_RELEASE_VERSION are defined. 30 // also check for legal combinations 31 // 32 #if !defined(EFI_SPECIFICATION_VERSION) 33 #error EFI_SPECIFICATION_VERSION not defined 34 #elif !defined(TIANO_RELEASE_VERSION) 35 #error TIANO_RELEASE_VERSION not defined 36 #elif TIANO_RELEASE_VERSION == 0x00000000 37 38 // 39 // UEFI mode with no Tiano extensions is legal 40 // 41 #elif (TIANO_RELEASE_VERSION <= 0x00080005) && (EFI_SPECIFICATION_VERSION >= 0x00020000) 42 #error Illegal combination of EFI_SPECIFICATION_VERSION and EDK_RELEASE_VERSION versions 43 #endif 44 45 // 46 // General Type & API definitions 47 // 48 49 #include "EfiSpec.h" 50 #include "EfiPxe.h" 51 52 53 // 54 // Protocols from EFI 1.10 that got thier names fixed in UEFI 2.0 55 // 56 #include EFI_PROTOCOL_DEFINITION(LoadedImage) 57 #include EFI_PROTOCOL_DEFINITION(SimpleTextIn) 58 #include EFI_PROTOCOL_DEFINITION(SimpleTextOut) 59 #include EFI_PROTOCOL_DEFINITION(SerialIo) 60 #include EFI_PROTOCOL_DEFINITION(LoadFile) 61 #include EFI_PROTOCOL_DEFINITION(SimpleFileSystem) 62 #include EFI_PROTOCOL_DEFINITION(DiskIo) 63 #include EFI_PROTOCOL_DEFINITION(BlockIo) 64 #include EFI_PROTOCOL_DEFINITION(UnicodeCollation) 65 #include EFI_PROTOCOL_DEFINITION(SimpleNetwork) 66 #include EFI_PROTOCOL_DEFINITION(EfiNetworkInterfaceIdentifier) 67 #include EFI_PROTOCOL_DEFINITION(PxeBaseCode) 68 #include EFI_PROTOCOL_DEFINITION(PxeBaseCodeCallBack) 69 70 // 71 // EFI 1.10 Protocols 72 // 73 #include EFI_PROTOCOL_DEFINITION(Bis) 74 #include EFI_PROTOCOL_DEFINITION(BusSpecificDriverOverride) 75 #include EFI_PROTOCOL_DEFINITION(ComponentName) 76 #if (EFI_SPECIFICATION_VERSION >= 0x00020000) 77 #include EFI_PROTOCOL_DEFINITION (ComponentName2) 78 #endif 79 #include EFI_PROTOCOL_DEFINITION(DebugPort) 80 #include EFI_PROTOCOL_DEFINITION(DebugSupport) 81 #include EFI_PROTOCOL_DEFINITION(Decompress) 82 #include EFI_PROTOCOL_DEFINITION(DriverBinding) 83 #include EFI_PROTOCOL_DEFINITION(DriverConfiguration) 84 #include EFI_PROTOCOL_DEFINITION(DriverDiagnostics) 85 #include EFI_PROTOCOL_DEFINITION(Ebc) 86 #include EFI_PROTOCOL_DEFINITION(EfiNetworkInterfaceIdentifier) 87 #include EFI_PROTOCOL_DEFINITION(FileInfo) 88 #include EFI_PROTOCOL_DEFINITION(FileSystemInfo) 89 #include EFI_PROTOCOL_DEFINITION(FileSystemVolumeLabelInfo) 90 #include EFI_PROTOCOL_DEFINITION(PciIo) 91 #include EFI_PROTOCOL_DEFINITION(PciRootBridgeIo) 92 #include EFI_PROTOCOL_DEFINITION(PlatformDriverOverride) 93 #include EFI_PROTOCOL_DEFINITION(SimplePointer) 94 #include EFI_PROTOCOL_DEFINITION(ScsiPassThru) 95 #include EFI_PROTOCOL_DEFINITION(UsbIo) 96 #include EFI_PROTOCOL_DEFINITION(UsbHostController) 97 #include EFI_PROTOCOL_DEFINITION(UgaDraw) 98 99 // 100 // EFI 1.10 GUIDs 101 // 102 #include EFI_GUID_DEFINITION(Acpi) 103 #include EFI_GUID_DEFINITION(DebugImageInfoTable) 104 #include EFI_GUID_DEFINITION(GlobalVariable) 105 #include EFI_GUID_DEFINITION(Gpt) 106 #include EFI_GUID_DEFINITION(PcAnsi) 107 #include EFI_GUID_DEFINITION(SmBios) 108 #include EFI_GUID_DEFINITION(SalSystemTable) 109 110 111 #if (EFI_SPECIFICATION_VERSION >= 0x00020000) 112 // 113 // UEFI 2.0 Protocols and GUIDs 114 // 115 // check here: currently not implementated 116 //#include EFI_PROTOCOL_DEFINITION(AuthenticationInfo) 117 #include EFI_PROTOCOL_DEFINITION(DevicePathUtilities) 118 #include EFI_PROTOCOL_DEFINITION(DevicePathToText) 119 #include EFI_PROTOCOL_DEFINITION(DevicePathFromText) 120 #include EFI_PROTOCOL_DEFINITION(GraphicsOutput) 121 #include EFI_PROTOCOL_DEFINITION(EdidDiscovered) 122 #include EFI_PROTOCOL_DEFINITION(EdidActive) 123 #include EFI_PROTOCOL_DEFINITION(EdidOverride) 124 #include EFI_PROTOCOL_DEFINITION(ScsiIo) 125 #include EFI_PROTOCOL_DEFINITION(ScsiPassThruExt) 126 #include EFI_PROTOCOL_DEFINITION(IScsiInitiatorName) 127 #include EFI_PROTOCOL_DEFINITION(UsbHostController) 128 #include EFI_PROTOCOL_DEFINITION(TapeIo) 129 #include EFI_PROTOCOL_DEFINITION(ManagedNetwork) 130 #include EFI_PROTOCOL_DEFINITION(Arp) 131 #include EFI_PROTOCOL_DEFINITION(Dhcp4) 132 #include EFI_PROTOCOL_DEFINITION(Ip4) 133 #include EFI_PROTOCOL_DEFINITION(Ip4Config) 134 #include EFI_PROTOCOL_DEFINITION(Tcp4) 135 #include EFI_PROTOCOL_DEFINITION(Udp4) 136 #include EFI_PROTOCOL_DEFINITION(Mtftp4) 137 #include EFI_PROTOCOL_DEFINITION(ServiceBinding) 138 #include EFI_PROTOCOL_DEFINITION(Hash) 139 #include EFI_GUID_DEFINITION(EventGroup) 140 //#include <Guid/WinCertificateUefi.h> 141 #endif 142 143 #if (TIANO_RELEASE_VERSION > 0x00080005) 144 // 145 // Need due to EDK Tiano contamination of UEFI enumes. 146 // There is a UEFI library that does things the new way and the old way 147 // This is why these definitions are need in Uefi.h 148 // 149 #include EFI_GUID_DEFINITION (EventLegacyBios) 150 #include EFI_GUID_DEFINITION (FrameworkDevicePath) 151 #endif 152 153 // 154 // EDK Library headers used by EdkII Glue Libraries 155 // 156 #include "TianoSpecTypes.h" 157 #include "TianoSpecApi.h" 158 #include "TianoSpecDevicePath.h" 159 #include "EfiDriverLib.h" 160 161 #include "Common/EdkIIGlueDefinitionChangesBase.h" 162 163 // 164 // EdkII Glue Library Class headers 165 // 166 167 #include "EdkIIGlueBase.h" 168 #include "Library/EdkIIGlueUefiDecompressLib.h" 169 #include "Library/EdkIIGlueDevicePathLib.h" 170 #include "Library/EdkIIGlueUefiBootServicesTableLib.h" 171 #include "Library/EdkIIGlueUefiDriverEntryPoint.h" 172 #include "Library/EdkIIGlueUefiDriverModelLib.h" 173 #include "Library/EdkIIGlueUefiLib.h" 174 #include "Library/EdkIIGlueUefiRuntimeServicesTableLib.h" 175 176 extern UINT8 _gEdkIIGlueDriverModelProtocolSelection; 177 178 #endif 179