]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Protocol/DriverFamilyOverride.h
MdePkg: Apply uncrustify changes
[mirror_edk2.git] / MdePkg / Include / Protocol / DriverFamilyOverride.h
CommitLineData
d02d144f 1/** @file\r
4ca9b6c4 2 UEFI Driver Family Protocol\r
d02d144f 3\r
9095d37b 4Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
9344f092 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
d02d144f 6\r
7**/\r
8\r
9#ifndef __EFI_DRIVER_FAMILY_OVERRIDE_H__\r
10#define __EFI_DRIVER_FAMILY_OVERRIDE_H__\r
11\r
12#define EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL_GUID \\r
13 { \\r
14 0xb1ee129e, 0xda36, 0x4181, { 0x91, 0xf8, 0x4, 0xa4, 0x92, 0x37, 0x66, 0xa7 } \\r
15 }\r
9095d37b 16\r
2f88bd3a 17typedef struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL;\r
d02d144f 18\r
19//\r
20// Prototypes for the Driver Family Override Protocol\r
21//\r
9095d37b 22//\r
2f88bd3a 23\r
9095d37b 24/**\r
d02d144f 25 This function returns the version value associated with the driver specified by This.\r
26\r
27 Retrieves the version of the driver that is used by the EFI Boot Service ConnectController()\r
28 to sort the set of Driver Binding Protocols in order from highest priority to lowest priority.\r
29 For drivers that support the Driver Family Override Protocol, those drivers are sorted so that\r
630b4187 30 the drivers with higher values returned by GetVersion() are higher priority than drivers that\r
d02d144f 31 return lower values from GetVersion().\r
32\r
9095d37b
LG
33 @param This A pointer to the EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL instance.\r
34\r
35 @return The version value associated with the driver specified by This.\r
36\r
d02d144f 37**/\r
38typedef\r
39UINT32\r
8b13229b 40(EFIAPI *EFI_DRIVER_FAMILY_OVERRIDE_GET_VERSION)(\r
d02d144f 41 IN EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL *This\r
42 );\r
43\r
44717a39 44///\r
9095d37b
LG
45/// When installed, the Driver Family Override Protocol produces a GUID that represents\r
46/// a family of drivers. Drivers with the same GUID are members of the same family\r
47/// When drivers are connected to controllers, drivers with a higher revision value\r
48/// in the same driver family are connected with a higher priority than drivers\r
44717a39 49/// with a lower revision value in the same driver family. The EFI Boot Service\r
9095d37b 50/// Connect Controller uses five rules to build a prioritized list of drivers when\r
44717a39 51/// a request is made to connect a driver to a controller. The Driver Family Protocol\r
9095d37b
LG
52/// rule is between the Platform Specific Driver Override Protocol and above the\r
53/// Bus Specific Driver Override Protocol.\r
44717a39 54///\r
d02d144f 55struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL {\r
2f88bd3a 56 EFI_DRIVER_FAMILY_OVERRIDE_GET_VERSION GetVersion;\r
d02d144f 57};\r
58\r
2f88bd3a 59extern EFI_GUID gEfiDriverFamilyOverrideProtocolGuid;\r
d02d144f 60\r
61#endif\r