TianoCore EDK2 master
|
#include "DnsImpl.h"
Go to the source code of this file.
Functions | |
VOID | DnsInitSeedPacket (OUT EFI_DHCP4_PACKET *Seed, IN EFI_IP4_CONFIG2_INTERFACE_INFO *InterfaceInfo) |
VOID EFIAPI | DhcpCommonNotify (IN EFI_EVENT Event, IN VOID *Context) |
EFI_STATUS | ParseDhcp4Ack (IN EFI_DHCP4_PROTOCOL *Dhcp4, IN EFI_DHCP4_PACKET *Packet, IN DNS4_SERVER_INFOR *DnsServerInfor) |
EFI_STATUS EFIAPI | ParseDhcp6Ack (IN EFI_DHCP6_PROTOCOL *This, IN VOID *Context, IN EFI_DHCP6_PACKET *Packet) |
EFI_STATUS | GetDns4ServerFromDhcp4 (IN DNS_INSTANCE *Instance, OUT UINT32 *DnsServerCount, OUT EFI_IPv4_ADDRESS **DnsServerList) |
EFI_STATUS | GetDns6ServerFromDhcp6 (IN EFI_HANDLE Image, IN EFI_HANDLE Controller, OUT UINT32 *DnsServerCount, OUT EFI_IPv6_ADDRESS **DnsServerList) |
Functions implementation related with DHCPv4/v6 for DNS driver.
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
Copyright (c) Microsoft Corporation SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file DnsDhcp.c.
VOID DnsInitSeedPacket | ( | OUT EFI_DHCP4_PACKET * | Seed, |
IN EFI_IP4_CONFIG2_INTERFACE_INFO * | InterfaceInfo | ||
) |
This function initialize the DHCP4 message instance.
This function will pad each item of dhcp4 message packet.
Seed | Pointer to the message instance of the DHCP4 packet. |
InterfaceInfo | Pointer to the EFI_IP4_CONFIG2_INTERFACE_INFO instance. |
EFI_STATUS GetDns4ServerFromDhcp4 | ( | IN DNS_INSTANCE * | Instance, |
OUT UINT32 * | DnsServerCount, | ||
OUT EFI_IPv4_ADDRESS ** | DnsServerList | ||
) |
Parse the DHCP ACK to get Dns4 server information.
Instance | The DNS instance. |
DnsServerCount | Retrieved Dns4 server Ip count. |
DnsServerList | Retrieved Dns4 server Ip list. |
EFI_SUCCESS | The Dns4 information is got from the DHCP ACK. |
EFI_OUT_OF_RESOURCES | Failed to allocate memory. |
EFI_NO_MEDIA | There was a media error. |
Others | Other errors as indicated. |
EFI_STATUS GetDns6ServerFromDhcp6 | ( | IN EFI_HANDLE | Image, |
IN EFI_HANDLE | Controller, | ||
OUT UINT32 * | DnsServerCount, | ||
OUT EFI_IPv6_ADDRESS ** | DnsServerList | ||
) |
Parse the DHCP ACK to get Dns6 server information.
Image | The handle of the driver image. |
Controller | The handle of the controller. |
DnsServerCount | Retrieved Dns6 server Ip count. |
DnsServerList | Retrieved Dns6 server Ip list. |
EFI_SUCCESS | The Dns6 information is got from the DHCP ACK. |
EFI_OUT_OF_RESOURCES | Failed to allocate memory. |
EFI_NO_MEDIA | There was a media error. |
Others | Other errors as indicated. |
EFI_STATUS ParseDhcp4Ack | ( | IN EFI_DHCP4_PROTOCOL * | Dhcp4, |
IN EFI_DHCP4_PACKET * | Packet, | ||
IN DNS4_SERVER_INFOR * | DnsServerInfor | ||
) |
Parse the ACK to get required information
Dhcp4 | The DHCP4 protocol. |
Packet | Packet waiting for parse. |
DnsServerInfor | The required Dns4 server information. |
EFI_SUCCESS | The DNS information is got from the DHCP ACK. |
EFI_NO_MAPPING | DHCP failed to acquire address and other information. |
EFI_DEVICE_ERROR | Other errors as indicated. |
EFI_OUT_OF_RESOURCES | Failed to allocate memory. |
EFI_STATUS EFIAPI ParseDhcp6Ack | ( | IN EFI_DHCP6_PROTOCOL * | This, |
IN VOID * | Context, | ||
IN EFI_DHCP6_PACKET * | Packet | ||
) |
EFI_DHCP6_INFO_CALLBACK is provided by the consumer of the EFI DHCPv6 Protocol instance to intercept events that occurs in the DHCPv6 Information Request exchange process.
This | Pointer to the EFI_DHCP6_PROTOCOL instance that is used to configure this callback function. |
Context | Pointer to the context that is initialized in the EFI_DHCP6_PROTOCOL.InfoRequest(). |
Packet | Pointer to Reply packet that has been received. The EFI DHCPv6 Protocol instance is responsible for freeing the buffer. |
EFI_SUCCESS | The DNS information is got from the DHCP ACK. |
EFI_DEVICE_ERROR | Other errors as indicated. |
EFI_OUT_OF_RESOURCES | Failed to allocate memory. |