aat_tree_t * aat_create ( ); aat_bool_t aat_destroy ( aat_tree_t * tree ); aat_bool_t * aat_init ( aat_tree_t * tree, aat_comparison_t (*compare ) ( const void *, const void * ), void * (*copy_data ) ( const void * ), void * (*copy_key ) ( const void * ), void * (*destroy_data ) ( const void * ), void * (*destroy_key ) ( const void * ) ); aat_node_t * aat_extreme ( aat_tree_t * tree, aat_direction to_go ); aat_node_t * aat_find ( aat_tree_t * tree, void * key ); aat_bool_t * aat_insert ( aat_tree_t * tree, void * key, void * value ); aat_bool_t * aat_remove ( aat_tree_t * tree, void * key ); aat_node_t * aat_skew ( aat_node_t * node ); aat_node_t * aat_split ( aat_node_t * node ); aat_node_t * aat_rotate ( aat_node_t * node, aat_direction to_go );