[mod_cgi] fix pipe_cloexec() when no O_CLOEXEC
[lighttpd.git] / src / splaytree.h
blobcc5fe9b1c71eb33557e75a30697d52c8cc779c47
1 #ifndef _SPLAY_TREE_H_
2 #define _SPLAY_TREE_H_
3 #include "first.h"
5 typedef struct tree_node {
6 struct tree_node * left, * right;
7 int key;
8 int size; /* maintained to be the number of nodes rooted here */
10 void *data;
11 } splay_tree;
14 splay_tree * splaytree_splay (splay_tree *t, int key);
15 splay_tree * splaytree_insert(splay_tree *t, int key, void *data);
16 splay_tree * splaytree_delete(splay_tree *t, int key);
17 splay_tree * splaytree_size(splay_tree *t);
19 #define splaytree_size(x) (((x)==NULL) ? 0 : ((x)->size))
20 /* This macro returns the size of a node. Unlike "x->size", */
21 /* it works even if x=NULL. The test could be avoided by using */
22 /* a special version of NULL which was a real node with size 0. */
25 #endif