19#include "hitls_build.h"
28typedef void *BSL_ElementData;
30typedef void (*BSL_AVL_DATA_FREE_FUNC)(BSL_ElementData data);
33typedef struct AvlTree {
36 struct AvlTree *rightNode;
37 struct AvlTree *leftNode;
53BSL_AvlTree *BSL_AVL_MakeLeafNode(BSL_ElementData data);
68BSL_AvlTree *BSL_AVL_SearchNode(BSL_AvlTree *root, uint64_t nodeId);
83BSL_AvlTree *BSL_AVL_InsertNode(BSL_AvlTree *root, uint64_t nodeId, BSL_AvlTree *node);
99BSL_AvlTree *BSL_AVL_DeleteNode(BSL_AvlTree *root, uint64_t nodeId, BSL_AVL_DATA_FREE_FUNC func);
112void BSL_AVL_DeleteTree(BSL_AvlTree *root, BSL_AVL_DATA_FREE_FUNC func);