76 if ((This ==
NULL) || (DnsModeData ==
NULL)) {
77 return EFI_INVALID_PARAMETER;
80 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
82 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL4 (This);
83 if (Instance->State == DNS_STATE_UNCONFIGED) {
84 Status = EFI_NOT_STARTED;
94 if (EFI_ERROR (Status)) {
102 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns4ServerList) {
105 DnsModeData->DnsServerCount = (UINT32)Index;
107 if (ServerList ==
NULL) {
108 Status = EFI_OUT_OF_RESOURCES;
114 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns4ServerList) {
115 ServerItem = NET_LIST_USER_STRUCT (Entry,
DNS4_SERVER_IP, AllServerLink);
119 DnsModeData->DnsServerList = ServerList;
125 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->
Dns4CacheList) {
128 DnsModeData->DnsCacheCount = (UINT32)Index;
130 if (CacheList ==
NULL) {
131 Status = EFI_OUT_OF_RESOURCES;
138 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->
Dns4CacheList) {
139 CacheItem = NET_LIST_USER_STRUCT (Entry,
DNS4_CACHE, AllCacheLink);
143 DnsModeData->DnsCacheList = CacheList;
146 gBS->RestoreTPL (OldTpl);
189 UINT32 ServerListCount;
195 if ((This ==
NULL) ||
196 ((DnsConfigData !=
NULL) && (((DnsConfigData->DnsServerListCount != 0) && (DnsConfigData->DnsServerList ==
NULL)) ||
197 ((DnsConfigData->DnsServerListCount == 0) && (DnsConfigData->DnsServerList !=
NULL)))))
199 return EFI_INVALID_PARAMETER;
202 if ((DnsConfigData !=
NULL) && (DnsConfigData->Protocol != DNS_PROTOCOL_UDP)) {
203 return EFI_UNSUPPORTED;
206 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
208 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL4 (This);
210 if (DnsConfigData ==
NULL) {
220 if (Instance->UdpIo !=
NULL) {
230 Instance->State = DNS_STATE_UNCONFIGED;
235 CopyMem (&Ip, &DnsConfigData->StationIp, sizeof (IP4_ADDR));
236 CopyMem (&Netmask, &DnsConfigData->SubnetMask, sizeof (IP4_ADDR));
239 Netmask = NTOHL (Netmask);
241 if (!DnsConfigData->UseDefaultSetting &&
242 ((!IP4_IS_VALID_NETMASK (Netmask) || ((Netmask != 0) && !
NetIp4IsUnicast (Ip, Netmask)))))
244 Status = EFI_INVALID_PARAMETER;
249 if (EFI_ERROR (Status)) {
253 if (DnsConfigData->DnsServerListCount == 0) {
254 gBS->RestoreTPL (OldTpl);
264 if (EFI_ERROR (Status)) {
268 ASSERT (ServerList !=
NULL);
270 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
281 if (EFI_ERROR (Status)) {
293 Status =
AddDns4ServerIp (&mDriverData->Dns4ServerList, Instance->SessionDnsServer.v4);
294 if (EFI_ERROR (Status)) {
303 Instance->State = DNS_STATE_CONFIGED;
307 gBS->RestoreTPL (OldTpl);
366 if ((This ==
NULL) || (HostName ==
NULL) || (Token ==
NULL)) {
367 return EFI_INVALID_PARAMETER;
370 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
372 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL4 (This);
374 ConfigData = &(Instance->Dns4CfgData);
376 if (Instance->State != DNS_STATE_CONFIGED) {
377 Status = EFI_NOT_STARTED;
381 Token->Status = EFI_NOT_READY;
386 if (Token->RetryCount == 0) {
393 if (Token->RetryInterval == 0) {
400 if (Token->RetryInterval < DNS_DEFAULT_TIMEOUT) {
401 Token->RetryInterval = DNS_DEFAULT_TIMEOUT;
409 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->
Dns4CacheList) {
410 Item = NET_LIST_USER_STRUCT (Entry,
DNS4_CACHE, AllCacheLink);
418 if (Token->RspData.H2AData ==
NULL) {
419 Status = EFI_OUT_OF_RESOURCES;
423 Token->RspData.H2AData->IpCount = (UINT32)Index;
425 if (Token->RspData.H2AData->IpList ==
NULL) {
426 if (Token->RspData.H2AData !=
NULL) {
430 Status = EFI_OUT_OF_RESOURCES;
435 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->
Dns4CacheList) {
436 Item = NET_LIST_USER_STRUCT (Entry,
DNS4_CACHE, AllCacheLink);
437 if (((UINT32)Index < Token->RspData.H2AData->IpCount) && (
StrCmp (HostName, Item->DnsCache.
HostName) == 0)) {
445 if (Token->Event !=
NULL) {
446 gBS->SignalEvent (Token->Event);
450 Status = Token->Status;
459 if (TokenEntry ==
NULL) {
460 Status = EFI_OUT_OF_RESOURCES;
464 TokenEntry->PacketToLive = Token->RetryInterval;
465 TokenEntry->Token = Token;
467 if (TokenEntry->QueryHostName ==
NULL) {
468 Status = EFI_OUT_OF_RESOURCES;
472 CopyMem (TokenEntry->QueryHostName, HostName,
StrSize (HostName));
478 if (QueryName ==
NULL) {
479 Status = EFI_OUT_OF_RESOURCES;
486 Status =
ConstructDNSQuery (Instance, QueryName, DNS_TYPE_A, DNS_CLASS_INET, &Packet);
487 if (EFI_ERROR (Status)) {
491 ASSERT (Packet !=
NULL);
497 if (EFI_ERROR (Status)) {
505 if (EFI_ERROR (Status)) {
511 if (EFI_ERROR (Status)) {
512 if (TokenEntry !=
NULL) {
513 if (TokenEntry->QueryHostName !=
NULL) {
514 FreePool (TokenEntry->QueryHostName);
520 if (Packet !=
NULL) {
525 if (QueryName !=
NULL) {
529 gBS->RestoreTPL (OldTpl);
563 return EFI_UNSUPPORTED;
621 if ((This ==
NULL) || (QName ==
NULL) || (Token ==
NULL)) {
622 return EFI_INVALID_PARAMETER;
625 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
627 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL4 (This);
629 ConfigData = &(Instance->Dns4CfgData);
631 if (Instance->State != DNS_STATE_CONFIGED) {
632 Status = EFI_NOT_STARTED;
636 Token->Status = EFI_NOT_READY;
641 if (Token->RetryCount == 0) {
648 if (Token->RetryInterval == 0) {
655 if (Token->RetryInterval < DNS_DEFAULT_TIMEOUT) {
656 Token->RetryInterval = DNS_DEFAULT_TIMEOUT;
663 if (TokenEntry ==
NULL) {
664 Status = EFI_OUT_OF_RESOURCES;
668 TokenEntry->PacketToLive = Token->RetryInterval;
669 TokenEntry->GeneralLookUp =
TRUE;
670 TokenEntry->Token = Token;
676 if (EFI_ERROR (Status)) {
677 if (TokenEntry !=
NULL) {
684 ASSERT (Packet !=
NULL);
690 if (EFI_ERROR (Status)) {
691 if (TokenEntry !=
NULL) {
704 if (EFI_ERROR (Status)) {
707 if (TokenEntry !=
NULL) {
715 gBS->RestoreTPL (OldTpl);
749 IN BOOLEAN DeleteFlag,
759 if ((DnsCacheEntry.HostName ==
NULL) || (DnsCacheEntry.IpAddress ==
NULL) || (DnsCacheEntry.Timeout == 0)) {
760 return EFI_INVALID_PARAMETER;
763 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
770 gBS->RestoreTPL (OldTpl);
806 return EFI_INVALID_PARAMETER;
809 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL4 (This);
811 if (Instance->State == DNS_STATE_UNCONFIGED) {
812 return EFI_NOT_STARTED;
813 }
else if (Instance->State == DNS_STATE_DESTROY) {
814 return EFI_DEVICE_ERROR;
817 Udp = Instance->UdpIo->Protocol.Udp4;
819 return Udp->Poll (Udp);
859 return EFI_INVALID_PARAMETER;
862 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL4 (This);
864 if (Instance->State == DNS_STATE_UNCONFIGED) {
865 return EFI_NOT_STARTED;
868 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
880 gBS->RestoreTPL (OldTpl);
929 if ((This ==
NULL) || (DnsModeData ==
NULL)) {
930 return EFI_INVALID_PARAMETER;
933 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
935 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (This);
936 if (Instance->State == DNS_STATE_UNCONFIGED) {
937 Status = EFI_NOT_STARTED;
946 Status =
Dns6CopyConfigure (&DnsModeData->DnsConfigData, &Instance->Dns6CfgData);
947 if (EFI_ERROR (Status)) {
955 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns6ServerList) {
958 DnsModeData->DnsServerCount = (UINT32)Index;
960 if (ServerList ==
NULL) {
961 Status = EFI_OUT_OF_RESOURCES;
967 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns6ServerList) {
968 ServerItem = NET_LIST_USER_STRUCT (Entry,
DNS6_SERVER_IP, AllServerLink);
972 DnsModeData->DnsServerList = ServerList;
978 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns6CacheList) {
981 DnsModeData->DnsCacheCount = (UINT32)Index;
983 if (CacheList ==
NULL) {
984 Status = EFI_OUT_OF_RESOURCES;
991 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns6CacheList) {
992 CacheItem = NET_LIST_USER_STRUCT (Entry,
DNS6_CACHE, AllCacheLink);
996 DnsModeData->DnsCacheList = CacheList;
999 gBS->RestoreTPL (OldTpl);
1038 UINT32 ServerListCount;
1044 if ((This ==
NULL) ||
1045 ((DnsConfigData !=
NULL) && (((DnsConfigData->DnsServerCount != 0) && (DnsConfigData->DnsServerList ==
NULL)) ||
1046 ((DnsConfigData->DnsServerCount == 0) && (DnsConfigData->DnsServerList !=
NULL)))))
1048 return EFI_INVALID_PARAMETER;
1051 if ((DnsConfigData !=
NULL) && (DnsConfigData->Protocol != DNS_PROTOCOL_UDP)) {
1052 return EFI_UNSUPPORTED;
1055 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
1057 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (This);
1059 if (DnsConfigData ==
NULL) {
1069 if (Instance->UdpIo !=
NULL) {
1079 Instance->State = DNS_STATE_UNCONFIGED;
1085 Status = EFI_INVALID_PARAMETER;
1090 if (EFI_ERROR (Status)) {
1094 if (DnsConfigData->DnsServerCount == 0) {
1095 gBS->RestoreTPL (OldTpl);
1101 Instance->Service->ImageHandle,
1102 Instance->Service->ControllerHandle,
1106 if (EFI_ERROR (Status)) {
1110 ASSERT (ServerList !=
NULL);
1112 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
1122 gBS->RestoreTPL (OldTpl);
1124 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
1125 if (EFI_ERROR (Status)) {
1137 Status =
AddDns6ServerIp (&mDriverData->Dns6ServerList, Instance->SessionDnsServer.v6);
1138 if (EFI_ERROR (Status)) {
1147 Instance->State = DNS_STATE_CONFIGED;
1151 gBS->RestoreTPL (OldTpl);
1181 IN CHAR16 *HostName,
1212 if ((This ==
NULL) || (HostName ==
NULL) || (Token ==
NULL)) {
1213 return EFI_INVALID_PARAMETER;
1216 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
1218 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (This);
1220 ConfigData = &(Instance->Dns6CfgData);
1222 if (Instance->State != DNS_STATE_CONFIGED) {
1223 Status = EFI_NOT_STARTED;
1227 Token->Status = EFI_NOT_READY;
1232 if (Token->RetryCount == 0) {
1239 if (Token->RetryInterval == 0) {
1246 if (Token->RetryInterval < DNS_DEFAULT_TIMEOUT) {
1247 Token->RetryInterval = DNS_DEFAULT_TIMEOUT;
1255 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns6CacheList) {
1256 Item = NET_LIST_USER_STRUCT (Entry,
DNS6_CACHE, AllCacheLink);
1264 if (Token->RspData.H2AData ==
NULL) {
1265 Status = EFI_OUT_OF_RESOURCES;
1269 Token->RspData.H2AData->IpCount = (UINT32)Index;
1271 if (Token->RspData.H2AData->IpList ==
NULL) {
1272 if (Token->RspData.H2AData !=
NULL) {
1276 Status = EFI_OUT_OF_RESOURCES;
1281 NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns6CacheList) {
1282 Item = NET_LIST_USER_STRUCT (Entry,
DNS6_CACHE, AllCacheLink);
1283 if (((UINT32)Index < Token->RspData.H2AData->IpCount) && (
StrCmp (HostName, Item->DnsCache.
HostName) == 0)) {
1291 if (Token->Event !=
NULL) {
1292 gBS->SignalEvent (Token->Event);
1296 Status = Token->Status;
1305 if (TokenEntry ==
NULL) {
1306 Status = EFI_OUT_OF_RESOURCES;
1310 TokenEntry->PacketToLive = Token->RetryInterval;
1311 TokenEntry->Token = Token;
1313 if (TokenEntry->QueryHostName ==
NULL) {
1314 Status = EFI_OUT_OF_RESOURCES;
1318 CopyMem (TokenEntry->QueryHostName, HostName,
StrSize (HostName));
1324 if (QueryName ==
NULL) {
1325 Status = EFI_OUT_OF_RESOURCES;
1332 Status =
ConstructDNSQuery (Instance, QueryName, DNS_TYPE_AAAA, DNS_CLASS_INET, &Packet);
1333 if (EFI_ERROR (Status)) {
1337 ASSERT (Packet !=
NULL);
1343 if (EFI_ERROR (Status)) {
1351 if (EFI_ERROR (Status)) {
1357 if (EFI_ERROR (Status)) {
1358 if (TokenEntry !=
NULL) {
1359 if (TokenEntry->QueryHostName !=
NULL) {
1360 FreePool (TokenEntry->QueryHostName);
1366 if (Packet !=
NULL) {
1371 if (QueryName !=
NULL) {
1375 gBS->RestoreTPL (OldTpl);
1410 return EFI_UNSUPPORTED;
1470 if ((This ==
NULL) || (QName ==
NULL) || (Token ==
NULL)) {
1471 return EFI_INVALID_PARAMETER;
1474 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
1476 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (This);
1478 ConfigData = &(Instance->Dns6CfgData);
1480 if (Instance->State != DNS_STATE_CONFIGED) {
1481 Status = EFI_NOT_STARTED;
1485 Token->Status = EFI_NOT_READY;
1490 if (Token->RetryCount == 0) {
1497 if (Token->RetryInterval == 0) {
1504 if (Token->RetryInterval < DNS_DEFAULT_TIMEOUT) {
1505 Token->RetryInterval = DNS_DEFAULT_TIMEOUT;
1512 if (TokenEntry ==
NULL) {
1513 Status = EFI_OUT_OF_RESOURCES;
1517 TokenEntry->PacketToLive = Token->RetryInterval;
1518 TokenEntry->GeneralLookUp =
TRUE;
1519 TokenEntry->Token = Token;
1525 if (EFI_ERROR (Status)) {
1526 if (TokenEntry !=
NULL) {
1533 ASSERT (Packet !=
NULL);
1539 if (EFI_ERROR (Status)) {
1540 if (TokenEntry !=
NULL) {
1553 if (EFI_ERROR (Status)) {
1556 if (TokenEntry !=
NULL) {
1564 gBS->RestoreTPL (OldTpl);
1599 IN BOOLEAN DeleteFlag,
1600 IN BOOLEAN Override,
1609 if ((DnsCacheEntry.HostName ==
NULL) || (DnsCacheEntry.IpAddress ==
NULL) || (DnsCacheEntry.Timeout == 0)) {
1610 return EFI_INVALID_PARAMETER;
1613 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
1618 Status =
UpdateDns6Cache (&mDriverData->Dns6CacheList, DeleteFlag, Override, DnsCacheEntry);
1620 gBS->RestoreTPL (OldTpl);
1658 return EFI_INVALID_PARAMETER;
1661 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (This);
1663 if (Instance->State == DNS_STATE_UNCONFIGED) {
1664 return EFI_NOT_STARTED;
1665 }
else if (Instance->State == DNS_STATE_DESTROY) {
1666 return EFI_DEVICE_ERROR;
1669 Udp = Instance->UdpIo->Protocol.Udp6;
1671 return Udp->Poll (Udp);
1712 return EFI_INVALID_PARAMETER;
1715 Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (This);
1717 if (Instance->State == DNS_STATE_UNCONFIGED) {
1718 return EFI_NOT_STARTED;
1721 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
1733 gBS->RestoreTPL (OldTpl);
UINTN EFIAPI StrSize(IN CONST CHAR16 *String)
INTN EFIAPI StrCmp(IN CONST CHAR16 *FirstString, IN CONST CHAR16 *SecondString)
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
VOID *EFIAPI ZeroMem(OUT VOID *Buffer, IN UINTN Length)
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)
EFI_STATUS DoDnsQuery(IN DNS_INSTANCE *Instance, IN NET_BUF *Packet)
EFI_STATUS EFIAPI AddDns6ServerIp(IN LIST_ENTRY *Dns6ServerList, IN EFI_IPv6_ADDRESS ServerIp)
EFI_STATUS ConstructDNSQuery(IN DNS_INSTANCE *Instance, IN CHAR8 *QueryName, IN UINT16 Type, IN UINT16 Class, OUT NET_BUF **Packet)
EFI_STATUS Dns4InstanceCancelToken(IN DNS_INSTANCE *Instance, IN EFI_DNS4_COMPLETION_TOKEN *Token)
VOID Dns6CleanConfigure(IN OUT EFI_DNS6_CONFIG_DATA *Config)
EFI_STATUS Dns6InstanceCancelToken(IN DNS_INSTANCE *Instance, IN EFI_DNS6_COMPLETION_TOKEN *Token)
EFI_STATUS Dns4CopyConfigure(OUT EFI_DNS4_CONFIG_DATA *Dst, IN EFI_DNS4_CONFIG_DATA *Src)
EFI_STATUS EFIAPI AddDns4ServerIp(IN LIST_ENTRY *Dns4ServerList, IN EFI_IPv4_ADDRESS ServerIp)
EFI_STATUS Dns6CopyConfigure(OUT EFI_DNS6_CONFIG_DATA *Dst, IN EFI_DNS6_CONFIG_DATA *Src)
EFI_STATUS Dns6RemoveTokenEntry(IN NET_MAP *TokenMap, IN DNS6_TOKEN_ENTRY *TokenEntry)
EFI_STATUS Dns4ConfigUdp(IN DNS_INSTANCE *Instance, IN UDP_IO *UdpIo)
VOID Dns4CleanConfigure(IN OUT EFI_DNS4_CONFIG_DATA *Config)
EFI_STATUS EFIAPI UpdateDns4Cache(IN LIST_ENTRY *Dns4CacheList, IN BOOLEAN DeleteFlag, IN BOOLEAN Override, IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry)
EFI_STATUS EFIAPI UpdateDns6Cache(IN LIST_ENTRY *Dns6CacheList, IN BOOLEAN DeleteFlag, IN BOOLEAN Override, IN EFI_DNS6_CACHE_ENTRY DnsCacheEntry)
EFI_STATUS Dns4RemoveTokenEntry(IN NET_MAP *TokenMap, IN DNS4_TOKEN_ENTRY *TokenEntry)
EFI_STATUS Dns6ConfigUdp(IN DNS_INSTANCE *Instance, IN UDP_IO *UdpIo)
EFI_STATUS EFIAPI Dns4Configure(IN EFI_DNS4_PROTOCOL *This, IN EFI_DNS4_CONFIG_DATA *DnsConfigData)
EFI_STATUS EFIAPI Dns6IpToHostName(IN EFI_DNS6_PROTOCOL *This, IN EFI_IPv6_ADDRESS IpAddress, IN EFI_DNS6_COMPLETION_TOKEN *Token)
EFI_STATUS EFIAPI Dns6Cancel(IN EFI_DNS6_PROTOCOL *This, IN EFI_DNS6_COMPLETION_TOKEN *Token)
EFI_STATUS EFIAPI Dns4Cancel(IN EFI_DNS4_PROTOCOL *This, IN EFI_DNS4_COMPLETION_TOKEN *Token)
EFI_STATUS EFIAPI Dns4HostNameToIp(IN EFI_DNS4_PROTOCOL *This, IN CHAR16 *HostName, IN EFI_DNS4_COMPLETION_TOKEN *Token)
EFI_STATUS EFIAPI Dns4UpdateDnsCache(IN EFI_DNS4_PROTOCOL *This, IN BOOLEAN DeleteFlag, IN BOOLEAN Override, IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry)
EFI_STATUS EFIAPI Dns6Configure(IN EFI_DNS6_PROTOCOL *This, IN EFI_DNS6_CONFIG_DATA *DnsConfigData)
EFI_STATUS EFIAPI Dns6UpdateDnsCache(IN EFI_DNS6_PROTOCOL *This, IN BOOLEAN DeleteFlag, IN BOOLEAN Override, IN EFI_DNS6_CACHE_ENTRY DnsCacheEntry)
EFI_STATUS EFIAPI Dns6GetModeData(IN EFI_DNS6_PROTOCOL *This, OUT EFI_DNS6_MODE_DATA *DnsModeData)
EFI_STATUS EFIAPI Dns4Poll(IN EFI_DNS4_PROTOCOL *This)
EFI_STATUS EFIAPI Dns6HostNameToIp(IN EFI_DNS6_PROTOCOL *This, IN CHAR16 *HostName, IN EFI_DNS6_COMPLETION_TOKEN *Token)
EFI_STATUS EFIAPI Dns6Poll(IN EFI_DNS6_PROTOCOL *This)
EFI_STATUS EFIAPI Dns4GeneralLookUp(IN EFI_DNS4_PROTOCOL *This, IN CHAR8 *QName, IN UINT16 QType, IN UINT16 QClass, IN EFI_DNS4_COMPLETION_TOKEN *Token)
EFI_STATUS EFIAPI Dns4GetModeData(IN EFI_DNS4_PROTOCOL *This, OUT EFI_DNS4_MODE_DATA *DnsModeData)
EFI_STATUS EFIAPI Dns6GeneralLookUp(IN EFI_DNS6_PROTOCOL *This, IN CHAR8 *QName, IN UINT16 QType, IN UINT16 QClass, IN EFI_DNS6_COMPLETION_TOKEN *Token)
EFI_STATUS EFIAPI Dns4IpToHostName(IN EFI_DNS4_PROTOCOL *This, IN EFI_IPv4_ADDRESS IpAddress, IN EFI_DNS4_COMPLETION_TOKEN *Token)
EFI_STATUS EFIAPI DispatchDpc(VOID)
VOID *EFIAPI AllocateZeroPool(IN UINTN AllocationSize)
VOID EFIAPI FreePool(IN VOID *Buffer)
VOID EFIAPI NetbufFree(IN NET_BUF *Nbuf)
BOOLEAN EFIAPI NetIp4IsUnicast(IN IP4_ADDR Ip, IN IP4_ADDR NetMask)
BOOLEAN EFIAPI NetIp6IsValidUnicast(IN EFI_IPv6_ADDRESS *Ip6)
CHAR8 *EFIAPI NetLibCreateDnsQName(IN CHAR16 *DomainName)
BOOLEAN EFIAPI NetIp6IsUnspecifiedAddr(IN EFI_IPv6_ADDRESS *Ip6)
BOOLEAN EFIAPI NetMapIsEmpty(IN NET_MAP *Map)
EFI_STATUS EFIAPI NetMapInsertTail(IN OUT NET_MAP *Map, IN VOID *Key, IN VOID *Value OPTIONAL)
VOID *EFIAPI AllocatePool(IN UINTN AllocationSize)
VOID EFIAPI UdpIoCleanIo(IN UDP_IO *UdpIo)
LIST_ENTRY Dns4CacheList
Ticking timer for DNS cache update.
EFI_IPv4_ADDRESS * IpAddress
EFI_IPv4_ADDRESS * DnsServerList
EFI_IPv6_ADDRESS * IpAddress
EFI_IPv6_ADDRESS * DnsServerList