X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=include%2Fres.h;h=beb1e4bcb30f9895b1760c7d5b095d59ade3baf1;hb=d2bbc267ec2358a585dd28f8abf16c76a2cb7eea;hp=1029af09043087bb152559f11d130e218927a0a1;hpb=5ac01d417a447084cdf7b1d40959a0f7fff0f8b1;p=ircu2.10.12-pk.git diff --git a/include/res.h b/include/res.h index 1029af0..beb1e4b 100644 --- a/include/res.h +++ b/include/res.h @@ -66,19 +66,8 @@ struct irc_sockaddr unsigned short port; /**< Port number, host-endian. */ }; -/** DNS reply structure. */ -struct DNSReply -{ - char *h_name; /**< Hostname. */ - struct irc_in_addr addr; /**< IP address. */ -}; - -/** DNS callback structure. */ -struct DNSQuery -{ - void *vptr; /**< pointer used by callback to identify request */ - void (*callback)(void* vptr, struct DNSReply *reply); /**< callback to call */ -}; +/** DNS callback function signature. */ +typedef void (*dns_callback_f)(void *vptr, const struct irc_in_addr *addr, const char *h_name); /** DNS query and response header. */ typedef struct @@ -123,8 +112,8 @@ extern void add_local_domain(char *hname, size_t size); extern size_t cres_mem(struct Client* cptr); extern void delete_resolver_queries(const void *vptr); extern void report_dns_servers(struct Client *source_p, const struct StatDesc *sd, char *param); -extern void gethost_byname(const char *name, const struct DNSQuery *query); -extern void gethost_byaddr(const struct irc_in_addr *addr, const struct DNSQuery *query); +extern void gethost_byname(const char *name, dns_callback_f callback, void *ctx); +extern void gethost_byaddr(const struct irc_in_addr *addr, dns_callback_f callback, void *ctx); /** Evaluate to non-zero if \a ADDR is a valid address (not all 0s and not all 1s). */ #define irc_in_addr_valid(ADDR) (((ADDR)->in6_16[0] && ~(ADDR)->in6_16[0]) \