Print this page
6222 libuutil could provide a way to re-create an AVL tree

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libuutil/common/libuutil.h
          +++ new/usr/src/lib/libuutil/common/libuutil.h
↓ open down ↓ 351 lines elided ↑ open up ↑
 352  352   *      free(a);
 353  353   */
 354  354  void uu_avl_node_init(void *, uu_avl_node_t *, uu_avl_pool_t *);
 355  355  void uu_avl_node_fini(void *, uu_avl_node_t *, uu_avl_pool_t *);
 356  356  
 357  357  uu_avl_t *uu_avl_create(uu_avl_pool_t *, void *_parent, uint32_t);
 358  358  #define UU_AVL_DEBUG    0x00000001
 359  359  
 360  360  void uu_avl_destroy(uu_avl_t *);        /* list must be empty */
 361  361  
      362 +void uu_avl_recreate(uu_avl_t *);
      363 +
 362  364  size_t uu_avl_numnodes(uu_avl_t *);
 363  365  
 364  366  void *uu_avl_first(uu_avl_t *);
 365  367  void *uu_avl_last(uu_avl_t *);
 366  368  
 367  369  void *uu_avl_next(uu_avl_t *, void *);
 368  370  void *uu_avl_prev(uu_avl_t *, void *);
 369  371  
 370  372  int uu_avl_walk(uu_avl_t *, uu_walk_fn_t *, void *, uint32_t);
 371  373  
↓ open down ↓ 19 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX