comparison src/core/ngx_inet.h @ 665:0b460e61bdcd default tip

Merge with nginx 1.0.0.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 25 Apr 2011 04:22:17 +0400
parents c04fa65fe604
children
comparison
equal deleted inserted replaced
572:06419a2298a9 665:0b460e61bdcd
10 10
11 #include <ngx_config.h> 11 #include <ngx_config.h>
12 #include <ngx_core.h> 12 #include <ngx_core.h>
13 13
14 14
15 #define NGX_INET_ADDRSTRLEN (sizeof("255.255.255.255") - 1)
16 #define NGX_INET6_ADDRSTRLEN \
17 (sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255") - 1)
18
19 #define NGX_SOCKADDR_STRLEN (NGX_INET6_ADDRSTRLEN + sizeof(":65535") - 1)
20
21
22 /* 15 /*
23 * TODO: autoconfigure NGX_SOCKADDRLEN as 16 * TODO: autoconfigure NGX_SOCKADDRLEN and NGX_SOCKADDR_STRLEN as
24 * sizeof(struct sockaddr_storage) 17 * sizeof(struct sockaddr_storage)
25 * sizeof(struct sockaddr_un) 18 * sizeof(struct sockaddr_un)
26 * sizeof(struct sockaddr_in6) 19 * sizeof(struct sockaddr_in6)
27 * sizeof(struct sockaddr_in) 20 * sizeof(struct sockaddr_in)
28 */ 21 */
22
23 #define NGX_INET_ADDRSTRLEN (sizeof("255.255.255.255") - 1)
24 #define NGX_INET6_ADDRSTRLEN \
25 (sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255") - 1)
26 #define NGX_UNIX_ADDRSTRLEN \
27 (sizeof(struct sockaddr_un) - offsetof(struct sockaddr_un, sun_path))
28
29 #if (NGX_HAVE_UNIX_DOMAIN)
30 #define NGX_SOCKADDR_STRLEN (sizeof("unix:") - 1 + NGX_UNIX_ADDRSTRLEN)
31 #else
32 #define NGX_SOCKADDR_STRLEN (NGX_INET6_ADDRSTRLEN + sizeof(":65535") - 1)
33 #endif
29 34
30 #if (NGX_HAVE_UNIX_DOMAIN) 35 #if (NGX_HAVE_UNIX_DOMAIN)
31 #define NGX_SOCKADDRLEN sizeof(struct sockaddr_un) 36 #define NGX_SOCKADDRLEN sizeof(struct sockaddr_un)
32 #else 37 #else
33 #define NGX_SOCKADDRLEN 512 38 #define NGX_SOCKADDRLEN 512
63 68
64 typedef struct { 69 typedef struct {
65 struct sockaddr *sockaddr; 70 struct sockaddr *sockaddr;
66 socklen_t socklen; 71 socklen_t socklen;
67 ngx_str_t name; 72 ngx_str_t name;
68 } ngx_peer_addr_t; 73 } ngx_addr_t;
69 74
70 75
71 typedef struct { 76 typedef struct {
72 ngx_str_t url; 77 ngx_str_t url;
73 ngx_str_t host; 78 ngx_str_t host;
87 unsigned wildcard:1; 92 unsigned wildcard:1;
88 93
89 socklen_t socklen; 94 socklen_t socklen;
90 u_char sockaddr[NGX_SOCKADDRLEN]; 95 u_char sockaddr[NGX_SOCKADDRLEN];
91 96
92 ngx_peer_addr_t *addrs; 97 ngx_addr_t *addrs;
93 ngx_uint_t naddrs; 98 ngx_uint_t naddrs;
94 99
95 char *err; 100 char *err;
96 } ngx_url_t; 101 } ngx_url_t;
97 102
98 103
99 in_addr_t ngx_inet_addr(u_char *text, size_t len); 104 in_addr_t ngx_inet_addr(u_char *text, size_t len);
105 #if (NGX_HAVE_INET6)
106 ngx_int_t ngx_inet6_addr(u_char *p, size_t len, u_char *addr);
107 size_t ngx_inet6_ntop(u_char *p, u_char *text, size_t len);
108 #endif
100 size_t ngx_sock_ntop(struct sockaddr *sa, u_char *text, size_t len, 109 size_t ngx_sock_ntop(struct sockaddr *sa, u_char *text, size_t len,
101 ngx_uint_t port); 110 ngx_uint_t port);
102 size_t ngx_inet_ntop(int family, void *addr, u_char *text, size_t len); 111 size_t ngx_inet_ntop(int family, void *addr, u_char *text, size_t len);
103 ngx_int_t ngx_ptocidr(ngx_str_t *text, ngx_cidr_t *cidr); 112 ngx_int_t ngx_ptocidr(ngx_str_t *text, ngx_cidr_t *cidr);
113 ngx_int_t ngx_parse_addr(ngx_pool_t *pool, ngx_addr_t *addr, u_char *text,
114 size_t len);
104 ngx_int_t ngx_parse_url(ngx_pool_t *pool, ngx_url_t *u); 115 ngx_int_t ngx_parse_url(ngx_pool_t *pool, ngx_url_t *u);
105 ngx_int_t ngx_inet_resolve_host(ngx_pool_t *pool, ngx_url_t *u); 116 ngx_int_t ngx_inet_resolve_host(ngx_pool_t *pool, ngx_url_t *u);
106 117
107 118
108
109 #endif /* _NGX_INET_H_INCLUDED_ */ 119 #endif /* _NGX_INET_H_INCLUDED_ */