]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Efi/Protocol/DriverBinding/DriverBinding.h
Removed extra typedefs on structures to remove error with gcc compiler.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Efi / Protocol / DriverBinding / DriverBinding.h
CommitLineData
3eb9473e 1/*++\r
2\r
3Copyright (c) 2004, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 DriverBinding.h\r
15 \r
16Abstract:\r
17\r
18 EFI ControllerHandle Driver Protocol\r
19\r
20Revision History\r
21\r
22--*/\r
23\r
24#ifndef _EFI_DRIVER_BINDING_H_\r
25#define _EFI_DRIVER_BINDING_H_\r
26\r
27//\r
28// Global ID for the ControllerHandle Driver Protocol\r
29//\r
30#define EFI_DRIVER_BINDING_PROTOCOL_GUID \\r
31 { \\r
32 0x18a031ab, 0xb443, 0x4d1a, 0xa5, 0xc0, 0xc, 0x9, 0x26, 0x1e, 0x9f, 0x71 \\r
33 }\r
34\r
35EFI_FORWARD_DECLARATION (EFI_DRIVER_BINDING_PROTOCOL);\r
36\r
37typedef\r
38EFI_STATUS\r
39(EFIAPI *EFI_DRIVER_BINDING_SUPPORTED) (\r
40 IN EFI_DRIVER_BINDING_PROTOCOL * This,\r
41 IN EFI_HANDLE ControllerHandle,\r
42 IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL\r
43 )\r
44/*++\r
45\r
46 Routine Description:\r
47 Test to see if this driver supports ControllerHandle. \r
48\r
49 Arguments:\r
50 This - Protocol instance pointer.\r
51 ControllerHandle - Handle of device to test\r
52 RemainingDevicePath - Optional parameter use to pick a specific child \r
53 device to start.\r
54\r
55 Returns:\r
56 EFI_SUCCESS - This driver supports this device\r
57 EFI_ALREADY_STARTED - This driver is already running on this device\r
58 other - This driver does not support this device\r
59\r
60--*/\r
61;\r
62\r
63typedef\r
64EFI_STATUS\r
65(EFIAPI *EFI_DRIVER_BINDING_START) (\r
66 IN EFI_DRIVER_BINDING_PROTOCOL * This,\r
67 IN EFI_HANDLE ControllerHandle,\r
68 IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL\r
69 )\r
70/*++\r
71\r
72 Routine Description:\r
73 Start this driver on ControllerHandle.\r
74\r
75 Arguments:\r
76 This - Protocol instance pointer.\r
77 ControllerHandle - Handle of device to bind driver to\r
78 RemainingDevicePath - Optional parameter use to pick a specific child \r
79 device to start.\r
80\r
81 Returns:\r
82 EFI_SUCCESS - This driver is added to ControllerHandle\r
83 EFI_ALREADY_STARTED - This driver is already running on ControllerHandle\r
84 other - This driver does not support this device\r
85\r
86--*/\r
87;\r
88\r
89typedef\r
90EFI_STATUS\r
91(EFIAPI *EFI_DRIVER_BINDING_STOP) (\r
92 IN EFI_DRIVER_BINDING_PROTOCOL * This,\r
93 IN EFI_HANDLE ControllerHandle,\r
94 IN UINTN NumberOfChildren,\r
95 IN EFI_HANDLE * ChildHandleBuffer\r
96 )\r
97/*++\r
98\r
99 Routine Description:\r
100 Stop this driver on ControllerHandle.\r
101\r
102 Arguments:\r
103 This - Protocol instance pointer.\r
104 ControllerHandle - Handle of device to stop driver on \r
105 NumberOfChildren - Number of Handles in ChildHandleBuffer. If number of \r
106 children is zero stop the entire bus driver.\r
107 ChildHandleBuffer - List of Child Handles to Stop.\r
108\r
109 Returns:\r
110 EFI_SUCCESS - This driver is removed ControllerHandle\r
111 other - This driver was not removed from this device\r
112\r
113--*/\r
114;\r
115\r
116//\r
117// Interface structure for the ControllerHandle Driver Protocol\r
118//\r
e5bce275 119struct _EFI_DRIVER_BINDING_PROTOCOL {\r
3eb9473e 120 EFI_DRIVER_BINDING_SUPPORTED Supported;\r
121 EFI_DRIVER_BINDING_START Start;\r
122 EFI_DRIVER_BINDING_STOP Stop;\r
123 UINT32 Version;\r
124 EFI_HANDLE ImageHandle;\r
125 EFI_HANDLE DriverBindingHandle;\r
e5bce275 126};\r
3eb9473e 127\r
128extern EFI_GUID gEfiDriverBindingProtocolGuid;\r
129\r
130#endif\r