TianoCore EDK2 master
|
#include "Mtftp6Impl.h"
Go to the source code of this file.
Variables | |
EFI_DRIVER_BINDING_PROTOCOL | gMtftp6DriverBinding |
EFI_SERVICE_BINDING_PROTOCOL | gMtftp6ServiceBindingTemplate |
Driver Binding functions and Service Binding functions implementation for Mtftp6 Driver.
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Mtftp6Driver.c.
EFI_STATUS Mtftp6CreateInstance | ( | IN MTFTP6_SERVICE * | Service, |
OUT MTFTP6_INSTANCE ** | Instance | ||
) |
Create the MTFTP6 instance and initialize it.
[in] | Service | The pointer to the MTFTP6 service. |
[out] | Instance | The pointer to the MTFTP6 instance. |
EFI_OUT_OF_RESOURCES | Failed to allocate resources. |
EFI_SUCCESS | The MTFTP6 instance is created. |
Definition at line 195 of file Mtftp6Driver.c.
EFI_STATUS Mtftp6CreateService | ( | IN EFI_HANDLE | Controller, |
IN EFI_HANDLE | Image, | ||
OUT MTFTP6_SERVICE ** | Service | ||
) |
Create then initialize a MTFTP6 service binding instance.
[in] | Controller | The controller to install the MTFTP6 service binding on. |
[in] | Image | The driver binding image of the MTFTP6 driver. |
[out] | Service | The variable to receive the created service binding instance. |
EFI_OUT_OF_RESOURCES | Failed to allocate resources to create the instance |
EFI_DEVICE_ERROR | Failed to create a NULL UDP port to keep connection with UDP. |
EFI_SUCCESS | The service instance is created for the controller. |
Definition at line 71 of file Mtftp6Driver.c.
EFI_STATUS EFIAPI Mtftp6DestroyChildEntryInHandleBuffer | ( | IN LIST_ENTRY * | Entry, |
IN VOID * | Context | ||
) |
Callback function which provided by user to remove one node in NetDestroyLinkList process.
[in] | Entry | The entry to be removed. |
[in] | Context | Pointer to the callback context corresponds to the Context in NetDestroyLinkList. |
EFI_SUCCESS | The entry has been removed successfully. |
Others | Fail to remove the entry. |
Definition at line 239 of file Mtftp6Driver.c.
VOID Mtftp6DestroyInstance | ( | IN MTFTP6_INSTANCE * | Instance | ) |
Destroy the MTFTP6 instance and recycle the resources.
[in] | Instance | The pointer to the MTFTP6 instance. |
Definition at line 147 of file Mtftp6Driver.c.
VOID Mtftp6DestroyService | ( | IN MTFTP6_SERVICE * | Service | ) |
Destroy the MTFTP6 service. The MTFTP6 service may be partly initialized, or partly destroyed. If a resource is destroyed, it is marked as such in case the destroy failed and is called again later.
[in] | Service | The MTFTP6 service to be destroyed. |
Definition at line 36 of file Mtftp6Driver.c.
EFI_STATUS EFIAPI Mtftp6DriverBindingStart | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | Controller, | ||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | ||
) |
Start this driver on Controller. This service is called by the EFI boot service ConnectController(). In order to make drivers as small as possible, there are calling restrictions for this service. ConnectController() must follow these calling restrictions. If any other agent wishes to call Start() it must also follow these calling restrictions.
[in] | This | Protocol instance pointer. |
[in] | Controller | Handle of device to bind driver to. |
[in] | RemainingDevicePath | Optional parameter use to pick a specific child device to start. |
EFI_SUCCESS | This driver is added to Controller. |
EFI_ALREADY_STARTED | This driver is already running on Controller. |
Others | This driver does not support this device. |
Definition at line 351 of file Mtftp6Driver.c.
EFI_STATUS EFIAPI Mtftp6DriverBindingStop | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | Controller, | ||
IN UINTN | NumberOfChildren, | ||
IN EFI_HANDLE * | ChildHandleBuffer | ||
) |
Stop this driver on Controller. This service is called by the EFI boot service DisconnectController(). In order to make drivers as small as possible, there are calling restrictions for this service. DisconnectController() must follow these calling restrictions. If any other agent wishes to call Stop(), it must also follow these calling restrictions.
[in] | This | Protocol instance pointer. |
[in] | Controller | Handle of device to stop driver on |
[in] | NumberOfChildren | Number of Handles in ChildHandleBuffer. If number of children is zero, stop the entire bus driver. |
[in] | ChildHandleBuffer | List of Child Handles to Stop. |
EFI_SUCCESS | This driver is removed Controller. |
EFI_DEVICE_ERROR | An unexpected error. |
Others | This driver was not removed from this device. |
Definition at line 447 of file Mtftp6Driver.c.
EFI_STATUS EFIAPI Mtftp6DriverBindingSupported | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | Controller, | ||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | ||
) |
Test to see if this driver supports Controller. This service is called by the EFI boot service ConnectController(). In order to make drivers as small as possible, there are calling restrictions for this service. ConnectController() must follow these calling restrictions. If any other agent wishes to call Supported(), it must also follow these calling restrictions.
[in] | This | Protocol instance pointer. |
[in] | Controller | Handle of device to test |
[in] | RemainingDevicePath | Optional parameter use to pick a specific child. device to start. |
EFI_SUCCESS | This driver supports this device. |
Others | This driver does not support this device. |
Definition at line 315 of file Mtftp6Driver.c.
EFI_STATUS EFIAPI Mtftp6DriverEntryPoint | ( | IN EFI_HANDLE | ImageHandle, |
IN EFI_SYSTEM_TABLE * | SystemTable | ||
) |
This is the declaration of an EFI image entry point. This entry point is the same for UEFI Applications, UEFI OS Loaders, and UEFI Drivers, including both device drivers and bus drivers.
Entry point of the MTFTP6 driver to install various protocols.
[in] | ImageHandle | The firmware allocated handle for the UEFI image. |
[in] | SystemTable | The pointer to the EFI System Table. |
EFI_SUCCESS | The operation completed successfully. |
EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources. |
Definition at line 281 of file Mtftp6Driver.c.
EFI_STATUS EFIAPI Mtftp6ServiceBindingCreateChild | ( | IN EFI_SERVICE_BINDING_PROTOCOL * | This, |
IN OUT EFI_HANDLE * | ChildHandle | ||
) |
Creates a child handle and installs a protocol.
The CreateChild() function installs a protocol on ChildHandle. If ChildHandle is a pointer to NULL, then a new handle is created and returned in ChildHandle. If ChildHandle is not a pointer to NULL, then the protocol installs on the existing ChildHandle.
[in] | This | Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance. |
[in,out] | ChildHandle | Pointer to the handle of the child to create. If it is NULL, then a new handle is created. If it is a pointer to an existing UEFI handle, then the protocol is added to the existing UEFI handle. |
EFI_SUCCESS | The protocol was added to ChildHandle. |
EFI_INVALID_PARAMETER | ChildHandle is NULL. |
Others | The child handle was not created. |
Definition at line 537 of file Mtftp6Driver.c.
EFI_STATUS EFIAPI Mtftp6ServiceBindingDestroyChild | ( | IN EFI_SERVICE_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | ChildHandle | ||
) |
Destroys a child handle with a protocol installed on it.
The DestroyChild() function does the opposite of CreateChild(). It removes a protocol that was installed by CreateChild() from ChildHandle. If the removed protocol is the last protocol on ChildHandle, then ChildHandle is destroyed.
[in] | This | Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance. |
[in] | ChildHandle | Handle of the child to destroy. |
EFI_SUCCESS | The protocol was removed from ChildHandle. |
EFI_UNSUPPORTED | ChildHandle does not support the protocol that is being removed. |
EFI_INVALID_PARAMETER | Child handle is NULL. |
Others | The child handle was not destroyed |
Definition at line 636 of file Mtftp6Driver.c.
EFI_DRIVER_BINDING_PROTOCOL gMtftp6DriverBinding |
Definition at line 13 of file Mtftp6Driver.c.
EFI_SERVICE_BINDING_PROTOCOL gMtftp6ServiceBindingTemplate |
Definition at line 22 of file Mtftp6Driver.c.