All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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