#ifndef CHARYBDIS_DNS_H
#define CHARYBDIS_DNS_H
+#include "stdinc.h"
+#include "authproc.h"
+
+extern rb_dlink_list nameservers;
+
typedef void (*DNSCB)(const char *res, int status, int aftype, void *data);
+typedef void (*DNSLISTCB)(int resc, const char *resv[], int status, void *data);
-void init_authd(void);
-void restart_authd(void);
-void rehash_authd(void);
+uint32_t lookup_hostname(const char *hostname, int aftype, DNSCB callback, void *data);
+uint32_t lookup_ip(const char *hostname, int aftype, DNSCB callback, void *data);
+void cancel_lookup(uint32_t xid);
+void cancel_dns_stats(uint32_t xid);
-uint16_t lookup_hostname(const char *hostname, int aftype, DNSCB callback, void *data);
-uint16_t lookup_ip(const char *hostname, int aftype, DNSCB callback, void *data);
-void cancel_lookup(uint16_t xid);
+void dns_results_callback(const char *callid, const char *status, const char *aftype, const char *results);
+void dns_stats_results_callback(const char *callid, const char *status, int resc, const char *resv[]);
-void report_dns_servers(struct Client *);
+void init_dns(void);
+void reload_nameservers(void);
#endif