summaryrefslogtreecommitdiff
path: root/src/dns.h
blob: 61ae64106eddbe7786c7f47ee8b7a92f13bfc983 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef __DNS_H__
#define __DNS_H__

#include <netinet/in.h>

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */


typedef void (*DnsCallback_t)(int status, Dlist *addr_list, void *data);

void a_Dns_init (void);
void a_Dns_freeall(void);
void a_Dns_resolve(const char *hostname, DnsCallback_t cb_func, void *cb_data);

#ifdef ENABLE_IPV6
#  define DILLO_ADDR_MAX sizeof(struct in6_addr)
#else
#  define DILLO_ADDR_MAX sizeof(struct in_addr)
#endif

typedef struct {
  int af;
  int alen;
  char data[DILLO_ADDR_MAX];
} DilloHost;

void a_Dns_dillohost_to_string(DilloHost *host, char *dst, size_t size);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* __DNS_H__ */