Tree @release-1.13.2 (Download .tar.gz)
- ..
- nginx.c
- nginx.h
- ngx_array.c
- ngx_array.h
- ngx_buf.c
- ngx_buf.h
- ngx_conf_file.c
- ngx_conf_file.h
- ngx_config.h
- ngx_connection.c
- ngx_connection.h
- ngx_core.h
- ngx_cpuinfo.c
- ngx_crc.h
- ngx_crc32.c
- ngx_crc32.h
- ngx_crypt.c
- ngx_crypt.h
- ngx_cycle.c
- ngx_cycle.h
- ngx_file.c
- ngx_file.h
- ngx_hash.c
- ngx_hash.h
- ngx_inet.c
- ngx_inet.h
- ngx_list.c
- ngx_list.h
- ngx_log.c
- ngx_log.h
- ngx_md5.c
- ngx_md5.h
- ngx_module.c
- ngx_module.h
- ngx_murmurhash.c
- ngx_murmurhash.h
- ngx_open_file_cache.c
- ngx_open_file_cache.h
- ngx_output_chain.c
- ngx_palloc.c
- ngx_palloc.h
- ngx_parse.c
- ngx_parse.h
- ngx_parse_time.c
- ngx_parse_time.h
- ngx_proxy_protocol.c
- ngx_proxy_protocol.h
- ngx_queue.c
- ngx_queue.h
- ngx_radix_tree.c
- ngx_radix_tree.h
- ngx_rbtree.c
- ngx_rbtree.h
- ngx_regex.c
- ngx_regex.h
- ngx_resolver.c
- ngx_resolver.h
- ngx_rwlock.c
- ngx_rwlock.h
- ngx_sha1.c
- ngx_sha1.h
- ngx_shmtx.c
- ngx_shmtx.h
- ngx_slab.c
- ngx_slab.h
- ngx_spinlock.c
- ngx_string.c
- ngx_string.h
- ngx_syslog.c
- ngx_syslog.h
- ngx_thread_pool.c
- ngx_thread_pool.h
- ngx_times.c
- ngx_times.h
ngx_radix_tree.h @release-1.13.2 — raw · history · blame
/*
* Copyright (C) Igor Sysoev
* Copyright (C) Nginx, Inc.
*/
#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 /* _NGX_RADIX_TREE_H_INCLUDED_ */
|