AVL_FIND(3AVL)           AVL Tree Library Functions           AVL_FIND(3AVL)
NAME
     avl_find - find a node in an AVL tree
SYNOPSIS
     AVL Tree Library (libavl, -lavl)     
#include <sys/avl.h>     void *     avl_find(
avl_tree_t *tree, 
const void *node, 
avl_index_t *where);
DESCRIPTION
     The 
avl_find() function is used to look up a node in the tree rooted at     
tree.
     To perform a lookup, a caller should construct an instance of the data
     structure, the argument 
node.  
avl_find() searches through the tree for
     a node which compares equal to the passed in 
node using the comparison
     function specified when the tree was created with 
avl_create(3AVL).
     The only fields of 
node that need to be initialized are those that the
     comparison function will use, the others may remain uninitialized.
     If a match exists in the tree, then that entry will be returned.
     Otherwise, 
NULL is returned.
     If 
node does not match anything in the tree and the value of 
where is a
     non-
NULL pointer, then 
where will be updated to a value that can be
     used with both 
avl_insert(3AVL) and 
avl_nearest(3AVL).  This value is
     only valid as long as the tree is not modified.  If anything is added
     or removed from the tree, then the value of 
where is no longer valid.
     This is commonly used as part of a pattern to see if something that
     should be added to the tree already exists, and if not, insert it.  For
     more information, see the examples in 
libavl(3LIB).
     If the lookup is successful, then the contents of 
where are undefined.
RETURN VALUES
     If 
node matches an entry in the tree, the matching entry is returned.
     Otherwise, 
NULL is returned and if 
where is non-
NULL, it is updated to
     point to a location in the tree.
EXAMPLES
     See the 
EXAMPLES section in 
libavl(3LIB).
INTERFACE STABILITY
     CommittedMT-Level     See 
Locking in 
libavl(3LIB).
SEE ALSO
     avl_create(3AVL), 
avl_insert(3AVL), 
avl_nearest(3AVL), 
libavl(3LIB)illumos                          May 7, 2015                         illumos