2 .\" This file and its contents are supplied under the terms of the
3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
4 .\" You may only use this file in accordance with the terms of version
7 .\" A full copy of the text of the CDDL should have accompanied this
8 .\" source. A copy of the CDDL is also available via the Internet at
9 .\" http://www.illumos.org/license/CDDL.
12 .\" Copyright 2016 Joyent, Inc.
22 .Nm avl_destroy_nodes ,
37 AVL trees are a general purpose, self-balancing binary tree that can be
38 used instead of the standard linked list interfaces --
40 AVL trees are particularly useful either when order is important or
41 better lookup performance is required.
43 The AVL tree interfaces are identical in both userland and the kernel.
44 For more general information on AVL trees, see
46 For more information on any of the funtions defined here, please see the
47 corresponding manual page in section 3AVL.
48 Please note, that while the descriptions in those manual pages are accurate for
49 writers of Device Drivers, the examples provided use scaffolding not available
50 in the kernel, such as the use of
52 and need to be adapated.
54 All of the AVL routines may be used in user, kernel, and interrupt
61 .Sh INTERFACE STABILITY
64 AVL trees do not inherently have any internal locking, it is up to the
65 consumer to use locks as appropriate.
70 for more information on synchronization primitives.
74 .Xr avl_destroy 3AVL ,
75 .Xr avl_destroy_nodes 3AVL ,
79 .Xr avl_insert_here 3AVL ,
80 .Xr avl_is_empty 3AVL ,
82 .Xr avl_nearest 3AVL ,
84 .Xr avl_numnodes 3AVL ,
90 .%T Writing Device Drivers