Functions | |
VOID | Mtftp6DestroyService (IN MTFTP6_SERVICE *Service) |
EFI_STATUS | Mtftp6CreateService (IN EFI_HANDLE Controller, IN EFI_HANDLE Image, OUT MTFTP6_SERVICE **Service) |
VOID | Mtftp6DestroyInstance (IN MTFTP6_INSTANCE *Instance) |
EFI_STATUS | Mtftp6CreateInstance (IN MTFTP6_SERVICE *Service, OUT MTFTP6_INSTANCE **Instance) |
EFI_STATUS EFIAPI | Mtftp6DestroyChildEntryInHandleBuffer (IN LIST_ENTRY *Entry, IN VOID *Context) |
EFI_STATUS EFIAPI | Mtftp6DriverEntryPoint (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable) |
EFI_STATUS EFIAPI | Mtftp6DriverBindingSupported (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath) |
EFI_STATUS EFIAPI | Mtftp6DriverBindingStart (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath) |
EFI_STATUS EFIAPI | Mtftp6DriverBindingStop (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer) |
EFI_STATUS EFIAPI | Mtftp6ServiceBindingCreateChild (IN EFI_SERVICE_BINDING_PROTOCOL *This, IN OUT EFI_HANDLE *ChildHandle) |
EFI_STATUS EFIAPI | Mtftp6ServiceBindingDestroyChild (IN EFI_SERVICE_BINDING_PROTOCOL *This, IN EFI_HANDLE ChildHandle) |
Variables | |
EFI_DRIVER_BINDING_PROTOCOL | gMtftp6DriverBinding |
EFI_SERVICE_BINDING_PROTOCOL | gMtftp6ServiceBindingTemplate |
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
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. |
References _MTFTP6_INSTANCE::BlkList, gMtftp6ProtocolTemplate, _MTFTP6_INSTANCE::InDestroy, _MTFTP6_INSTANCE::Link, _MTFTP6_INSTANCE::Mtftp6, MTFTP6_INSTANCE_SIGNATURE, _MTFTP6_INSTANCE::Service, and _MTFTP6_INSTANCE::Signature.
Referenced by Mtftp6ServiceBindingCreateChild().
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. |
References _MTFTP6_SERVICE::Children, _MTFTP6_SERVICE::ChildrenNum, _MTFTP6_SERVICE::Controller, _MTFTP6_SERVICE::DummyUdpIo, gMtftp6ServiceBindingTemplate, _MTFTP6_SERVICE::Image, MTFTP6_SERVICE_SIGNATURE, Mtftp6ConfigDummyUdpIo(), Mtftp6OnTimerTick(), _MTFTP6_SERVICE::ServiceBinding, _MTFTP6_SERVICE::Signature, and _MTFTP6_SERVICE::Timer.
Referenced by Mtftp6DriverBindingStart().
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. |
References _MTFTP6_INSTANCE::Handle, and MTFTP6_INSTANCE_SIGNATURE.
Referenced by Mtftp6DriverBindingStop().
VOID Mtftp6DestroyInstance | ( | IN MTFTP6_INSTANCE * | Instance | ) |
Destroy the MTFTP6 instance and recycle the resources.
[in] | Instance | The pointer to the MTFTP6 instance. |
Referenced by Mtftp6ServiceBindingCreateChild(), and Mtftp6ServiceBindingDestroyChild().
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. |
Referenced by Mtftp6DriverBindingStart(), and Mtftp6DriverBindingStop().
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. |
References Mtftp6CreateService(), Mtftp6DestroyService(), _MTFTP6_SERVICE::ServiceBinding, and _MTFTP6_SERVICE::Timer.
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. |
References MTFTP6_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT::ChildHandleBuffer, _MTFTP6_SERVICE::Children, MTFTP6_SERVICE_FROM_THIS, Mtftp6DestroyChildEntryInHandleBuffer(), Mtftp6DestroyService(), MTFTP6_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT::NumberOfChildren, and MTFTP6_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT::ServiceBinding.
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. |
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. |
References gMtftp6ComponentName, gMtftp6ComponentName2, and gMtftp6DriverBinding.
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_SUCCES | The protocol was added to ChildHandle. | |
EFI_INVALID_PARAMETER | ChildHandle is NULL. | |
Others | The child handle was not created. |
References _MTFTP6_SERVICE::Children, _MTFTP6_SERVICE::ChildrenNum, _MTFTP6_SERVICE::DummyUdpIo, gMtftp6DriverBinding, _MTFTP6_INSTANCE::Handle, _MTFTP6_INSTANCE::Link, _MTFTP6_INSTANCE::Mtftp6, MTFTP6_SERVICE_FROM_THIS, Mtftp6CreateInstance(), and Mtftp6DestroyInstance().
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_SUCCES | 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 |
References _MTFTP6_SERVICE::ChildrenNum, _MTFTP6_SERVICE::DummyUdpIo, gMtftp6DriverBinding, _MTFTP6_INSTANCE::Handle, _MTFTP6_INSTANCE::InDestroy, _MTFTP6_INSTANCE::Link, _MTFTP6_INSTANCE::McastUdpIo, MTFTP6_INSTANCE_FROM_THIS, MTFTP6_SERVICE_FROM_THIS, Mtftp6DestroyInstance(), _MTFTP6_INSTANCE::Service, and _MTFTP6_INSTANCE::UdpIo.
EFI_DRIVER_BINDING_PROTOCOL gMtftp6DriverBinding |
Initial value:
{ Mtftp6DriverBindingSupported, Mtftp6DriverBindingStart, Mtftp6DriverBindingStop, 0xa, NULL, NULL }
Referenced by Mtftp6DriverEntryPoint(), Mtftp6ServiceBindingCreateChild(), and Mtftp6ServiceBindingDestroyChild().
EFI_SERVICE_BINDING_PROTOCOL gMtftp6ServiceBindingTemplate |
Initial value:
Referenced by Mtftp6CreateService().