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 /** 69 Stop this driver on ControllerHandle. This service is called by the 70 EFI boot service DisconnectController(). In order to 71 make drivers as small as possible, there are a few calling 72 restrictions for this service. DisconnectController() 73 must follow these calling restrictions. If any other agent wishes 74 to call Stop() it must also follow these calling restrictions. 75 76 @param[in] This Protocol instance pointer. 77 @param[in] ControllerHandle Handle of device to stop driver on 78 @param[in] NumberOfChildren Number of Handles in ChildHandleBuffer. If number of 79 children is zero stop the entire bus driver. 80 @param[in] ChildHandleBuffer List of Child Handles to Stop. 81 82 @retval EFI_SUCCESS This driver is removed ControllerHandle 83 @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. 84 @retval Others This driver was not removed from this device. 85 86 **/ 87 EFI_STATUS 88 EFIAPI 89 PxeBcIp4DriverBindingStop ( 90 IN EFI_DRIVER_BINDING_PROTOCOL *This, 91 IN EFI_HANDLE ControllerHandle, 92 IN UINTN NumberOfChildren, 93 IN EFI_HANDLE *ChildHandleBuffer 94 ); 95 96 /** 97 Test to see if this driver supports ControllerHandle. This service 98 is called by the EFI boot service ConnectController(). In 99 order to make drivers as small as possible, there are a few calling 100 restrictions for this service. ConnectController() must 101 follow these calling restrictions. If any other agent wishes to call 102 Supported() it must also follow these calling restrictions. 103 104 @param[in] This The pointer to the driver binding protocol. 105 @param[in] ControllerHandle The handle of device to be tested. 106 @param[in] RemainingDevicePath Optional parameter use to pick a specific child 107 device to be started. 108 109 @retval EFI_SUCCESS This driver supports this device. 110 @retval EFI_UNSUPPORTED This driver does not support this device. 111 112 **/ 113 EFI_STATUS 114 EFIAPI 115 PxeBcIp6DriverBindingSupported ( 116 IN EFI_DRIVER_BINDING_PROTOCOL *This, 117 IN EFI_HANDLE ControllerHandle, 118 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL 119 ); 120 121 /** 122 Start this driver on ControllerHandle. This service is called by the 123 EFI boot service ConnectController(). In order to make 124 drivers as small as possible, there are a few calling restrictions for 125 this service. ConnectController() must follow these 126 calling restrictions. If any other agent wishes to call Start() it 127 must also follow these calling restrictions. 128 129 @param[in] This The pointer to the driver binding protocol. 130 @param[in] ControllerHandle The handle of device to be started. 131 @param[in] RemainingDevicePath Optional parameter used to pick a specific child 132 device to be started. 133 134 @retval EFI_SUCCESS This driver is installed to ControllerHandle. 135 @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle. 136 @retval other This driver does not support this device. 137 138 **/ 139 EFI_STATUS 140 EFIAPI 141 PxeBcIp6DriverBindingStart ( 142 IN EFI_DRIVER_BINDING_PROTOCOL *This, 143 IN EFI_HANDLE ControllerHandle, 144 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL 145 ); 146 147 /** 148 Stop this driver on ControllerHandle. This service is called by the 149 EFI boot service DisconnectController(). In order to 150 make drivers as small as possible, there are a few calling 151 restrictions for this service. DisconnectController() 152 must follow these calling restrictions. If any other agent wishes 153 to call Stop() it must also follow these calling restrictions. 154 155 @param[in] This Protocol instance pointer. 156 @param[in] ControllerHandle Handle of device to stop driver on 157 @param[in] NumberOfChildren Number of Handles in ChildHandleBuffer. If number of 158 children is zero stop the entire bus driver. 159 @param[in] ChildHandleBuffer List of Child Handles to Stop. 160 161 @retval EFI_SUCCESS This driver is removed ControllerHandle 162 @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. 163 @retval Others This driver was not removed from this device. 164 165 **/ 166 EFI_STATUS 167 EFIAPI 168 PxeBcIp6DriverBindingStop ( 169 IN EFI_DRIVER_BINDING_PROTOCOL *This, 170 IN EFI_HANDLE ControllerHandle, 171 IN UINTN NumberOfChildren, 172 IN EFI_HANDLE *ChildHandleBuffer 173 ); 174 #endif 175 176