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