1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
/*
* Copyright 2003 by Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/* tree.h - declare structures used by tree library
*
* vix 22jan93 [revisited; uses RCS, ANSI, POSIX; has bug fixes]
* vix 27jun86 [broken out of tree.c]
*
* $Id: tree.h,v 8.3 2002/12/03 05:26:48 marka Exp $
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#ifndef _TREE_H_INCLUDED
#define _TREE_H_INCLUDED
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*
* tree_t is our package-specific anonymous pointer.
*/
#if defined(__STDC__) || defined(__GNUC__)
typedef void *tree_t;
#else
typedef char *tree_t;
#endif
#ifdef ORIGINAL_ISC_CODE
/*
* Do not taint namespace
*/
#define tree_add __tree_add
#define tree_delete __tree_delete
#define tree_init __tree_init
#define tree_mung __tree_mung
#define tree_srch __tree_srch
#define tree_trav __tree_trav
#else
#endif
typedef struct tree_s {
tree_t data;
struct tree_s *left, *right;
short bal;
}
tree;
void tree_init __P((tree **));
tree_t tree_srch __P((tree **, int (*)(), tree_t));
tree_t tree_add __P((tree **, int (*)(), tree_t, void (*)()));
int tree_delete __P((tree **, int (*)(), tree_t, void (*)()));
int tree_trav __P((tree **, int (*)()));
void tree_mung __P((tree **, void (*)()));
#endif /* _TREE_H_INCLUDED */
|