~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Nginx/http/ngx_http_variables.h

Version: ~ [ nginx-0.6.26 ] ~ [ nginx-0.5.35 ] ~ [ nginx-0.5.20 ] ~ [ nginx-0.5.19 ] ~

  1 
  2 /*
  3  * Copyright (C) Igor Sysoev
  4  */
  5 
  6 
  7 #ifndef _NGX_HTTP_VARIABLES_H_INCLUDED_
  8 #define _NGX_HTTP_VARIABLES_H_INCLUDED_
  9 
 10 
 11 #include <ngx_config.h>
 12 #include <ngx_core.h>
 13 #include <ngx_event.h>
 14 #include <ngx_http.h>
 15 
 16 
 17 typedef ngx_variable_value_t  ngx_http_variable_value_t;
 18 
 19 #define ngx_http_variable(v)     { sizeof(v) - 1, 1, 0, 0, (u_char *) v }
 20 
 21 typedef struct ngx_http_variable_s  ngx_http_variable_t;
 22 
 23 typedef void (*ngx_http_set_variable_pt) (ngx_http_request_t *r,
 24     ngx_http_variable_value_t *v, uintptr_t data);
 25 typedef ngx_int_t (*ngx_http_get_variable_pt) (ngx_http_request_t *r,
 26     ngx_http_variable_value_t *v, uintptr_t data);
 27 
 28 
 29 #define NGX_HTTP_VAR_CHANGEABLE   1
 30 #define NGX_HTTP_VAR_NOCACHEABLE  2
 31 #define NGX_HTTP_VAR_INDEXED      4
 32 #define NGX_HTTP_VAR_NOHASH       8
 33 
 34 
 35 struct ngx_http_variable_s {
 36     ngx_str_t                     name;   /* must be first to build the hash */
 37     ngx_http_set_variable_pt      set_handler;
 38     ngx_http_get_variable_pt      get_handler;
 39     uintptr_t                     data;
 40     ngx_uint_t                    flags;
 41     ngx_uint_t                    index;
 42 };
 43 
 44 
 45 ngx_http_variable_t *ngx_http_add_variable(ngx_conf_t *cf, ngx_str_t *name,
 46     ngx_uint_t flags);
 47 ngx_int_t ngx_http_get_variable_index(ngx_conf_t *cf, ngx_str_t *name);
 48 ngx_http_variable_value_t *ngx_http_get_indexed_variable(ngx_http_request_t *r,
 49     ngx_uint_t index);
 50 ngx_http_variable_value_t *ngx_http_get_flushed_variable(ngx_http_request_t *r,
 51     ngx_uint_t index);
 52 
 53 ngx_http_variable_value_t *ngx_http_get_variable(ngx_http_request_t *r,
 54     ngx_str_t *name, ngx_uint_t key, ngx_uint_t nowarn);
 55 
 56 ngx_int_t ngx_http_variable_unknown_header(ngx_http_variable_value_t *v,
 57     ngx_str_t *var, ngx_list_part_t *part, size_t prefix);
 58 
 59 
 60 #define ngx_http_clear_variable(r, index) r->variables0[index].text.data = NULL;
 61 
 62 
 63 ngx_int_t ngx_http_variables_add_core_vars(ngx_conf_t *cf);
 64 ngx_int_t ngx_http_variables_init_vars(ngx_conf_t *cf);
 65 
 66 
 67 extern ngx_http_variable_value_t  ngx_http_variable_null_value;
 68 extern ngx_http_variable_value_t  ngx_http_variable_true_value;
 69 
 70 
 71 #endif /* _NGX_HTTP_VARIABLES_H_INCLUDED_ */
 72 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.