#include #include #include #if defined(__OpenBSD__) #include #else #include #endif struct ggnet_dns_req { LIST_ENTRY(ggnet_dns_req) entry; struct ggnet_dns *ggdns; struct evdns_request *ereq; struct in_addr ip; char *name; void (*cb_usr)(struct in_addr *, char *, void *); void *data; }; struct ggnet_dns { struct event_base *ev_base; struct evdns_base *evdns_base; int req_pending; LIST_HEAD(, ggnet_dns_req) req_list; /* XXX for now unused. remove ? */ }; struct ggnet_dns *ggnet_dns_new(struct event_base *); void ggnet_dns_free(struct ggnet_dns *); struct ggnet_dns_req *ggnet_dns_reverse(struct ggnet_dns *, struct in_addr *, void (*cb_usr)(struct in_addr *, char *, void *), void *); void ggnet_dns_cancel(struct ggnet_dns *, struct ggnet_dns_req *);