123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- /** @file
- Mtftp drivers function header.
- Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #ifndef __EFI_MTFTP4_DRIVER_H__
- #define __EFI_MTFTP4_DRIVER_H__
- #include <Uefi.h>
- #include <Protocol/ServiceBinding.h>
- #include <Library/NetLib.h>
- #include <Library/UefiLib.h>
- #include <Library/UefiDriverEntryPoint.h>
- extern EFI_COMPONENT_NAME_PROTOCOL gMtftp4ComponentName;
- extern EFI_COMPONENT_NAME2_PROTOCOL gMtftp4ComponentName2;
- extern EFI_DRIVER_BINDING_PROTOCOL gMtftp4DriverBinding;
- extern EFI_UNICODE_STRING_TABLE *gMtftp4ControllerNameTable;
- /**
- Test whether MTFTP driver support this controller.
- @param This The MTFTP driver binding instance
- @param Controller The controller to test
- @param RemainingDevicePath The remaining device path
- @retval EFI_SUCCESS The controller has UDP service binding protocol
- installed, MTFTP can support it.
- @retval Others MTFTP can't support the controller.
- **/
- EFI_STATUS
- EFIAPI
- Mtftp4DriverBindingSupported (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE Controller,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
- );
- /**
- Start the MTFTP driver on this controller.
- MTFTP driver will install a MTFTP SERVICE BINDING protocol on the supported
- controller, which can be used to create/destroy MTFTP children.
- @param This The MTFTP driver binding protocol.
- @param Controller The controller to manage.
- @param RemainingDevicePath Remaining device path.
- @retval EFI_ALREADY_STARTED The MTFTP service binding protocol has been
- started on the controller.
- @retval EFI_SUCCESS The MTFTP service binding is installed on the
- controller.
- **/
- EFI_STATUS
- EFIAPI
- Mtftp4DriverBindingStart (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE Controller,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
- );
- /**
- Stop the MTFTP driver on controller. The controller is a UDP
- child handle.
- @param This The MTFTP driver binding protocol
- @param Controller The controller to stop
- @param NumberOfChildren The number of children
- @param ChildHandleBuffer The array of the child handle.
- @retval EFI_SUCCESS The driver is stopped on the controller.
- @retval EFI_DEVICE_ERROR Failed to stop the driver on the controller.
- **/
- EFI_STATUS
- EFIAPI
- Mtftp4DriverBindingStop (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE Controller,
- IN UINTN NumberOfChildren,
- IN EFI_HANDLE *ChildHandleBuffer
- );
- /**
- Create a MTFTP child for the service binding instance, then
- install the MTFTP protocol to the ChildHandle.
- @param This The MTFTP service binding instance.
- @param ChildHandle The Child handle to install the MTFTP protocol.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_OUT_OF_RESOURCES Failed to allocate resource for the new child.
- @retval EFI_SUCCESS The child is successfully create.
- **/
- EFI_STATUS
- EFIAPI
- Mtftp4ServiceBindingCreateChild (
- IN EFI_SERVICE_BINDING_PROTOCOL *This,
- IN EFI_HANDLE *ChildHandle
- );
- /**
- Destroy one of the service binding's child.
- @param This The service binding instance
- @param ChildHandle The child handle to destroy
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_UNSUPPORTED The child may have already been destroyed.
- @retval EFI_SUCCESS The child is destroyed and removed from the
- parent's child list.
- **/
- EFI_STATUS
- EFIAPI
- Mtftp4ServiceBindingDestroyChild (
- IN EFI_SERVICE_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ChildHandle
- );
- #endif
|