39#define DNS_TIMEOUT (1)
40#define DNS_NOSUCHNAME (2)
61const uint16_t extra_dns_t=
DNS_A;
144int RootGetHostByName(
const char *name,
IPADDR & Ipa,
const IPADDR & dnsServer,
const TickTimeout & timeout, uint16_t TYPE, uint16_t TYPE2,
int ifn_select, uint32_t *ttl);
188 uint16_t TYPE1 =
DNS_A,
189 uint16_t TYPE2 = extra_dns_t,
190 uint32_t *ttl = NULL)
192 return RootGetHostByName(name,*pIpaddr,dns_server,tout,TYPE1,TYPE2, -1,ttl);
201 uint16_t TYPE1 =
DNS_A,
202 uint16_t TYPE2 = extra_dns_t,
203 uint32_t *ttl = NULL)
206 int rv=RootGetHostByName(name,ir,dns_server,tout,TYPE1,TYPE2, -1,ttl);
240 const IPADDR & dns_server,
243 uint16_t TYPE1 =
DNS_A,
244 uint16_t TYPE2 = extra_dns_t,
245 uint32_t *ttl = NULL)
247 return RootGetHostByName(name,*pIpaddr,dns_server,tout,TYPE1,TYPE2, ifn,ttl);
255 const IPADDR & dns_server,
258 uint16_t TYPE1 =
DNS_A,
259 uint16_t TYPE2 = extra_dns_t,
260 uint32_t *ttl = NULL)
263 int rv=RootGetHostByName(name,ir,dns_server,tout,TYPE1,TYPE2, ifn,ttl);
274void RegisterResult(
const char* name,
IPADDR ia,uint32_t ttl);
285bool CheckDnsCache(
const char * name,
IPADDR & ia, uint32_t *ttl);
Used to store and manipulate IPv4 addresses in dual stack mode.
Definition nettypes.h:208
Used to hold and manipulate IPv4 and IPv6 addresses in dual stack mode.
Definition ipv6_addr.h:41
IPADDR4 Extract4() const
Extracts an IPv4 address from the object.
Definition ipv6_addr.h:73
TickTimeout objects are used to facilitate sequential function calls with timeout parameters that nee...
Definition nbrtos.h:157
bool fd_dns_processresult(int fd, const char *name, IPADDR &addr_out, uint16_t TYPE=DNS_A, uint16_t TYPE2=DNS_AAAA, uint32_t *ttl=0)
Process any responses on the UDP socket opened for DNS.
int fd_outstanding_Responses(int fd)
Check to see if there are any outstanding DNS requests.
int fd_dns_part1(const char *name, const IPADDR &dns_server, uint16_t TYPE=DNS_A, uint16_t TYPE2=0, int ifn=-1)
Open a UDP socket and initiate a DNS lookup.
bool AnyDNSInterFaceActive()
Determine if we have an active DNS route; DNS server is set for an active interface.
int GetHostByNameViaIfNum(const char *name, IPADDR *pIpaddr, const IPADDR &dns_server, int ifn, const TickTimeout &tout, uint16_t TYPE1=DNS_A, uint16_t TYPE2=extra_dns_t, uint32_t *ttl=NULL)
Get the IP address associated with the specified domain name on a specific interface.
Definition dns.h:237
int GetHostByName(const char *name, IPADDR *pIpaddr, const IPADDR &dns_server, const TickTimeout tout, uint16_t TYPE1=DNS_A, uint16_t TYPE2=extra_dns_t, uint32_t *ttl=NULL)
Get the IP address associated with the specified domain name.
Definition dns.h:184
bool IsNameIPAddress(const char *name)
Determine if the name is a valid IP Address and does not need to be looked up.
#define DNS_OK
Success.
Definition dns.h:38
#define DNS_AAAA
128-bit IPv6 address
Definition dns.h:54
#define DNS_A
32-bit IPv4 address
Definition dns.h:49
NetBurner Real-Time Operating System (NBRTOS) API.
NetBurner IPADDR4 Class. See the IPADDR4 Class page for complete documentation.
NetBurner User Datagram Protocol Header File.