Add more comments in UefiDriverModelLib
[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 // Bitmask values for the protocols that are enabled
29 //
30 extern const UINT8 _gDriverModelProtocolBitmask;
31
32 //
33 // Data structure that declares pointers to the Driver Model
34 // Protocols.
35 //
36 typedef struct {
37 const EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;
38 const EFI_COMPONENT_NAME_PROTOCOL *ComponentName;
39 const EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration;
40 const EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics;
41 } EFI_DRIVER_MODEL_PROTOCOL_LIST;
42
43 //
44 // The number of UEFI Driver Model Protocols that the module
45 // produces. Typically drivers only produce one.
46 // When UEFI drivers are merged, they will produce several.
47 //
48 extern const UINTN _gDriverModelProtocolListEntries;
49
50 //
51 // UEFI Driver Model Protocols arrary
52 //
53 extern const EFI_DRIVER_MODEL_PROTOCOL_LIST _gDriverModelProtocolList[];
54
55 #endif