DNS sock API¶
Sock DNS client.
-
DNS_TYPE_A
¶ 1
(1)
-
DNS_TYPE_AAAA
¶ 1
(28)
-
DNS_CLASS_IN
¶ 1
(1)
-
SOCK_DNS_PORT
¶ 1
(53)
-
SOCK_DNS_RETRIES
¶ 1
(2)
-
SOCK_DNS_MAX_NAME_LEN
¶ 1
(64U) /* we're in embedded context. */
-
SOCK_DNS_QUERYBUF_LEN
¶ 1
(sizeof(sock_dns_hdr_t) + 4 + SOCK_DNS_MAX_NAME_LEN)
-
sock/udp.h::sock_udp_ep_t
sock_dns_server
¶ global DNS server endpoint
-
int
sock_dns_query
(const char * domain_name, void * addr_out, int family)¶ Get IP address for DNS name.
This function will synchronously try to resolve a DNS A or AAAA record by contacting the DNS server specified in the global variable
dns.h::sock_dns_server
.By supplying AF_INET, AF_INET6 or AF_UNSPEC in
family
requesting of A records (IPv4), AAAA records (IPv6) or both can be selected.This function will return the first DNS record it receives. IF both A and AAAA are requested, AAAA will be preferred.
Note
addr_out
needs to provide space for any possible result! (4byte when family==AF_INET, 16byte otherwise)Parameters
domain_name: DNS name to resolve into address addr_out: buffer to write result into family: Either AF_INET, AF_INET6 or AF_UNSPEC Return values
- 0 on success
- !=0 otherwise