comparison src/core/ngx_radix_tree.h @ 5048:2f0862333985 stable-1.2

Merge of r4993, r4994, r4997, r5000: geo ipv6 support. *) Geo: IPv6 support. The "ranges" mode is still limited to IPv4 only. *) Geo: properly initialize ngx_cidr_t when dealing with "default". *) Geo: made "default" affect both IPv4 and IPv6 when using prefixes. Previously, "default" was equivalent to specifying 0.0.0.0/0, now it's equivalent to specifying both 0.0.0.0/0 and ::/0 (if support for IPv6 is enabled) with the same value. *) Geo: improved code readability.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 11 Feb 2013 12:31:43 +0000
parents d620f497c50f
children
comparison
equal deleted inserted replaced
5047:852f40088278 5048:2f0862333985
34 } ngx_radix_tree_t; 34 } ngx_radix_tree_t;
35 35
36 36
37 ngx_radix_tree_t *ngx_radix_tree_create(ngx_pool_t *pool, 37 ngx_radix_tree_t *ngx_radix_tree_create(ngx_pool_t *pool,
38 ngx_int_t preallocate); 38 ngx_int_t preallocate);
39
39 ngx_int_t ngx_radix32tree_insert(ngx_radix_tree_t *tree, 40 ngx_int_t ngx_radix32tree_insert(ngx_radix_tree_t *tree,
40 uint32_t key, uint32_t mask, uintptr_t value); 41 uint32_t key, uint32_t mask, uintptr_t value);
41 ngx_int_t ngx_radix32tree_delete(ngx_radix_tree_t *tree, 42 ngx_int_t ngx_radix32tree_delete(ngx_radix_tree_t *tree,
42 uint32_t key, uint32_t mask); 43 uint32_t key, uint32_t mask);
43 uintptr_t ngx_radix32tree_find(ngx_radix_tree_t *tree, uint32_t key); 44 uintptr_t ngx_radix32tree_find(ngx_radix_tree_t *tree, uint32_t key);
44 45
46 #if (NGX_HAVE_INET6)
47 ngx_int_t ngx_radix128tree_insert(ngx_radix_tree_t *tree,
48 u_char *key, u_char *mask, uintptr_t value);
49 ngx_int_t ngx_radix128tree_delete(ngx_radix_tree_t *tree,
50 u_char *key, u_char *mask);
51 uintptr_t ngx_radix128tree_find(ngx_radix_tree_t *tree, u_char *key);
52 #endif
53
45 54
46 #endif /* _NGX_RADIX_TREE_H_INCLUDED_ */ 55 #endif /* _NGX_RADIX_TREE_H_INCLUDED_ */