comparison src/core/ngx_inet.h @ 804:472cd9768ac2

now the "listen" directives use ngx_parse_url()
author Igor Sysoev <igor@sysoev.ru>
date Tue, 24 Oct 2006 13:06:55 +0000
parents 6d5c1535bb9d
children eef6d9cc45da
comparison
equal deleted inserted replaced
803:134a3c12d298 804:472cd9768ac2
15 #define NGX_PARSE_URL_INET 1 15 #define NGX_PARSE_URL_INET 1
16 #define NGX_PARSE_URL_UNIX 2 16 #define NGX_PARSE_URL_UNIX 2
17 17
18 18
19 typedef struct { 19 typedef struct {
20 in_addr_t addr; 20 in_addr_t addr;
21 in_addr_t mask; 21 in_addr_t mask;
22 } ngx_inet_cidr_t; 22 } ngx_inet_cidr_t;
23 23
24 24
25 typedef struct { 25 typedef struct {
26 struct sockaddr *sockaddr; 26 struct sockaddr *sockaddr;
55 55
56 ngx_peer_t peer[1]; 56 ngx_peer_t peer[1];
57 }; 57 };
58 58
59 59
60 typedef union {
61 in_addr_t in_addr;
62 } ngx_url_addr_t;
63
64
60 typedef struct { 65 typedef struct {
61 ngx_int_t type; 66 ngx_int_t type;
62 67
63 ngx_peers_t *peers; 68 ngx_peers_t *peers;
64 69
65 ngx_str_t url; 70 ngx_str_t url;
66 ngx_str_t host; 71 ngx_str_t host;
67 ngx_str_t host_header; 72 ngx_str_t host_header;
68 ngx_str_t port; 73 ngx_str_t port;
69 ngx_str_t uri; 74 ngx_str_t uri;
70 75
71 in_port_t portn; 76 in_port_t portn;
72 in_port_t default_portn; 77 in_port_t default_portn;
73 78
74 unsigned listen:1; 79 unsigned listen:1;
75 unsigned uri_part:1; 80 unsigned uri_part:1;
76 unsigned upstream:1; 81 unsigned upstream:1;
77 82
78 unsigned default_port:1; 83 unsigned default_port:1;
79 unsigned wildcard:1; 84 unsigned wildcard:1;
80 85
81 char *err; 86 ngx_url_addr_t addr;
87
88 char *err;
82 } ngx_url_t; 89 } ngx_url_t;
83 90
84 91
85 typedef struct { 92 typedef struct {
86 ngx_str_t name; /* "schema:host:port/uri" */ 93 ngx_str_t name; /* "schema:host:port/uri" */
87 ngx_str_t url; /* "host:port/uri" */ 94 ngx_str_t url; /* "host:port/uri" */
88 ngx_str_t host; 95 ngx_str_t host;
89 ngx_str_t uri; 96 ngx_str_t uri;
90 ngx_str_t host_header; /* "host:port" */ 97 ngx_str_t host_header; /* "host:port" */
91 ngx_str_t port_text; /* "port" */ 98 ngx_str_t port_text; /* "port" */
92 99
93 in_port_t port; 100 in_port_t port;
94 101
95 in_port_t default_port_value; 102 in_port_t default_port_value;
96 103
97 unsigned default_port:1; 104 unsigned default_port:1;
98 unsigned wildcard:1; 105 unsigned wildcard:1;
99 106
100 unsigned uri_part:1; 107 unsigned uri_part:1;
101 unsigned port_only:1; 108 unsigned port_only:1;
102 } ngx_inet_upstream_t; 109 } ngx_inet_upstream_t;
103 110
104 111
105 size_t ngx_sock_ntop(int family, struct sockaddr *sa, u_char *text, 112 size_t ngx_sock_ntop(int family, struct sockaddr *sa, u_char *text,
106 size_t len); 113 size_t len);
107 size_t ngx_inet_ntop(int family, void *addr, u_char *text, size_t len); 114 size_t ngx_inet_ntop(int family, void *addr, u_char *text, size_t len);
108 115
109 ngx_int_t ngx_ptocidr(ngx_str_t *text, void *cidr); 116 ngx_int_t ngx_ptocidr(ngx_str_t *text, void *cidr);
110 117
111 ngx_peers_t *ngx_inet_upstream_parse(ngx_conf_t *cf, ngx_inet_upstream_t *u); 118 ngx_peers_t *ngx_inet_upstream_parse(ngx_conf_t *cf, ngx_inet_upstream_t *u);
112 ngx_peers_t *ngx_inet_resolve_peer(ngx_conf_t *cf, ngx_str_t *name, 119 ngx_peers_t *ngx_inet_resolve_peer(ngx_conf_t *cf, ngx_str_t *name,
113 in_port_t port); 120 in_port_t port);
114 char *ngx_inet_parse_host_port(ngx_inet_upstream_t *u);
115 ngx_int_t ngx_parse_url(ngx_conf_t *cf, ngx_url_t *u); 121 ngx_int_t ngx_parse_url(ngx_conf_t *cf, ngx_url_t *u);
116 122
117 123
118 #endif /* _NGX_INET_H_INCLUDED_ */ 124 #endif /* _NGX_INET_H_INCLUDED_ */