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