blob: f22f0f6bb3c6890bb5ba87c284d2f75d32fd2af8 [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/** @file
2 Driver Binding functions declaration for UefiPxeBc Driver.
3
4 Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
5
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php.
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14**/
15
16#ifndef __EFI_PXEBC_DRIVER_H__
17#define __EFI_PXEBC_DRIVER_H__
18
19extern EFI_COMPONENT_NAME_PROTOCOL gPxeBcComponentName;
20extern EFI_COMPONENT_NAME2_PROTOCOL gPxeBcComponentName2;
21
22/**
23 Test to see if this driver supports ControllerHandle. This service
24 is called by the EFI boot service ConnectController(). In
25 order to make drivers as small as possible, there are a few calling
26 restrictions for this service. ConnectController() must
27 follow these calling restrictions. If any other agent wishes to call
28 Supported() it must also follow these calling restrictions.
29
30 @param[in] This The pointer to the driver binding protocol.
31 @param[in] ControllerHandle The handle of device to be tested.
32 @param[in] RemainingDevicePath Optional parameter use to pick a specific child
33 device to be started.
34
35 @retval EFI_SUCCESS This driver supports this device.
36 @retval EFI_UNSUPPORTED This driver does not support this device.
37
38**/
39EFI_STATUS
40EFIAPI
41PxeBcIp4DriverBindingSupported (
42 IN EFI_DRIVER_BINDING_PROTOCOL *This,
43 IN EFI_HANDLE ControllerHandle,
44 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
45 );
46
47/**
48 Start this driver on ControllerHandle. This service is called by the
49 EFI boot service ConnectController(). In order to make
50 drivers as small as possible, there are a few calling restrictions for
51 this service. ConnectController() must follow these
52 calling restrictions. If any other agent wishes to call Start() it
53 must also follow these calling restrictions.
54
55 @param[in] This The pointer to the driver binding protocol.
56 @param[in] ControllerHandle The handle of device to be started.
57 @param[in] RemainingDevicePath Optional parameter used to pick a specific child
58 device to be started.
59
60 @retval EFI_SUCCESS This driver is installed to ControllerHandle.
61 @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle.
62 @retval other This driver does not support this device.
63
64**/
65EFI_STATUS
66EFIAPI
67PxeBcIp4DriverBindingStart (
68 IN EFI_DRIVER_BINDING_PROTOCOL *This,
69 IN EFI_HANDLE ControllerHandle,
70 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
71 );
72
73
74/**
75 Stop this driver on ControllerHandle. This service is called by the
76 EFI boot service DisconnectController(). In order to
77 make drivers as small as possible, there are a few calling
78 restrictions for this service. DisconnectController()
79 must follow these calling restrictions. If any other agent wishes
80 to call Stop() it must also follow these calling restrictions.
81
82 @param[in] This Protocol instance pointer.
83 @param[in] ControllerHandle Handle of device to stop driver on
84 @param[in] NumberOfChildren Number of Handles in ChildHandleBuffer. If number of
85 children is zero stop the entire bus driver.
86 @param[in] ChildHandleBuffer List of Child Handles to Stop.
87
88 @retval EFI_SUCCESS This driver is removed ControllerHandle
89 @retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
90 @retval Others This driver was not removed from this device.
91
92**/
93EFI_STATUS
94EFIAPI
95PxeBcIp4DriverBindingStop (
96 IN EFI_DRIVER_BINDING_PROTOCOL *This,
97 IN EFI_HANDLE ControllerHandle,
98 IN UINTN NumberOfChildren,
99 IN EFI_HANDLE *ChildHandleBuffer
100 );
101
102/**
103 Test to see if this driver supports ControllerHandle. This service
104 is called by the EFI boot service ConnectController(). In
105 order to make drivers as small as possible, there are a few calling
106 restrictions for this service. ConnectController() must
107 follow these calling restrictions. If any other agent wishes to call
108 Supported() it must also follow these calling restrictions.
109
110 @param[in] This The pointer to the driver binding protocol.
111 @param[in] ControllerHandle The handle of device to be tested.
112 @param[in] RemainingDevicePath Optional parameter use to pick a specific child
113 device to be started.
114
115 @retval EFI_SUCCESS This driver supports this device.
116 @retval EFI_UNSUPPORTED This driver does not support this device.
117
118**/
119EFI_STATUS
120EFIAPI
121PxeBcIp6DriverBindingSupported (
122 IN EFI_DRIVER_BINDING_PROTOCOL *This,
123 IN EFI_HANDLE ControllerHandle,
124 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
125 );
126
127/**
128 Start this driver on ControllerHandle. This service is called by the
129 EFI boot service ConnectController(). In order to make
130 drivers as small as possible, there are a few calling restrictions for
131 this service. ConnectController() must follow these
132 calling restrictions. If any other agent wishes to call Start() it
133 must also follow these calling restrictions.
134
135 @param[in] This The pointer to the driver binding protocol.
136 @param[in] ControllerHandle The handle of device to be started.
137 @param[in] RemainingDevicePath Optional parameter used to pick a specific child
138 device to be started.
139
140 @retval EFI_SUCCESS This driver is installed to ControllerHandle.
141 @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle.
142 @retval other This driver does not support this device.
143
144**/
145EFI_STATUS
146EFIAPI
147PxeBcIp6DriverBindingStart (
148 IN EFI_DRIVER_BINDING_PROTOCOL *This,
149 IN EFI_HANDLE ControllerHandle,
150 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
151 );
152
153/**
154 Stop this driver on ControllerHandle. This service is called by the
155 EFI boot service DisconnectController(). In order to
156 make drivers as small as possible, there are a few calling
157 restrictions for this service. DisconnectController()
158 must follow these calling restrictions. If any other agent wishes
159 to call Stop() it must also follow these calling restrictions.
160
161 @param[in] This Protocol instance pointer.
162 @param[in] ControllerHandle Handle of device to stop driver on
163 @param[in] NumberOfChildren Number of Handles in ChildHandleBuffer. If number of
164 children is zero stop the entire bus driver.
165 @param[in] ChildHandleBuffer List of Child Handles to Stop.
166
167 @retval EFI_SUCCESS This driver is removed ControllerHandle
168 @retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
169 @retval Others This driver was not removed from this device.
170
171**/
172EFI_STATUS
173EFIAPI
174PxeBcIp6DriverBindingStop (
175 IN EFI_DRIVER_BINDING_PROTOCOL *This,
176 IN EFI_HANDLE ControllerHandle,
177 IN UINTN NumberOfChildren,
178 IN EFI_HANDLE *ChildHandleBuffer
179 );
180#endif
181