X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/e3f575ffc7bcb15d23f6844c7cf5562d2b93ac40..d6e3e09b500f90c2b6423bbeaaad5019e28e0c4a:/client/adnshost.h diff --git a/client/adnshost.h b/client/adnshost.h index 3e93ca7..ee3a5ca 100644 --- a/client/adnshost.h +++ b/client/adnshost.h @@ -33,8 +33,13 @@ #include #include #include +#include #include +#include +#include +#include + #include "config.h" #include "adns.h" #include "dlist.h" @@ -71,17 +76,27 @@ extern int ov_tcp, ov_cname; extern char *ov_id; extern struct perqueryflags_remember ov_pqfr; -extern optfunc of_help, of_type, of_asynch_id, of_cancel_id; +extern optfunc of_help, of_type, of_ptr, of_asynch_id, of_cancel_id; const struct optioninfo *opt_findl(const char *opt); const struct optioninfo *opt_finds(const char **optp); -void opt_do(const struct optioninfo *oip, const char *arg); +void opt_do(const struct optioninfo *oip, const char *arg, int invert); /* declarations related to query processing */ +struct query_node { + struct query_node *next, *back; + struct perqueryflags_remember pqfr; + char *id; + adns_query qu; +}; + extern adns_state ads; +extern struct outstanding_list { struct query_node *head, *tail; } outstanding; -void domain_do(const char *domain); +void ensure_adns_init(void); +void query_do(const char *domain); +void query_done(struct query_node *qun, adns_answer *answer); void of_asynch_id(const struct optioninfo *oi, const char *arg); void of_cancel_id(const struct optioninfo *oi, const char *arg); @@ -90,8 +105,11 @@ void of_cancel_id(const struct optioninfo *oi, const char *arg); void sysfail(const char *what, int errnoval) NONRETURNING; void usageerr(const char *what, ...) NONRETURNPRINTFFORMAT(1,2); +void outerr(void) NONRETURNING; void *xmalloc(size_t sz); char *xstrsave(const char *str); +extern int rcode; + #endif