iPXE
Dns4.h
Go to the documentation of this file.
1/** @file
2 This file defines the EFI Domain Name Service Binding Protocol interface. It is split
3 into the following two main sections:
4 DNSv4 Service Binding Protocol (DNSv4SB)
5 DNSv4 Protocol (DNSv4)
6
7 Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
8 SPDX-License-Identifier: BSD-2-Clause-Patent
9
10 @par Revision Reference:
11 This Protocol is introduced in UEFI Specification 2.5
12
13**/
14
15#ifndef __EFI_DNS4_PROTOCOL_H__
16#define __EFI_DNS4_PROTOCOL_H__
17
18FILE_LICENCE ( BSD2_PATENT );
19FILE_SECBOOT ( PERMITTED );
20
21#define EFI_DNS4_SERVICE_BINDING_PROTOCOL_GUID \
22 { \
23 0xb625b186, 0xe063, 0x44f7, {0x89, 0x5, 0x6a, 0x74, 0xdc, 0x6f, 0x52, 0xb4 } \
24 }
25
26#define EFI_DNS4_PROTOCOL_GUID \
27 { \
28 0xae3d28cc, 0xe05b, 0x4fa1, {0xa0, 0x11, 0x7e, 0xb5, 0x5a, 0x3f, 0x14, 0x1 } \
29 }
30
32
33///
34/// EFI_DNS4_CONFIG_DATA
35///
36typedef struct {
37 ///
38 /// Count of the DNS servers. When used with GetModeData(),
39 /// this field is the count of originally configured servers when
40 /// Configure() was called for this instance. When used with
41 /// Configure() this is the count of caller-supplied servers. If the
42 /// DnsServerListCount is zero, the DNS server configuration
43 /// will be retrieved from DHCP server automatically.
44 ///
46 ///
47 /// Pointer to DNS server list containing DnsServerListCount entries or NULL
48 /// if DnsServerListCountis 0. For Configure(), this will be NULL when there are
49 /// no caller supplied server addresses, and, the DNS instance will retrieve
50 /// DNS server from DHCP Server. The provided DNS server list is
51 /// recommended to be filled up in the sequence of preference. When
52 /// used with GetModeData(), the buffer containing the list will
53 /// be allocated by the driver implementing this protocol and must be
54 /// freed by the caller. When used with Configure(), the buffer
55 /// containing the list will be allocated and released by the caller.
56 ///
58 ///
59 /// Set to TRUE to use the default IP address/subnet mask and default routing table.
60 ///
62 ///
63 /// If TRUE, enable DNS cache function for this DNS instance. If FALSE, all DNS
64 /// query will not lookup local DNS cache.
65 ///
67 ///
68 /// Use the protocol number defined in "Links to UEFI-Related
69 /// Documents"(http://uefi.org/uefi) under the heading "IANA
70 /// Protocol Numbers". Only TCP or UDP are supported, and other
71 /// protocol values are invalid. An implementation can choose to
72 /// support only UDP, or both TCP and UDP.
73 ///
75 ///
76 /// If UseDefaultSetting is FALSE indicates the station address to use.
77 ///
79 ///
80 /// If UseDefaultSetting is FALSE indicates the subnet mask to use.
81 ///
83 ///
84 /// Local port number. Set to zero to use the automatically assigned port number.
85 ///
87 ///
88 /// Retry number if no response received after RetryInterval.
89 ///
91 ///
92 /// Minimum interval of retry is 2 second. If the retry interval is less than 2
93 /// seconds, then use the 2 seconds.
94 ///
97
98///
99/// EFI_DNS4_CACHE_ENTRY
100///
101typedef struct {
102 ///
103 /// Host name.
104 ///
106 ///
107 /// IP address of this host.
108 ///
110 ///
111 /// Time in second unit that this entry will remain in DNS cache. A value of zero
112 /// means that this entry is permanent. A nonzero value will override the existing
113 /// one if this entry to be added is dynamic entry. Implementations may set its
114 /// default timeout value for the dynamically created DNS cache entry after one DNS
115 /// resolve succeeds.
116 ///
119
120///
121/// EFI_DNS4_MODE_DATA
122///
123typedef struct {
124 ///
125 /// The configuration data of this instance.
126 ///
128 ///
129 /// Number of configured DNS server. Each DNS instance has its own DNS server
130 /// configuration.
131 ///
133 ///
134 /// Pointer to common list of addresses of all configured DNS server
135 /// used by EFI_DNS4_PROTOCOL instances. List will include
136 /// DNS servers configured by this or any other EFI_DNS4_PROTOCOL instance.
137 /// The storage for this list is allocated by the driver publishing this
138 /// protocol, and must be freed by the caller.
139 ///
141 ///
142 /// Number of DNS Cache entries. The DNS Cache is shared among all DNS instances.
143 ///
145 ///
146 /// Pointer to a buffer containing DnsCacheCount DNS Cache
147 /// entry structures. The storage for this list is allocated by the driver
148 /// publishing this protocol and must be freed by caller.
149 ///
152
153///
154/// DNS_HOST_TO_ADDR_DATA
155///
156typedef struct {
157 ///
158 /// Number of the returned IP addresses.
159 ///
161 ///
162 /// Pointer to the all the returned IP addresses.
163 ///
166
167///
168/// DNS_ADDR_TO_HOST_DATA
169///
170typedef struct {
171 ///
172 /// Pointer to the primary name for this host address. It's the caller's
173 /// responsibility to free the response memory.
174 ///
177
178///
179/// DNS_RESOURCE_RECORD
180///
181typedef struct {
182 ///
183 /// The Owner name.
184 ///
186 ///
187 /// The Type Code of this RR.
188 ///
190 ///
191 /// The CLASS code of this RR.
192 ///
194 ///
195 /// 32 bit integer which specify the time interval that the resource record may be
196 /// cached before the source of the information should again be consulted. Zero means
197 /// this RR can not be cached.
198 ///
200 ///
201 /// 16 big integer which specify the length of RData.
202 ///
204 ///
205 /// A string of octets that describe the resource, the format of this information
206 /// varies according to QType and QClass difference.
207 ///
210
211///
212/// DNS_GENERAL_LOOKUP_DATA
213///
214typedef struct {
215 ///
216 /// Number of returned matching RRs.
217 ///
219 ///
220 /// Pointer to the all the returned matching RRs. It's caller responsibility to free
221 /// the allocated memory to hold the returned RRs.
222 ///
225
226///
227/// EFI_DNS4_COMPLETION_TOKEN
228///
229typedef struct {
230 ///
231 /// This Event will be signaled after the Status field is updated by the EFI DNS
232 /// protocol driver. The type of Event must be EFI_NOTIFY_SIGNAL.
233 ///
235 ///
236 /// Will be set to one of the following values:
237 /// EFI_SUCCESS: The host name to address translation completed successfully.
238 /// EFI_NOT_FOUND: No matching Resource Record (RR) is found.
239 /// EFI_TIMEOUT: No DNS server reachable, or RetryCount was exhausted without
240 /// response from all specified DNS servers.
241 /// EFI_DEVICE_ERROR: An unexpected system or network error occurred.
242 /// EFI_NO_MEDIA: There was a media error.
243 ///
245 ///
246 /// Retry number if no response received after RetryInterval. If zero, use the
247 /// parameter configured through Dns.Configure() interface.
248 ///
250 ///
251 /// Minimum interval of retry is 2 second. If the retry interval is less than 2
252 /// seconds, then use the 2 seconds. If zero, use the parameter configured through
253 /// Dns.Configure() interface.
255 ///
256 /// DNSv4 completion token data
257 ///
258 union {
259 ///
260 /// When the Token is used for host name to address translation, H2AData is a pointer
261 /// to the DNS_HOST_TO_ADDR_DATA.
262 ///
264 ///
265 /// When the Token is used for host address to host name translation, A2HData is a
266 /// pointer to the DNS_ADDR_TO_HOST_DATA.
267 ///
269 ///
270 /// When the Token is used for a general lookup function, GLookupDATA is a pointer to
271 /// the DNS_GENERAL_LOOKUP_DATA.
272 ///
274 } RspData;
276
277/**
278 Retrieve mode data of this DNS instance.
279
280 This function is used to retrieve DNS mode data for this DNS instance.
281
282 @param[in] This Pointer to EFI_DNS4_PROTOCOL instance.
283 @param[out] DnsModeData Point to the mode data.
284
285 @retval EFI_SUCCESS The operation completed successfully.
286 @retval EFI_NOT_STARTED When DnsConfigData is queried, no configuration data
287 is available because this instance has not been
288 configured.
289 @retval EFI_INVALID_PARAMETER This is NULL or DnsModeData is NULL.
290 @retval EFI_OUT_OF_RESOURCES Failed to allocate needed resources.
291**/
292typedef
295 IN EFI_DNS4_PROTOCOL *This,
296 OUT EFI_DNS4_MODE_DATA *DnsModeData
297 );
298
299/**
300 Configure this DNS instance.
301
302 This function is used to configure DNS mode data for this DNS instance.
303
304 @param[in] This Pointer to EFI_DNS4_PROTOCOL instance.
305 @param[in] DnsConfigData Point to the Configuration data.
306
307 @retval EFI_SUCCESS The operation completed successfully.
308 @retval EFI_UNSUPPORTED The designated protocol is not supported.
309 @retval EFI_INVALID_PARAMETER This is NULL.
310 The StationIp address provided in DnsConfigData is not a
311 valid unicast.
312 DnsServerList is NULL while DnsServerListCount
313 is not ZERO.
314 DnsServerListCount is ZERO while DnsServerList
315 is not NULL
316 @retval EFI_OUT_OF_RESOURCES The DNS instance data or required space could not be
317 allocated.
318 @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The
319 EFI DNSv4 Protocol instance is not configured.
320 @retval EFI_ALREADY_STARTED Second call to Configure() with DnsConfigData. To
321 reconfigure the instance the caller must call Configure()
322 with NULL first to return driver to unconfigured state.
323**/
324typedef
327 IN EFI_DNS4_PROTOCOL *This,
328 IN EFI_DNS4_CONFIG_DATA *DnsConfigData
329 );
330
331/**
332 Host name to host address translation.
333
334 The HostNameToIp () function is used to translate the host name to host IP address. A
335 type A query is used to get the one or more IP addresses for this host.
336
337 @param[in] This Pointer to EFI_DNS4_PROTOCOL instance.
338 @param[in] HostName Host name.
339 @param[in] Token Point to the completion token to translate host name
340 to host address.
341
342 @retval EFI_SUCCESS The operation completed successfully.
343 @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
344 This is NULL.
345 Token is NULL.
346 Token.Event is NULL.
347 HostName is NULL. HostName string is unsupported format.
348 @retval EFI_NO_MAPPING There's no source address is available for use.
349 @retval EFI_NOT_STARTED This instance has not been started.
350**/
351typedef
354 IN EFI_DNS4_PROTOCOL *This,
355 IN CHAR16 *HostName,
357 );
358
359/**
360 IPv4 address to host name translation also known as Reverse DNS lookup.
361
362 The IpToHostName() function is used to translate the host address to host name. A type PTR
363 query is used to get the primary name of the host. Support of this function is optional.
364
365 @param[in] This Pointer to EFI_DNS4_PROTOCOL instance.
366 @param[in] IpAddress Ip Address.
367 @param[in] Token Point to the completion token to translate host
368 address to host name.
369
370 @retval EFI_SUCCESS The operation completed successfully.
371 @retval EFI_UNSUPPORTED This function is not supported.
372 @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
373 This is NULL.
374 Token is NULL.
375 Token.Event is NULL.
376 IpAddress is not valid IP address .
377 @retval EFI_NO_MAPPING There's no source address is available for use.
378 @retval EFI_ALREADY_STARTED This Token is being used in another DNS session.
379 @retval EFI_OUT_OF_RESOURCES Failed to allocate needed resources.
380**/
381typedef
384 IN EFI_DNS4_PROTOCOL *This,
385 IN EFI_IPv4_ADDRESS IpAddress,
387 );
388
389/**
390 Retrieve arbitrary information from the DNS server.
391
392 This GeneralLookup() function retrieves arbitrary information from the DNS. The caller
393 supplies a QNAME, QTYPE, and QCLASS, and all of the matching RRs are returned. All
394 RR content (e.g., TTL) was returned. The caller need parse the returned RR to get
395 required information. The function is optional.
396
397 @param[in] This Pointer to EFI_DNS4_PROTOCOL instance.
398 @param[in] QName Pointer to Query Name.
399 @param[in] QType Query Type.
400 @param[in] QClass Query Name.
401 @param[in] Token Point to the completion token to retrieve arbitrary
402 information.
403
404 @retval EFI_SUCCESS The operation completed successfully.
405 @retval EFI_UNSUPPORTED This function is not supported. Or the requested
406 QType is not supported
407 @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
408 This is NULL.
409 Token is NULL.
410 Token.Event is NULL.
411 QName is NULL.
412 @retval EFI_NO_MAPPING There's no source address is available for use.
413 @retval EFI_ALREADY_STARTED This Token is being used in another DNS session.
414 @retval EFI_OUT_OF_RESOURCES Failed to allocate needed resources.
415**/
416typedef
419 IN EFI_DNS4_PROTOCOL *This,
420 IN CHAR8 *QName,
421 IN UINT16 QType,
422 IN UINT16 QClass,
424 );
425
426/**
427 This function is to update the DNS Cache.
428
429 The UpdateDnsCache() function is used to add/delete/modify DNS cache entry. DNS cache
430 can be normally dynamically updated after the DNS resolve succeeds. This function
431 provided capability to manually add/delete/modify the DNS cache.
432
433 @param[in] This Pointer to EFI_DNS4_PROTOCOL instance.
434 @param[in] DeleteFlag If FALSE, this function is to add one entry to the
435 DNS Cahce. If TRUE, this function will delete
436 matching DNS Cache entry.
437 @param[in] Override If TRUE, the maching DNS cache entry will be
438 overwritten with the supplied parameter. If FALSE,
439 EFI_ACCESS_DENIED will be returned if the entry to
440 be added is already existed.
441 @param[in] DnsCacheEntry Pointer to DNS Cache entry.
442
443 @retval EFI_SUCCESS The operation completed successfully.
444 @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
445 This is NULL.
446 DnsCacheEntry.HostName is NULL.
447 DnsCacheEntry.IpAddress is NULL.
448 DnsCacheEntry.Timeout is zero.
449 @retval EFI_ACCESS_DENIED The DNS cache entry already exists and Override is
450 not TRUE.
451**/
452typedef
455 IN EFI_DNS4_PROTOCOL *This,
456 IN BOOLEAN DeleteFlag,
457 IN BOOLEAN Override,
458 IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry
459 );
460
461/**
462 Polls for incoming data packets and processes outgoing data packets.
463
464 The Poll() function can be used by network drivers and applications to increase the
465 rate that data packets are moved between the communications device and the transmit
466 and receive queues.
467 In some systems, the periodic timer event in the managed network driver may not poll
468 the underlying communications device fast enough to transmit and/or receive all data
469 packets without missing incoming packets or dropping outgoing packets. Drivers and
470 applications that are experiencing packet loss should try calling the Poll()
471 function more often.
472
473 @param[in] This Pointer to EFI_DNS4_PROTOCOL instance.
474
475 @retval EFI_SUCCESS Incoming or outgoing data was processed.
476 @retval EFI_NOT_STARTED This EFI DNS Protocol instance has not been started.
477 @retval EFI_INVALID_PARAMETER This is NULL.
478 @retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
479 @retval EFI_TIMEOUT Data was dropped out of the transmit and/or receive
480 queue. Consider increasing the polling rate.
481**/
482typedef
486 );
487
488/**
489 Abort an asynchronous DNS operation, including translation between IP and Host, and
490 general look up behavior.
491
492 The Cancel() function is used to abort a pending resolution request. After calling
493 this function, Token.Status will be set to EFI_ABORTED and then Token.Event will be
494 signaled. If the token is not in one of the queues, which usually means that the
495 asynchronous operation has completed, this function will not signal the token and
496 EFI_NOT_FOUND is returned.
497
498 @param[in] This Pointer to EFI_DNS4_PROTOCOL instance.
499 @param[in] Token Pointer to a token that has been issued by
500 EFI_DNS4_PROTOCOL.HostNameToIp (),
501 EFI_DNS4_PROTOCOL.IpToHostName() or
502 EFI_DNS4_PROTOCOL.GeneralLookup().
503 If NULL, all pending tokens are aborted.
504
505 @retval EFI_SUCCESS Incoming or outgoing data was processed.
506 @retval EFI_NOT_STARTED This EFI DNS4 Protocol instance has not been started.
507 @retval EFI_INVALID_PARAMETER This is NULL.
508 @retval EFI_NOT_FOUND When Token is not NULL, and the asynchronous DNS
509 operation was not found in the transmit queue. It
510 was either completed or was not issued by
511 HostNameToIp(), IpToHostName() or GeneralLookup().
512**/
513typedef
516 IN EFI_DNS4_PROTOCOL *This,
518 );
519
520///
521/// The EFI_DNS4_Protocol provides the function to get the host name and address
522/// mapping, also provides pass through interface to retrieve arbitrary information
523/// from DNS.
524///
535
538
539#endif
unsigned short UINT16
2-byte unsigned value.
unsigned char BOOLEAN
Logical Boolean.
char CHAR8
1-byte Character
UINT64 UINTN
Unsigned value of native width.
unsigned short CHAR16
2-byte Character.
#define EFIAPI
unsigned char UINT8
1-byte unsigned value.
unsigned int UINT32
4-byte unsigned value.
EFI_STATUS(EFIAPI * EFI_DNS4_UPDATE_DNS_CACHE)(IN EFI_DNS4_PROTOCOL *This, IN BOOLEAN DeleteFlag, IN BOOLEAN Override, IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry)
This function is to update the DNS Cache.
Definition Dns4.h:454
EFI_STATUS(EFIAPI * EFI_DNS4_POLL)(IN EFI_DNS4_PROTOCOL *This)
Polls for incoming data packets and processes outgoing data packets.
Definition Dns4.h:484
EFI_STATUS(EFIAPI * EFI_DNS4_CONFIGURE)(IN EFI_DNS4_PROTOCOL *This, IN EFI_DNS4_CONFIG_DATA *DnsConfigData)
Configure this DNS instance.
Definition Dns4.h:326
EFI_STATUS(EFIAPI * EFI_DNS4_GENERAL_LOOKUP)(IN EFI_DNS4_PROTOCOL *This, IN CHAR8 *QName, IN UINT16 QType, IN UINT16 QClass, IN EFI_DNS4_COMPLETION_TOKEN *Token)
Retrieve arbitrary information from the DNS server.
Definition Dns4.h:418
EFI_GUID gEfiDns4ServiceBindingProtocolGuid
EFI_STATUS(EFIAPI * EFI_DNS4_CANCEL)(IN EFI_DNS4_PROTOCOL *This, IN EFI_DNS4_COMPLETION_TOKEN *Token)
Abort an asynchronous DNS operation, including translation between IP and Host, and general look up b...
Definition Dns4.h:515
EFI_STATUS(EFIAPI * EFI_DNS4_HOST_NAME_TO_IP)(IN EFI_DNS4_PROTOCOL *This, IN CHAR16 *HostName, IN EFI_DNS4_COMPLETION_TOKEN *Token)
Host name to host address translation.
Definition Dns4.h:353
EFI_STATUS(EFIAPI * EFI_DNS4_GET_MODE_DATA)(IN EFI_DNS4_PROTOCOL *This, OUT EFI_DNS4_MODE_DATA *DnsModeData)
Retrieve mode data of this DNS instance.
Definition Dns4.h:294
EFI_GUID gEfiDns4ProtocolGuid
EFI_STATUS(EFIAPI * EFI_DNS4_IP_TO_HOST_NAME)(IN EFI_DNS4_PROTOCOL *This, IN EFI_IPv4_ADDRESS IpAddress, IN EFI_DNS4_COMPLETION_TOKEN *Token)
IPv4 address to host name translation also known as Reverse DNS lookup.
Definition Dns4.h:383
struct _EFI_DNS4_PROTOCOL EFI_DNS4_PROTOCOL
Definition Dns4.h:31
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
GUID EFI_GUID
128-bit buffer containing a unique identifier value.
IPv4_ADDRESS EFI_IPv4_ADDRESS
4-byte buffer.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Definition compiler.h:926
#define EFI_EVENT
Definition efi.h:54
#define IN
Definition mlx_utils.h:28
#define OUT
Definition mlx_utils.h:29
DNS_ADDR_TO_HOST_DATA.
Definition Dns4.h:170
CHAR16 * HostName
Pointer to the primary name for this host address.
Definition Dns4.h:175
DNS_GENERAL_LOOKUP_DATA.
Definition Dns4.h:214
DNS_RESOURCE_RECORD * RRList
Pointer to the all the returned matching RRs.
Definition Dns4.h:223
UINTN RRCount
Number of returned matching RRs.
Definition Dns4.h:218
DNS_HOST_TO_ADDR_DATA.
Definition Dns4.h:156
EFI_IPv4_ADDRESS * IpList
Pointer to the all the returned IP addresses.
Definition Dns4.h:164
UINT32 IpCount
Number of the returned IP addresses.
Definition Dns4.h:160
DNS_RESOURCE_RECORD.
Definition Dns4.h:181
UINT32 TTL
32 bit integer which specify the time interval that the resource record may be cached before the sour...
Definition Dns4.h:199
UINT16 QClass
The CLASS code of this RR.
Definition Dns4.h:193
UINT16 QType
The Type Code of this RR.
Definition Dns4.h:189
CHAR8 * QName
The Owner name.
Definition Dns4.h:185
CHAR8 * RData
A string of octets that describe the resource, the format of this information varies according to QTy...
Definition Dns4.h:208
UINT16 DataLength
16 big integer which specify the length of RData.
Definition Dns4.h:203
EFI_DNS4_CACHE_ENTRY.
Definition Dns4.h:101
UINT32 Timeout
Time in second unit that this entry will remain in DNS cache.
Definition Dns4.h:117
CHAR16 * HostName
Host name.
Definition Dns4.h:105
EFI_IPv4_ADDRESS * IpAddress
IP address of this host.
Definition Dns4.h:109
EFI_DNS4_COMPLETION_TOKEN.
Definition Dns4.h:229
EFI_EVENT Event
This Event will be signaled after the Status field is updated by the EFI DNS protocol driver.
Definition Dns4.h:234
UINT32 RetryInterval
Minimum interval of retry is 2 second.
Definition Dns4.h:254
DNS_HOST_TO_ADDR_DATA * H2AData
When the Token is used for host name to address translation, H2AData is a pointer to the DNS_HOST_TO_...
Definition Dns4.h:263
DNS_ADDR_TO_HOST_DATA * A2HData
When the Token is used for host address to host name translation, A2HData is a pointer to the DNS_ADD...
Definition Dns4.h:268
EFI_STATUS Status
Will be set to one of the following values: EFI_SUCCESS: The host name to address translation complet...
Definition Dns4.h:244
UINT32 RetryCount
Retry number if no response received after RetryInterval.
Definition Dns4.h:249
DNS_GENERAL_LOOKUP_DATA * GLookupData
When the Token is used for a general lookup function, GLookupDATA is a pointer to the DNS_GENERAL_LOO...
Definition Dns4.h:273
EFI_DNS4_CONFIG_DATA.
Definition Dns4.h:36
BOOLEAN EnableDnsCache
If TRUE, enable DNS cache function for this DNS instance.
Definition Dns4.h:66
UINT16 LocalPort
Local port number.
Definition Dns4.h:86
UINT8 Protocol
Use the protocol number defined in "Links to UEFI-RelatedDocuments"(http://uefi.org/uefi) under the h...
Definition Dns4.h:74
EFI_IPv4_ADDRESS * DnsServerList
Pointer to DNS server list containing DnsServerListCount entries or NULL if DnsServerListCountis 0.
Definition Dns4.h:57
BOOLEAN UseDefaultSetting
Set to TRUE to use the default IP address/subnet mask and default routing table.
Definition Dns4.h:61
EFI_IPv4_ADDRESS SubnetMask
If UseDefaultSetting is FALSE indicates the subnet mask to use.
Definition Dns4.h:82
UINTN DnsServerListCount
Count of the DNS servers.
Definition Dns4.h:45
EFI_IPv4_ADDRESS StationIp
If UseDefaultSetting is FALSE indicates the station address to use.
Definition Dns4.h:78
UINT32 RetryInterval
Minimum interval of retry is 2 second.
Definition Dns4.h:95
UINT32 RetryCount
Retry number if no response received after RetryInterval.
Definition Dns4.h:90
EFI_DNS4_MODE_DATA.
Definition Dns4.h:123
EFI_IPv4_ADDRESS * DnsServerList
Pointer to common list of addresses of all configured DNS server used by EFI_DNS4_PROTOCOL instances.
Definition Dns4.h:140
EFI_DNS4_CACHE_ENTRY * DnsCacheList
Pointer to a buffer containing DnsCacheCount DNS Cache entry structures.
Definition Dns4.h:150
UINT32 DnsCacheCount
Number of DNS Cache entries.
Definition Dns4.h:144
UINT32 DnsServerCount
Number of configured DNS server.
Definition Dns4.h:132
EFI_DNS4_CONFIG_DATA DnsConfigData
The configuration data of this instance.
Definition Dns4.h:127
The EFI_DNS4_Protocol provides the function to get the host name and address mapping,...
Definition Dns4.h:525
EFI_DNS4_HOST_NAME_TO_IP HostNameToIp
Definition Dns4.h:528
EFI_DNS4_CONFIGURE Configure
Definition Dns4.h:527
EFI_DNS4_IP_TO_HOST_NAME IpToHostName
Definition Dns4.h:529
EFI_DNS4_GENERAL_LOOKUP GeneralLookUp
Definition Dns4.h:530
EFI_DNS4_POLL Poll
Definition Dns4.h:532
EFI_DNS4_UPDATE_DNS_CACHE UpdateDnsCache
Definition Dns4.h:531
EFI_DNS4_GET_MODE_DATA GetModeData
Definition Dns4.h:526
EFI_DNS4_CANCEL Cancel
Definition Dns4.h:533