Mercurial > hg > nginx
comparison src/core/ngx_resolver.h @ 5477:98876ce2a7fd
Resolver: implemented IPv6 name to address resolving.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Mon, 09 Dec 2013 10:53:28 +0400 |
parents | 950c9ed3e66f |
children | 3cb3175a6fef |
comparison
equal
deleted
inserted
replaced
5476:950c9ed3e66f | 5477:98876ce2a7fd |
---|---|
16 #define NGX_RESOLVE_A 1 | 16 #define NGX_RESOLVE_A 1 |
17 #define NGX_RESOLVE_CNAME 5 | 17 #define NGX_RESOLVE_CNAME 5 |
18 #define NGX_RESOLVE_PTR 12 | 18 #define NGX_RESOLVE_PTR 12 |
19 #define NGX_RESOLVE_MX 15 | 19 #define NGX_RESOLVE_MX 15 |
20 #define NGX_RESOLVE_TXT 16 | 20 #define NGX_RESOLVE_TXT 16 |
21 #if (NGX_HAVE_INET6) | |
22 #define NGX_RESOLVE_AAAA 28 | |
23 #endif | |
21 #define NGX_RESOLVE_DNAME 39 | 24 #define NGX_RESOLVE_DNAME 39 |
22 | 25 |
23 #define NGX_RESOLVE_FORMERR 1 | 26 #define NGX_RESOLVE_FORMERR 1 |
24 #define NGX_RESOLVE_SERVFAIL 2 | 27 #define NGX_RESOLVE_SERVFAIL 2 |
25 #define NGX_RESOLVE_NXDOMAIN 3 | 28 #define NGX_RESOLVE_NXDOMAIN 3 |
61 | 64 |
62 u_short nlen; | 65 u_short nlen; |
63 u_short qlen; | 66 u_short qlen; |
64 | 67 |
65 u_char *query; | 68 u_char *query; |
69 #if (NGX_HAVE_INET6) | |
70 u_char *query6; | |
71 #endif | |
66 | 72 |
67 union { | 73 union { |
68 in_addr_t addr; | 74 in_addr_t addr; |
69 in_addr_t *addrs; | 75 in_addr_t *addrs; |
70 u_char *cname; | 76 u_char *cname; |
71 } u; | 77 } u; |
72 | 78 |
79 u_char code; | |
73 u_short naddrs; | 80 u_short naddrs; |
74 u_short cnlen; | 81 u_short cnlen; |
75 | 82 |
83 #if (NGX_HAVE_INET6) | |
84 union { | |
85 struct in6_addr addr6; | |
86 struct in6_addr *addrs6; | |
87 } u6; | |
88 | |
89 u_short naddrs6; | |
90 #endif | |
91 | |
76 time_t expire; | 92 time_t expire; |
77 time_t valid; | 93 time_t valid; |
94 uint32_t ttl; | |
78 | 95 |
79 ngx_resolver_ctx_t *waiting; | 96 ngx_resolver_ctx_t *waiting; |
80 } ngx_resolver_node_t; | 97 } ngx_resolver_node_t; |
81 | 98 |
82 | 99 |
127 | 144 |
128 /* ident must be after 3 pointers */ | 145 /* ident must be after 3 pointers */ |
129 ngx_int_t ident; | 146 ngx_int_t ident; |
130 | 147 |
131 ngx_int_t state; | 148 ngx_int_t state; |
132 ngx_int_t type; | |
133 ngx_str_t name; | 149 ngx_str_t name; |
134 | 150 |
135 ngx_uint_t naddrs; | 151 ngx_uint_t naddrs; |
136 ngx_addr_t *addrs; | 152 ngx_addr_t *addrs; |
137 ngx_addr_t addr; | 153 ngx_addr_t addr; |