1 /*- 2 * Written by J.T. Conklin <jtc (at) netbsd.org> 3 * Public domain. 4 * 5 * $NetBSD: search.h,v 1.12 1999/02/22 10:34:28 christos Exp $ 6 * $FreeBSD: release/9.0.0/include/search.h 105250 2002-10-16 14:29:23Z robert $ 7 */ 8 9 #ifndef _SEARCH_H_ 10 #define _SEARCH_H_ 11 12 #include <sys/cdefs.h> 13 #include <sys/_types.h> 14 15 typedef enum { 16 preorder, 17 postorder, 18 endorder, 19 leaf 20 } VISIT; 21 22 #ifdef _SEARCH_PRIVATE 23 typedef struct node { 24 char *key; 25 struct node *llink, *rlink; 26 } node_t; 27 #endif 28 29 __BEGIN_DECLS 30 void *tdelete(const void * __restrict, void ** __restrict, 31 int (*)(const void *, const void *)); 32 void *tfind(const void *, void * const *, 33 int (*)(const void *, const void *)); 34 void *tsearch(const void *, void **, int (*)(const void *, const void *)); 35 void twalk(const void *, void (*)(const void *, VISIT, int)); 36 void tdestroy(void *, void (*)(void *)); 37 __END_DECLS 38 39 #endif /* !_SEARCH_H_ */ 40