NetBurner 3.1
dns.h
Go to the documentation of this file.
1 /*NB_REVISION*/
2 
3 /*NB_COPYRIGHT*/
4 
13 #ifndef _NB_DNS_H
14 #define _NB_DNS_H
15 
16 #include <nettypes.h>
17 
21 #define DNS_OK (0)
22 #define DNS_TIMEOUT (1)
23 #define DNS_NOSUCHNAME (2)
24 #define DNS_ERR (3)
25 
27 // DNS record TYPES from RFC1035
28 
31 #define DNS_A 1
32 #define DNS_CNAME 5
33 #define DNS_MB 7
34 #define DNS_MG 8
35 #define DNS_MX 15
36 #define DNS_AAAA 28
37 
55 int GetHostByName4(const char *name, IPADDR4 *pIpaddr, IPADDR4 dns_server, uint16_t timeout, uint16_t TYPE = DNS_A);
56 int GetHostByName4ViaIfNum(const char *name, IPADDR4 *pIpaddr, IPADDR4 dns_server, int ifn, uint16_t timeout, uint16_t TYPE = DNS_A);
57 
58 #ifdef IPV6
59 
81 int GetHostByName6(const char *name,
82  IPADDR *pIpaddr,
83  const IPADDR &dns_server,
84  uint16_t timeout,
85  uint16_t TYPE1 = DNS_A,
86  uint16_t TYPE2 = DNS_AAAA);
87 #define GetHostByName GetHostByName6
88 #else
89 #define GetHostByName GetHostByName4
90 #endif
91 
92 #endif
#define DNS_AAAA
128-bit IPv6 address
Definition: dns.h:36
Used to hold and manipulate IPv4 and IPv6 addresses in dual stack mode.
Definition: ipv6_addr.h:28
int GetHostByName6(const char *name, IPADDR *pIpaddr, const IPADDR &dns_server, uint16_t timeout, uint16_t TYPE1=DNS_A, uint16_t TYPE2=DNS_AAAA)
Get the IPv6 address associated with the specified domain name.
Definition: ipv6_dns.cpp:478
#define DNS_A
32-bit IPv4 address
Definition: dns.h:31