comparison src/core/ngx_rbtree.h @ 7875:0c5e84096d99

Core: added the ngx_rbtree_data() macro.
author Vladimir Homutov <vl@nginx.com>
date Mon, 21 Jun 2021 09:42:43 +0300
parents e0cc454aafe4
children
comparison
equal deleted inserted replaced
7874:d1079d6b2f19 7875:0c5e84096d99
45 ngx_rbtree_sentinel_init(s); \ 45 ngx_rbtree_sentinel_init(s); \
46 (tree)->root = s; \ 46 (tree)->root = s; \
47 (tree)->sentinel = s; \ 47 (tree)->sentinel = s; \
48 (tree)->insert = i 48 (tree)->insert = i
49 49
50 #define ngx_rbtree_data(node, type, link) \
51 (type *) ((u_char *) (node) - offsetof(type, link))
52
50 53
51 void ngx_rbtree_insert(ngx_rbtree_t *tree, ngx_rbtree_node_t *node); 54 void ngx_rbtree_insert(ngx_rbtree_t *tree, ngx_rbtree_node_t *node);
52 void ngx_rbtree_delete(ngx_rbtree_t *tree, ngx_rbtree_node_t *node); 55 void ngx_rbtree_delete(ngx_rbtree_t *tree, ngx_rbtree_node_t *node);
53 void ngx_rbtree_insert_value(ngx_rbtree_node_t *root, ngx_rbtree_node_t *node, 56 void ngx_rbtree_insert_value(ngx_rbtree_node_t *root, ngx_rbtree_node_t *node,
54 ngx_rbtree_node_t *sentinel); 57 ngx_rbtree_node_t *sentinel);