1 /*++
2 
3 Copyright (c) 2004 - 2010, 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   EdkIIGlueUefiDriverModelLib.h
16 
17 Abstract:
18 
19   Public header file for UEFI Driver Model Lib
20 
21 --*/
22 
23 #ifndef __EDKII_GLUE_UEFI_DRIVER_MODEL_LIB_H__
24 #define __EDKII_GLUE_UEFI_DRIVER_MODEL_LIB_H__
25 
26 //
27 // Declare bitmask values for the protocols that are enabled
28 //
29 #define UEFI_DRIVER_MODEL_LIBRARY_COMPONENT_NAME_PROTOCOL_ENABLED        0x01
30 #define UEFI_DRIVER_MODEL_LIBRARY_DRIVER_DIAGNOSTICS_PROTOCOL_ENABLED    0x02
31 #define UEFI_DRIVER_MODEL_LIBRARY_DRIVER_CONFIGURATION_PROTOCOL_ENABLED  0x04
32 
33 //
34 // Data structure that declares pointers to the Driver Model
35 // Protocols.
36 //
37 typedef struct {
38   const EFI_DRIVER_BINDING_PROTOCOL         *DriverBinding;
39   const EFI_COMPONENT_NAME_PROTOCOL         *ComponentName;
40   const EFI_DRIVER_CONFIGURATION_PROTOCOL   *DriverConfiguration;
41   const EFI_DRIVER_DIAGNOSTICS_PROTOCOL     *DriverDiagnostics;
42   const EFI_COMPONENT_NAME2_PROTOCOL        *ComponentName2;
43   const EFI_DRIVER_CONFIGURATION2_PROTOCOL  *DriverConfiguration2;
44   const EFI_DRIVER_DIAGNOSTICS2_PROTOCOL    *DriverDiagnostics2;
45 } EFI_DRIVER_MODEL_PROTOCOL_LIST;
46 
47 //
48 // UEFI Driver Model Protocols arrary
49 //
50 extern const EFI_DRIVER_MODEL_PROTOCOL_LIST  _gDriverModelProtocolList[];
51 
52 #endif
53