PxeBcDriver.h 7.1 KB

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