Loading...
Searching...
No Matches
DNS sock API

Sock DNS client. More...

Detailed Description

Sock DNS client.

Files

file  dns.h
 DNS sock definitions.
 

Functions

int sock_dns_query (const char *domain_name, void *addr_out, int family)
 Get IP address for DNS name.
 

Variables

sock_udp_ep_t sock_dns_server
 global DNS server endpoint
 

DNS defines

#define SOCK_DNS_PORT   (53)
 
#define SOCK_DNS_RETRIES   (2)
 
#define SOCK_DNS_MAX_NAME_LEN   (CONFIG_DNS_MSG_LEN - sizeof(dns_hdr_t) - 4)
 

Macro Definition Documentation

◆ SOCK_DNS_MAX_NAME_LEN

#define SOCK_DNS_MAX_NAME_LEN   (CONFIG_DNS_MSG_LEN - sizeof(dns_hdr_t) - 4)

Definition at line 81 of file dns.h.

◆ SOCK_DNS_PORT

#define SOCK_DNS_PORT   (53)

Definition at line 78 of file dns.h.

◆ SOCK_DNS_RETRIES

#define SOCK_DNS_RETRIES   (2)

Definition at line 79 of file dns.h.

Function Documentation

◆ sock_dns_query()

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 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
[in]domain_nameDNS name to resolve into address
[out]addr_outbuffer to write result into
[in]familyEither AF_INET, AF_INET6 or AF_UNSPEC
Returns
the size of the resolved address on success
< 0 otherwise