Add BIND 9.2.4rc7.
[dragonfly.git] / contrib / bind-9.2.4rc7 / lib / bind / include / isc / tree.h
blob0572c407c89d1591d15305ffa9a1ca2c5576a982
1 /* tree.h - declare structures used by tree library
3 * vix 22jan93 [revisited; uses RCS, ANSI, POSIX; has bug fixes]
4 * vix 27jun86 [broken out of tree.c]
6 * $Id: tree.h,v 1.1.2.1 2003/06/27 03:51:39 marka Exp $
7 */
10 #ifndef _TREE_H_INCLUDED
11 #define _TREE_H_INCLUDED
14 #ifndef __P
15 # if defined(__STDC__) || defined(__GNUC__)
16 # define __P(x) x
17 # else
18 # define __P(x) ()
19 # endif
20 #endif
23 * tree_t is our package-specific anonymous pointer.
25 #if defined(__STDC__) || defined(__GNUC__)
26 typedef void *tree_t;
27 #else
28 typedef char *tree_t;
29 #endif
32 * Do not taint namespace
34 #define tree_add __tree_add
35 #define tree_delete __tree_delete
36 #define tree_init __tree_init
37 #define tree_mung __tree_mung
38 #define tree_srch __tree_srch
39 #define tree_trav __tree_trav
42 typedef struct tree_s {
43 tree_t data;
44 struct tree_s *left, *right;
45 short bal;
47 tree;
50 void tree_init __P((tree **));
51 tree_t tree_srch __P((tree **, int (*)(), tree_t));
52 tree_t tree_add __P((tree **, int (*)(), tree_t, void (*)()));
53 int tree_delete __P((tree **, int (*)(), tree_t, void (*)()));
54 int tree_trav __P((tree **, int (*)()));
55 void tree_mung __P((tree **, void (*)()));
58 #endif /* _TREE_H_INCLUDED */