X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/adns/blobdiff_plain/aa1d71950135594db944292a859b4ef81ed192fa..1bd9afad43bdb93e74d849a754ec33bd51428bd1:/client/adnshost.h diff --git a/client/adnshost.h b/client/adnshost.h index 3e93ca7..7fe0020 100644 --- a/client/adnshost.h +++ b/client/adnshost.h @@ -28,13 +28,19 @@ #ifndef ADNSHOST_H_INCLUDED #define ADNSHOST_H_INCLUDED +#include #include #include #include #include #include +#include #include +#include +#include +#include + #include "config.h" #include "adns.h" #include "dlist.h" @@ -71,17 +77,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 +106,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