3 #define REGULAR_NODE_TYPE 0
4 #define SYMBOLIC_NODE_TYPE 1
6 #define PERFECT_MATCH 0
7 #define CLOSEST_MATCH 1
11 void * splay_find(void * key, splaytree_t * t);
12 int splay_insert(void * data, void * key, splaytree_t * t);
13 int splay_insert_link(const void * alias_key, void * orig_key, splaytree_t * splaytree);
14 int splay_delete(void * key, splaytree_t * splaytree);
15 int splay_size(splaytree_t * t);
16 splaytree_t * create_splaytree(int (*compare)(), void * (*copy_key)(), void (*free_key)());
17 int destroy_splaytree(splaytree_t * splaytree);
18 void splay_traverse(void (*func_ptr)(), splaytree_t * splaytree);
19 splaynode_t * get_splaynode_of(void * key, splaytree_t * splaytree);
20 void * splay_find_above_min(void * key, splaytree_t * root);
21 void * splay_find_below_max(void * key, splaytree_t * root);
22 void * splay_find_min(splaytree_t * t);
23 void * splay_find_max(splaytree_t * t);