One Level Up
Top Level
src/core/ngx_radix_tree.h - nginx-1.7.10
Data types defined
Macros defined
Source code
- #ifndef _NGX_RADIX_TREE_H_INCLUDED_
- #define _NGX_RADIX_TREE_H_INCLUDED_
- #include <ngx_config.h>
- #include <ngx_core.h>
- #define NGX_RADIX_NO_VALUE (uintptr_t) -1
- typedef struct ngx_radix_node_s ngx_radix_node_t;
- struct ngx_radix_node_s {
- ngx_radix_node_t *right;
- ngx_radix_node_t *left;
- ngx_radix_node_t *parent;
- uintptr_t value;
- };
- typedef struct {
- ngx_radix_node_t *root;
- ngx_pool_t *pool;
- ngx_radix_node_t *free;
- char *start;
- size_t size;
- } ngx_radix_tree_t;
- ngx_radix_tree_t *ngx_radix_tree_create(ngx_pool_t *pool,
- ngx_int_t preallocate);
- ngx_int_t ngx_radix32tree_insert(ngx_radix_tree_t *tree,
- uint32_t key, uint32_t mask, uintptr_t value);
- ngx_int_t 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);
- #if (NGX_HAVE_INET6)
- ngx_int_t ngx_radix128tree_insert(ngx_radix_tree_t *tree,
- u_char *key, u_char *mask, uintptr_t value);
- ngx_int_t ngx_radix128tree_delete(ngx_radix_tree_t *tree,
- u_char *key, u_char *mask);
- uintptr_t ngx_radix128tree_find(ngx_radix_tree_t *tree, u_char *key);
- #endif
- #endif
One Level Up
Top Level