#include <ngx_config.h>
#include <ngx_core.h>
#ifndef _NGX_RESOLVER_H_INCLUDED_
#define _NGX_RESOLVER_H_INCLUDED_
#define NGX_RESOLVE_A …
#define NGX_RESOLVE_CNAME …
#define NGX_RESOLVE_PTR …
#define NGX_RESOLVE_MX …
#define NGX_RESOLVE_TXT …
#if (NGX_HAVE_INET6)
#define NGX_RESOLVE_AAAA …
#endif
#define NGX_RESOLVE_SRV …
#define NGX_RESOLVE_DNAME …
#define NGX_RESOLVE_FORMERR …
#define NGX_RESOLVE_SERVFAIL …
#define NGX_RESOLVE_NXDOMAIN …
#define NGX_RESOLVE_NOTIMP …
#define NGX_RESOLVE_REFUSED …
#define NGX_RESOLVE_TIMEDOUT …
#define NGX_NO_RESOLVER …
#define NGX_RESOLVER_MAX_RECURSION …
ngx_resolver_t;
ngx_resolver_connection_t;
ngx_resolver_ctx_t;
ngx_resolver_handler_pt;
ngx_resolver_addr_t;
ngx_resolver_srv_t;
ngx_resolver_srv_name_t;
ngx_resolver_node_t;
struct ngx_resolver_s { … };
struct ngx_resolver_ctx_s { … };
ngx_resolver_t *ngx_resolver_create(ngx_conf_t *cf, ngx_str_t *names,
ngx_uint_t n);
ngx_resolver_ctx_t *ngx_resolve_start(ngx_resolver_t *r,
ngx_resolver_ctx_t *temp);
ngx_int_t ngx_resolve_name(ngx_resolver_ctx_t *ctx);
void ngx_resolve_name_done(ngx_resolver_ctx_t *ctx);
ngx_int_t ngx_resolve_addr(ngx_resolver_ctx_t *ctx);
void ngx_resolve_addr_done(ngx_resolver_ctx_t *ctx);
char *ngx_resolver_strerror(ngx_int_t err);
#endif