diff options
author | berkeviktor@aol.com <berkeviktor@aol.com> | 2011-02-24 04:14:30 +0100 |
---|---|---|
committer | berkeviktor@aol.com <berkeviktor@aol.com> | 2011-02-24 04:14:30 +0100 |
commit | 4a6ceffb98a0b785494f680d3776c4bfc4052f9e (patch) | |
tree | 850703c1c841ccd99f58d0b06084615aaebe782c /src/common/tree.h | |
parent | f16af8be941b596dedac3bf4e371ee2d21f4b598 (diff) |
add xchat r1489
Diffstat (limited to 'src/common/tree.h')
-rw-r--r-- | src/common/tree.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/common/tree.h b/src/common/tree.h new file mode 100644 index 00000000..b1b66aa9 --- /dev/null +++ b/src/common/tree.h @@ -0,0 +1,16 @@ +#ifndef XCHAT_TREE_H +#define XCHAT_TREE_H + +typedef struct _tree tree; + +typedef int (tree_cmp_func) (const void *keya, const void *keyb, void *data); +typedef int (tree_traverse_func) (const void *key, void *data); + +tree *tree_new (tree_cmp_func *cmp, void *data); +void tree_destroy (tree *t); +void *tree_find (tree *t, void *key, tree_cmp_func *cmp, void *data, int *pos); +int tree_remove (tree *t, void *key, int *pos); +void tree_foreach (tree *t, tree_traverse_func *func, void *data); +int tree_insert (tree *t, void *key); + +#endif |