home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1996 May / PCOnline_05_1996.bin / linux / source / n / bind / bind-4.001 / bind-4~ / bind-4.9.3-BETA9 / named / tree.h < prev    next >
C/C++ Source or Header  |  1994-04-09  |  974b  |  49 lines

  1. /* tree.h - declare structures used by tree library
  2.  *
  3.  * vix 22jan93 [revisited; uses RCS, ANSI, POSIX; has bug fixes]
  4.  * vix 27jun86 [broken out of tree.c]
  5.  *
  6.  * $Id: tree.h,v 1.1 1994/04/09 04:05:46 vixie Exp $
  7.  */
  8.  
  9.  
  10. #ifndef    _TREE_H_INCLUDED
  11. #define    _TREE_H_INCLUDED
  12.  
  13.  
  14. #ifndef __P
  15. # if defined(__STDC__) || defined(__GNUC__)
  16. #  define __P(x) x
  17. # else
  18. #  define __P(x) ()
  19. # endif
  20. #endif
  21.  
  22. /*
  23.  * tree_t is our package-specific anonymous pointer.
  24.  */
  25. #if defined(__STDC__) || defined(__GNUC__)
  26. typedef    void *tree_t;
  27. #else
  28. typedef    char *tree_t;
  29. #endif
  30.  
  31.  
  32. typedef    struct tree_s {
  33.         tree_t        data;
  34.         struct tree_s    *left, *right;
  35.         short        bal;
  36.     }
  37.     tree;
  38.  
  39.  
  40. void    tree_init    __P((tree **));
  41. tree_t    tree_srch    __P((tree **, int (*)(), tree_t));
  42. tree_t    tree_add    __P((tree **, int (*)(), tree_t, void (*)()));
  43. int    tree_delete    __P((tree **, int (*)(), tree_t, void (*)()));
  44. int    tree_trav    __P((tree **, int (*)()));
  45. void    tree_mung    __P((tree **, void (*)()));
  46.  
  47.  
  48. #endif    /* _TREE_H_INCLUDED */
  49.