5d10e7532fe7416c22555ec662f1084c26028a71
[mirror_edk2.git] / MdePkg / Include / Library / UefiDriverModelLib.h
1 /** @file
2 UEFI Driver Model Library Services
3
4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 Module Name: UefiDriverModelLib.h
14
15 **/
16
17 #ifndef __UEFI_DRIVER_MODEL_LIB_H__
18 #define __UEFI_DRIVER_MODEL_LIB_H__
19
20 //
21 // Declare bitmask values for the protocols that are enabled
22 //
23 #define UEFI_DRIVER_MODEL_LIBRARY_COMPONENT_NAME_PROTOCOL_ENABLED 0x01
24 #define UEFI_DRIVER_MODEL_LIBRARY_DRIVER_DIAGNOSTICS_PROTOCOL_ENABLED 0x02
25 #define UEFI_DRIVER_MODEL_LIBRARY_DRIVER_CONFIGURATION_PROTOCOL_ENABLED 0x04
26
27 //
28 //
29 //
30 extern const UINT8 _gDriverModelProtocolBitmask;
31
32 //
33 //
34 //
35 typedef struct {
36 const EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;
37 const EFI_COMPONENT_NAME_PROTOCOL *ComponentName;
38 const EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration;
39 const EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics;
40 } EFI_DRIVER_MODEL_PROTOCOL_LIST;
41
42 //
43 //
44 //
45 extern const UINTN _gDriverModelProtocolListEntries;
46 extern const EFI_DRIVER_MODEL_PROTOCOL_LIST _gDriverModelProtocolList[];
47
48 #endif