TianoCore EDK2 master
|
Go to the source code of this file.
Data Structures | |
struct | DNS4_SERVER_INFOR |
struct | DNS6_SERVER_INFOR |
Macros | |
#define | IP4_ETHER_PROTO 0x0800 |
#define | DHCP4_OPCODE_REQUEST 1 |
#define | DHCP4_MAGIC 0x63538263 |
#define | DHCP4_TAG_EOP 255 |
#define | DHCP4_TAG_TYPE 53 |
#define | DHCP4_MSG_REQUEST 3 |
#define | DHCP4_MSG_INFORM 8 |
#define | DHCP4_TAG_PARA_LIST 55 |
#define | DHCP4_TAG_DNS_SERVER 6 |
#define | DHCP6_TAG_DNS_REQUEST 6 |
#define | DHCP6_TAG_DNS_SERVER 23 |
#define | DNS_CHECK_MEDIA_GET_DHCP_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20) |
Functions | |
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.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file DnsDhcp.h.
#define DNS_CHECK_MEDIA_GET_DHCP_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20) |
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. |