home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume27 / avl-subs / part01 / tree.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-09-06  |  825 b   |  40 lines

  1. /* tree.h - declare structures used by tree.c
  2.  * vix 27jun86 [broken out of tree.c]
  3.  * vix 22jan93 [revisited; uses RCS, ANSI, POSIX; has bug fixes]
  4.  *
  5.  * $Id: tree.h,v 1.2 1993/09/06 20:44:57 vixie Exp $
  6.  */
  7.  
  8.  
  9. #ifndef    _TREE_FLAG
  10. #define    _TREE_FLAG
  11.  
  12.  
  13. #if defined(__STDC__) || defined(__GNUC__)
  14. typedef    void *    tree_t;
  15. #define __P(x) x
  16. #else
  17. typedef    char *    tree_t;
  18. #define    __P(x) ()
  19. #endif
  20.  
  21.  
  22. typedef    struct    tree_s
  23.     {
  24.         struct    tree_s    *tree_l, *tree_r;
  25.         short        tree_b;
  26.         tree_t        tree_p;
  27.     }
  28.     tree;
  29.  
  30.  
  31. void    tree_init    __P( (tree **) );
  32. tree_t    tree_srch    __P( (tree **, int (*)(), tree_t) );
  33. void    tree_add    __P( (tree **, int (*)(), tree_t, void (*)()) );
  34. int    tree_delete    __P( (tree **, int (*)(), tree_t, void (*)()) );
  35. int    tree_trav    __P( (tree **, int (*)()) );
  36. void    tree_mung    __P( (tree **, void (*)()) );
  37.  
  38.  
  39. #endif    /* _TREE_FLAG */
  40.