aboutsummaryrefslogtreecommitdiff
path: root/src/tree.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tree.h')
-rw-r--r--src/tree.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/tree.h b/src/tree.h
index 958b5ed..38b4b38 100644
--- a/src/tree.h
+++ b/src/tree.h
@@ -9,6 +9,11 @@
#include <stdlib.h>
#include <stdint.h>
+#include <stdio.h>
+
+#define _TREE_FREE_DATA 0x01
+#define _TREE_FREE_KEY 0x02
+
struct tree_node {
char* key;
void* data;
@@ -20,9 +25,12 @@ int tree_insert ( struct tree_node** _root, char* _key, void* _data );
int tree_balance( struct tree_node** _root );
+/**
+ * Returns (void*)node->data on success, NULL on failure
+ * */
void* tree_get ( struct tree_node** _root, char* _query );
-int tree_destroy( struct tree_node** _root );
+int tree_destroy( struct tree_node** _root, uint8_t _options );
/**
* ignore-case alphabetical string compare