int avl_traverse_lock(avl_tree_lock *tree, int (*callback)(void * /*entry*/, void * /*data*/), void *data) { int ret; avl_read_lock(tree); ret = avl_traverse(&tree->avl_tree, callback, data); avl_unlock(tree); return ret; }
int avl_traverse_lock(avl_tree_lock *t, int (*callback)(void *entry, void *data), void *data) { int ret; avl_read_lock(t); ret = avl_traverse(&t->avl_tree, callback, data); avl_unlock(t); return ret; }
avl *avl_insert_lock(avl_tree_lock *tree, avl *item) { avl_write_lock(tree); avl * ret = avl_insert(&tree->avl_tree, item); avl_unlock(tree); return ret; }
avl * avl_remove_lock(avl_tree_lock *tree, avl *item) { avl_write_lock(tree); avl *ret = avl_remove(&tree->avl_tree, item); avl_unlock(tree); return ret; }
avl *avl_search_lock(avl_tree_lock *tree, avl *item) { avl_read_lock(tree); avl *ret = avl_search(&tree->avl_tree, item); avl_unlock(tree); return ret; }
avl *avl_insert_lock(avl_tree_lock *t, avl *a) { avl_write_lock(t); avl * ret = avl_insert(&t->avl_tree, a); avl_unlock(t); return ret; }
avl * avl_remove_lock(avl_tree_lock *t, avl *a) { avl_write_lock(t); avl *ret = avl_remove(&t->avl_tree, a); avl_unlock(t); return ret; }
avl *avl_search_lock(avl_tree_lock *t, avl *a) { avl_read_lock(t); avl *ret = avl_search(&t->avl_tree, a); avl_unlock(t); return ret; }