Mercurial > hg > nginx
diff src/core/ngx_radix_tree.h @ 340:0bf903191ceb
nginx-0.0.3-2004-05-25-19:28:46 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 25 May 2004 15:28:46 +0000 |
parents | |
children | 41e552841296 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/src/core/ngx_radix_tree.h @@ -0,0 +1,34 @@ +#ifndef _NGX_RADIX_TREE_H_INCLUDED_ +#define _NGX_RADIX_TREE_H_INCLUDED_ + + +#include <ngx_config.h> +#include <ngx_core.h> + + +typedef struct ngx_radix_node_s ngx_radix_node_t; + +struct ngx_radix_node_s { + uintptr_t value; + ngx_radix_node_t *right; + ngx_radix_node_t *left; +}; + + +typedef struct { + ngx_radix_node_t *root; + ngx_pool_t *pool; + char *free; + size_t size; +} ngx_radix_tree_t; + + +ngx_radix_tree_t *ngx_radix_tree_create(ngx_pool_t *pool); +ngx_int_t ngx_radix32tree_insert(ngx_radix_tree_t *tree, + uint32_t key, uint32_t mask, uintptr_t value); +void ngx_radix32tree_delete(ngx_radix_tree_t *tree, + uint32_t key, uint32_t mask); +uintptr_t ngx_radix32tree_find(ngx_radix_tree_t *tree, uint32_t key); + + +#endif /* _NGX_RADIX_TREE_H_INCLUDED_ */