asr_query
struct asr_query;
int asr_run(struct asr_query *, struct asr_result *);
int asr_run_sync(struct asr_query *, struct asr_result *);
void asr_abort(struct asr_query *);
struct asr_query *res_send_async(const unsigned char *, int, void *);
struct asr_query *res_query_async(const char *, int, int, void *);
struct asr_query *res_search_async(const char *, int, int, void *);
struct asr_query *getrrsetbyname_async(const char *, unsigned int, unsigned int,
struct asr_query *gethostbyname_async(const char *, void *);
struct asr_query *gethostbyname2_async(const char *, int, void *);
struct asr_query *gethostbyaddr_async(const void *, socklen_t, int, void *);
struct asr_query *getnetbyname_async(const char *, void *);
struct asr_query *getnetbyaddr_async(in_addr_t, int, void *);
struct asr_query *getaddrinfo_async(const char *, const char *,
struct asr_query *getnameinfo_async(const struct sockaddr *, socklen_t, char *,
asr_abort(struct asr_query *as)
asr_run(struct asr_query *as, struct asr_result *ar)
asr_run_sync(struct asr_query *as, struct asr_result *ar)
struct asr_query *
struct asr_query *as;
_asr_async_free(struct asr_query *as)
_asr_iter_db(struct asr_query *as)
int (*as_run)(struct asr_query *, struct asr_result *);
struct asr_query *as_subq;
struct asr_query *_asr_async_new(struct asr_ctx *, int);
void _asr_async_free(struct asr_query *);
int _asr_iter_db(struct asr_query *);
struct asr_query *_res_query_async_ctx(const char *, int, int, struct asr_ctx *);
struct asr_query *_res_search_async_ctx(const char *, int, int, struct asr_ctx *);
struct asr_query *_gethostbyaddr_async_ctx(const void *, socklen_t, int,
int _asr_iter_domain(struct asr_query *, const char *, char *, size_t);
struct asr_query *as;
getaddrinfo_async_run(struct asr_query *as, struct asr_result *ar)
static int getaddrinfo_async_run(struct asr_query *, struct asr_result *);
static int iter_family(struct asr_query *, int);
static int addrinfo_add(struct asr_query *, const struct sockaddr *, const char *);
static int addrinfo_from_file(struct asr_query *, int, FILE *);
static int addrinfo_from_pkt(struct asr_query *, char *, size_t);
static int addrconfig_setup(struct asr_query *);
iter_family(struct asr_query *as, int first)
addrinfo_add(struct asr_query *as, const struct sockaddr *sa, const char *cname)
addrinfo_from_file(struct asr_query *as, int family, FILE *f)
addrinfo_from_pkt(struct asr_query *as, char *pkt, size_t pktlen)
addrconfig_setup(struct asr_query *as)
struct asr_query *
struct asr_query *as;
struct asr_query *as;
struct asr_query *as;
struct asr_query *
struct asr_query *as;
struct asr_query *
struct asr_query *as;
gethostnamadr_async_run(struct asr_query *as, struct asr_result *ar)
static int gethostnamadr_async_run(struct asr_query *, struct asr_result *);
struct asr_query *
struct asr_query *
struct asr_query *as;
struct asr_query *as;
_servname(struct asr_query *as)
_numerichost(struct asr_query *as)
static int getnameinfo_async_run(struct asr_query *, struct asr_result *);
static int _servname(struct asr_query *);
static int _numerichost(struct asr_query *);
struct asr_query *
struct asr_query *as;
getnameinfo_async_run(struct asr_query *as, struct asr_result *ar)
struct asr_query *as;
struct asr_query *as;
struct asr_query *
struct asr_query *as;
struct asr_query *
struct asr_query *as;
struct asr_query *as;
static int getrrsetbyname_async_run(struct asr_query *, struct asr_result *);
struct asr_query *
struct asr_query *as;
getrrsetbyname_async_run(struct asr_query *as, struct asr_result *ar)
struct asr_query *as;
struct asr_query *as;
_asr_iter_domain(struct asr_query *as, const char *name, char * buf, size_t len)
static int res_search_async_run(struct asr_query *, struct asr_result *);
struct asr_query *
struct asr_query *as;
struct asr_query *
struct asr_query *as;
res_search_async_run(struct asr_query *as, struct asr_result *ar)
struct asr_query *as;
struct asr_query *
struct asr_query *as;
struct asr_query *
struct asr_query *as;
res_send_async_run(struct asr_query *as, struct asr_result *ar)
setup_query(struct asr_query *as, const char *name, const char *dom,
static int res_send_async_run(struct asr_query *, struct asr_result *);
static int udp_send(struct asr_query *);
static int udp_recv(struct asr_query *);
static int tcp_write(struct asr_query *);
udp_send(struct asr_query *as)
static int tcp_read(struct asr_query *);
static int validate_packet(struct asr_query *);
static int setup_query(struct asr_query *, const char *, const char *, int, int);
udp_recv(struct asr_query *as)
static int ensure_ibuf(struct asr_query *, size_t);
static int iter_ns(struct asr_query *);
tcp_write(struct asr_query *as)
struct asr_query *
struct asr_query *as;
tcp_read(struct asr_query *as)
ensure_ibuf(struct asr_query *as, size_t n)
validate_packet(struct asr_query *as)
iter_ns(struct asr_query *as)
struct asr_query *async;
event_asr_run(struct asr_query *async, void (*cb)(struct asr_result *, void *),
struct asr_query;
struct event_asr * event_asr_run(struct asr_query *,
struct asr_query *aq = NULL;
struct asr_query *aq = NULL;
struct asr_query *q;
struct asr_query *as;
struct asr_query *q;
struct asr_query *as;
struct asr_query *aq;
struct asr_query *aq;