nginx/src/core/ngx_resolver.h


/*
 * Copyright (C) Igor Sysoev
 * Copyright (C) Nginx, Inc.
 */


#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 /* _NGX_RESOLVER_H_INCLUDED_ */