00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _TREE_FLAG
00011 #define _TREE_FLAG
00012
00013
00014 #ifdef __STDC__
00015 typedef void *tree_t;
00016
00017 #ifndef __P
00018 #define __P(x) x
00019 #endif
00020 #else
00021 typedef char *tree_t;
00022
00023 #ifndef __P
00024 #define __P(x) ()
00025 #endif
00026 #endif
00027
00028
00029 typedef struct tree_s {
00030 struct tree_s *tree_l, *tree_r;
00031 short tree_b;
00032 tree_t tree_p;
00033 } tree;
00034
00035
00036 void tree_init __P((tree **));
00037 tree_t tree_srch __P((tree **, int (*)(), tree_t));
00038 void tree_add __P((tree **, int (*)(), tree_t, void (*)()));
00039 int tree_delete __P((tree **, int (*)(), tree_t, void (*)()));
00040 int tree_trav __P((tree **, int (*)()));
00041 void tree_mung __P((tree **, void (*)()));
00042
00043
00044 #undef __P
00045
00046
00047 #endif