comparison src/core/ngx_hash.h @ 198:e6da4931e0e0 NGINX_0_3_46

nginx 0.3.46 *) Feature: the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header", and "fastcgi_pass_header" directives. *) Change: the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server" directives were canceled. *) Feature: the "X-Accel-Buffering" response header line is supported in proxy mode. *) Bugfix: the reconfiguration bug and memory leaks in the ngx_http_perl_module.
author Igor Sysoev <http://sysoev.ru>
date Thu, 11 May 2006 00:00:00 +0400
parents 36af50a5582d
children 95d92ec39071
comparison
equal deleted inserted replaced
197:93658b91fad2 198:e6da4931e0e0
92 92
93 typedef struct { 93 typedef struct {
94 ngx_uint_t hash; 94 ngx_uint_t hash;
95 ngx_str_t key; 95 ngx_str_t key;
96 ngx_str_t value; 96 ngx_str_t value;
97 u_char *lowcase_key;
97 } ngx_table_elt_t; 98 } ngx_table_elt_t;
98 99
99 100
100 void *ngx_hash_find(ngx_hash_t *hash, ngx_uint_t key, u_char *name, size_t len); 101 void *ngx_hash_find(ngx_hash_t *hash, ngx_uint_t key, u_char *name, size_t len);
101 void *ngx_hash_find_wildcard(ngx_hash_wildcard_t *hwc, u_char *name, 102 void *ngx_hash_find_wildcard(ngx_hash_wildcard_t *hwc, u_char *name,
104 ngx_int_t ngx_hash_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, 105 ngx_int_t ngx_hash_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names,
105 ngx_uint_t nelts); 106 ngx_uint_t nelts);
106 ngx_int_t ngx_hash_wildcard_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, 107 ngx_int_t ngx_hash_wildcard_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names,
107 ngx_uint_t nelts); 108 ngx_uint_t nelts);
108 109
109 #define ngx_hash(key, c) key * 31 + c 110 #define ngx_hash(key, c) ((ngx_uint_t) key * 31 + c)
110 ngx_uint_t ngx_hash_key(u_char *data, size_t len); 111 ngx_uint_t ngx_hash_key(u_char *data, size_t len);
111 ngx_uint_t ngx_hash_key_lc(u_char *data, size_t len); 112 ngx_uint_t ngx_hash_key_lc(u_char *data, size_t len);
112 113
113 ngx_int_t ngx_hash_keys_array_init(ngx_hash_keys_arrays_t *ha, ngx_uint_t type); 114 ngx_int_t ngx_hash_keys_array_init(ngx_hash_keys_arrays_t *ha, ngx_uint_t type);
114 ngx_int_t ngx_hash_add_key(ngx_hash_keys_arrays_t *ha, ngx_str_t *key, 115 ngx_int_t ngx_hash_add_key(ngx_hash_keys_arrays_t *ha, ngx_str_t *key,
115 void *value, ngx_uint_t flags); 116 void *value, ngx_uint_t flags);
116 117
117 118
118 #define ngx_hash0(key, c) key + c
119 ngx_int_t ngx_hash0_init(ngx_hash0_t *hash, ngx_pool_t *pool, void *names,
120 ngx_uint_t nelts);
121
122
123 #endif /* _NGX_HASH_H_INCLUDED_ */ 119 #endif /* _NGX_HASH_H_INCLUDED_ */