diff src/http/ngx_http_variables.h @ 50:72eb30262aac NGINX_0_1_25

nginx 0.1.25 *) Bugfix: nginx did run on Linux parisc. *) Feature: nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn value is too big. *) Bugfix: if a request was internally redirected by the ngx_http_index_module module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules, then the index file was not closed after request completion. *) Feature: the "proxy_pass" can be used in location with regular expression. *) Feature: the ngx_http_rewrite_filter_module module supports the condition like "if ($HTTP_USER_AGENT ~ MSIE)". *) Bugfix: nginx started too slow if the large number of addresses and text values were used in the "geo" directive. *) Change: a variable name must be declared as "$name" in the "geo" directive. The previous variant without "$" is still supported, but will be removed soon. *) Feature: the "%{VARIABLE}v" logging parameter. *) Feature: the "set $name value" directive. *) Bugfix: gcc 4.0 compatibility. *) Feature: the --with-openssl-opt=OPTIONS autoconfiguration directive.
author Igor Sysoev <http://sysoev.ru>
date Sat, 19 Mar 2005 00:00:00 +0300
parents 6cfc63e68377
children b55cbf18157e
line wrap: on
line diff
--- a/src/http/ngx_http_variables.h
+++ b/src/http/ngx_http_variables.h
@@ -17,45 +17,41 @@
 #define NGX_HTTP_VARIABLE_NOT_FOUND  (ngx_http_variable_value_t *) -1
 
 
-typedef struct {
+struct ngx_http_variable_value_s {
     ngx_uint_t                     value;
     ngx_str_t                      text;
-} ngx_http_variable_value_t;
-    
+};
 
 typedef struct ngx_http_variable_s  ngx_http_variable_t;
 
 typedef ngx_http_variable_value_t *
-                (*ngx_http_get_variable_pt) (ngx_http_request_t *r, void *var);
+    (*ngx_http_get_variable_pt) (ngx_http_request_t *r, uintptr_t data);
 
 
 struct ngx_http_variable_s {
-    ngx_str_t                      name;
-    ngx_uint_t                     index;
-    ngx_http_get_variable_pt       handler;
-    void                          *data;
-    ngx_uint_t                     uses;
+    ngx_str_t                  name;
+    ngx_uint_t                 index;
+    ngx_http_get_variable_pt   handler;
+    uintptr_t                  data;
 };
 
 
-typedef ngx_http_variable_value_t *
-    (*ngx_http_get_core_variable_pt) (ngx_http_request_t *r, uintptr_t data);
-
 typedef struct {
-    ngx_str_t                      name;
-    ngx_http_get_core_variable_pt  handler;
-    uintptr_t                      data;
+    ngx_str_t                  name;
+    ngx_http_get_variable_pt   handler;
+    uintptr_t                  data;
 } ngx_http_core_variable_t;
 
 
-ngx_http_variable_t *ngx_http_add_variable(ngx_conf_t *cf);
+ngx_http_variable_t *ngx_http_add_variable(ngx_conf_t *cf, ngx_str_t *name,
+    ngx_uint_t set);
 ngx_int_t ngx_http_get_variable_index(ngx_http_core_main_conf_t *cmcf,
     ngx_str_t *name);
 ngx_http_variable_value_t *ngx_http_get_indexed_variable(ngx_http_request_t *r,
     ngx_uint_t index);
 ngx_http_variable_value_t *ngx_http_get_variable(ngx_http_request_t *r,
     ngx_str_t *name);
-ngx_int_t ngx_http_core_variables_init(ngx_cycle_t *cycle);
+ngx_int_t ngx_http_variables_init(ngx_cycle_t *cycle);
 
 
 #endif /* _NGX_HTTP_VARIABLES_H_INCLUDED_ */