Home | History | Annotate | Download | only in Include
      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