Functions | |
EFI_STATUS EFIAPI | Dhcp6ConfigureUdpIo (IN UDP_IO *UdpIo, IN VOID *Context) |
VOID | Dhcp6DestroyService (IN OUT DHCP6_SERVICE *Service) |
EFI_STATUS | Dhcp6CreateService (IN EFI_HANDLE Controller, IN EFI_HANDLE ImageHandle, OUT DHCP6_SERVICE **Service) |
VOID | Dhcp6DestroyInstance (IN OUT DHCP6_INSTANCE *Instance) |
EFI_STATUS | Dhcp6CreateInstance (IN DHCP6_SERVICE *Service, OUT DHCP6_INSTANCE **Instance) |
EFI_STATUS EFIAPI | Dhcp6DestroyChildEntry (IN LIST_ENTRY *Entry, IN VOID *Context) |
EFI_STATUS EFIAPI | Dhcp6DriverEntryPoint (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable) |
EFI_STATUS EFIAPI | Dhcp6DriverBindingSupported (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath) |
EFI_STATUS EFIAPI | Dhcp6DriverBindingStart (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath) |
EFI_STATUS EFIAPI | Dhcp6DriverBindingStop (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer) |
EFI_STATUS EFIAPI | Dhcp6ServiceBindingCreateChild (IN EFI_SERVICE_BINDING_PROTOCOL *This, IN OUT EFI_HANDLE *ChildHandle) |
EFI_STATUS EFIAPI | Dhcp6ServiceBindingDestroyChild (IN EFI_SERVICE_BINDING_PROTOCOL *This, IN EFI_HANDLE ChildHandle) |
Variables | |
EFI_DRIVER_BINDING_PROTOCOL | gDhcp6DriverBinding |
EFI_SERVICE_BINDING_PROTOCOL | gDhcp6ServiceBindingTemplate |
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 EFIAPI Dhcp6ConfigureUdpIo | ( | IN UDP_IO * | UdpIo, | |
IN VOID * | Context | |||
) |
Configure the default Udp6Io to receive all the DHCP6 traffic on this network interface.
[in] | UdpIo | The pointer to Udp6Io to be configured. |
[in] | Context | The pointer to the context. |
EFI_SUCCESS | The Udp6Io is successfully configured. | |
Others | Failed to configure the Udp6Io. |
References DHCP6_PORT_CLIENT.
Referenced by Dhcp6CreateService().
EFI_STATUS Dhcp6CreateInstance | ( | IN DHCP6_SERVICE * | Service, | |
OUT DHCP6_INSTANCE ** | Instance | |||
) |
Create the Dhcp6 instance and initialize it.
[in] | Service | The pointer to the Dhcp6 service. |
[out] | Instance | The pointer to the Dhcp6 instance. |
EFI_SUCCESS | The Dhcp6 instance is created. | |
EFI_OUT_OF_RESOURCES | Failed to allocate resources. |
References _DHCP6_INSTANCE::Dhcp6, DHCP6_INSTANCE_SIGNATURE, Dhcp6OnTimerTick(), gDhcp6ProtocolTemplate, _DHCP6_INSTANCE::InDestroy, _DHCP6_INSTANCE::InfList, _DHCP6_INSTANCE::MediaPresent, _DHCP6_INSTANCE::Service, _DHCP6_INSTANCE::Signature, _DHCP6_INSTANCE::Timer, _DHCP6_INSTANCE::TxList, and _DHCP6_INSTANCE::UdpSts.
Referenced by Dhcp6ServiceBindingCreateChild().
EFI_STATUS Dhcp6CreateService | ( | IN EFI_HANDLE | Controller, | |
IN EFI_HANDLE | ImageHandle, | |||
OUT DHCP6_SERVICE ** | Service | |||
) |
Create a new Dhcp6 service for the Nic controller.
[in] | Controller | The controller to be installed DHCP6 service binding protocol. |
[in] | ImageHandle | The image handle of the Dhcp6 driver. |
[out] | Service | The return pointer of the new Dhcp6 service. |
EFI_SUCCESS | The Dhcp6 service is created successfully. | |
EFI_DEVICE_ERROR | An unexpected system or network error occurred. | |
EFI_OUT_OF_RESOURCES | Failed to allocate resource. |
References _DHCP6_SERVICE::Child, _DHCP6_SERVICE::ClientId, _DHCP6_SERVICE::Controller, DHCP6_SERVICE_SIGNATURE, Dhcp6ConfigureUdpIo(), Dhcp6GenerateClientId(), gDhcp6ServiceBindingTemplate, _DHCP6_SERVICE::Image, _DHCP6_SERVICE::Ip6Cfg, _DHCP6_SERVICE::ServiceBinding, _DHCP6_SERVICE::Signature, _DHCP6_SERVICE::Snp, _DHCP6_SERVICE::UdpIo, and _DHCP6_SERVICE::Xid.
Referenced by Dhcp6DriverBindingStart().
EFI_STATUS EFIAPI Dhcp6DestroyChildEntry | ( | 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 DHCP6_INSTANCE_SIGNATURE, and _DHCP6_INSTANCE::Handle.
Referenced by Dhcp6DriverBindingStop().
VOID Dhcp6DestroyInstance | ( | IN OUT DHCP6_INSTANCE * | Instance | ) |
Destroy the Dhcp6 instance and recycle the resources.
[in,out] | Instance | The pointer to the Dhcp6 instance. |
References DHCP6_PACKET_ALL, Dhcp6CleanupConfigData(), and Dhcp6CleanupRetry().
Referenced by Dhcp6ServiceBindingCreateChild(), and Dhcp6ServiceBindingDestroyChild().
VOID Dhcp6DestroyService | ( | IN OUT DHCP6_SERVICE * | Service | ) |
Destroy the Dhcp6 service. The Dhcp6 service may be partly initialized, or partly destroyed. If a resource is destroyed, it is marked as such in case the destroy failed and being called again later.
[in,out] | Service | The pointer to Dhcp6 service to be destroyed. |
Referenced by Dhcp6DriverBindingStart(), and Dhcp6DriverBindingStop().
EFI_STATUS EFIAPI Dhcp6DriverBindingStart | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, | |
IN EFI_HANDLE | ControllerHandle, | |||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | |||
) |
Start this driver on ControllerHandle. This service is called by the EFI boot service ConnectController(). In order to make drivers as small as possible, there are a few 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 | The pointer to the driver binding protocol. |
[in] | ControllerHandle | The handle of device to be started. |
[in] | RemainingDevicePath | Optional parameter use to pick a specific child device to be started. |
EFI_SUCCESS | This driver is installed to ControllerHandle. | |
EFI_ALREADY_STARTED | This driver is already running on ControllerHandle. | |
other | This driver does not support this device. |
References Dhcp6CreateService(), Dhcp6DestroyService(), and _DHCP6_SERVICE::ServiceBinding.
EFI_STATUS EFIAPI Dhcp6DriverBindingStop | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, | |
IN EFI_HANDLE | ControllerHandle, | |||
IN UINTN | NumberOfChildren, | |||
IN EFI_HANDLE * | ChildHandleBuffer | |||
) |
Stop this driver on ControllerHandle. This service is called by the EFI boot service DisconnectController(). In order to make drivers as small as possible, there are a few 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] | ControllerHandle | 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 ControllerHandle | |
EFI_DEVICE_ERROR | An unexpected system or network error occurred. | |
other | This driver was not removed from this device |
References _DHCP6_SERVICE::Child, DHCP6_SERVICE_FROM_THIS, Dhcp6DestroyChildEntry(), and Dhcp6DestroyService().
EFI_STATUS EFIAPI Dhcp6DriverBindingSupported | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, | |
IN EFI_HANDLE | ControllerHandle, | |||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | |||
) |
Test to see if this driver supports ControllerHandle. This service is called by the EFI boot service ConnectController(). In order to make drivers as small as possible, there are a few 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 | The pointer to the driver binding protocol. |
[in] | ControllerHandle | The handle of device to be tested. |
[in] | RemainingDevicePath | Optional parameter use to pick a specific child device to be started. |
EFI_SUCCESS | This driver supports this device. | |
Others | This driver does not support this device. |
EFI_STATUS EFIAPI Dhcp6DriverEntryPoint | ( | IN EFI_HANDLE | ImageHandle, | |
IN EFI_SYSTEM_TABLE * | SystemTable | |||
) |
Entry point of the DHCP6 driver to install various protocols.
[in] | ImageHandle | The handle of the UEFI image file. |
[in] | SystemTable | The pointer to the EFI System Table. |
EFI_SUCCESS | The operation completed successfully. | |
Others | Unexpected error occurs. |
References gDhcp6ComponentName, gDhcp6ComponentName2, and gDhcp6DriverBinding.
EFI_STATUS EFIAPI Dhcp6ServiceBindingCreateChild | ( | 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. | |
other | The child handle was not created. |
References _DHCP6_SERVICE::Child, _DHCP6_INSTANCE::Dhcp6, DHCP6_SERVICE_FROM_THIS, Dhcp6CreateInstance(), Dhcp6DestroyInstance(), gDhcp6DriverBinding, _DHCP6_INSTANCE::Handle, _DHCP6_INSTANCE::Link, _DHCP6_SERVICE::NumOfChild, _DHCP6_INSTANCE::Timer, and _DHCP6_SERVICE::UdpIo.
EFI_STATUS EFIAPI Dhcp6ServiceBindingDestroyChild | ( | 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. | |
EFI_ACCESS_DENIED | The protocol could not be removed from the ChildHandle because its services are being used. | |
other | The child handle was not destroyed |
References DHCP6_INSTANCE_FROM_THIS, DHCP6_SERVICE_FROM_THIS, Dhcp6DestroyInstance(), gDhcp6DriverBinding, _DHCP6_INSTANCE::InDestroy, _DHCP6_INSTANCE::Link, _DHCP6_SERVICE::NumOfChild, _DHCP6_INSTANCE::Service, and _DHCP6_SERVICE::UdpIo.
EFI_DRIVER_BINDING_PROTOCOL gDhcp6DriverBinding |
Initial value:
{ Dhcp6DriverBindingSupported, Dhcp6DriverBindingStart, Dhcp6DriverBindingStop, 0xa, NULL, NULL }
Referenced by Dhcp6DriverEntryPoint(), Dhcp6ServiceBindingCreateChild(), and Dhcp6ServiceBindingDestroyChild().
EFI_SERVICE_BINDING_PROTOCOL gDhcp6ServiceBindingTemplate |
Initial value:
Referenced by Dhcp6CreateService().