1 /** @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 19 extern EFI_COMPONENT_NAME_PROTOCOL gPxeBcComponentName; 20 extern 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 **/ 39 EFI_STATUS 40 EFIAPI 41 PxeBcIp4DriverBindingSupported ( 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 **/ 65 EFI_STATUS 66 EFIAPI 67 PxeBcIp4DriverBindingStart ( 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 **/ 93 EFI_STATUS 94 EFIAPI 95 PxeBcIp4DriverBindingStop ( 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 **/ 119 EFI_STATUS 120 EFIAPI 121 PxeBcIp6DriverBindingSupported ( 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 **/ 145 EFI_STATUS 146 EFIAPI 147 PxeBcIp6DriverBindingStart ( 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 **/ 172 EFI_STATUS 173 EFIAPI 174 PxeBcIp6DriverBindingStop ( 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 182