1 /* $NetBSD: search.h,v 1.12 1999/02/22 10:34:28 christos Exp $ */
2 /* $FreeBSD: src/include/search.h,v 1.4 2002/03/23 17:24:53 imp Exp $ */
5 * Written by J.T. Conklin <jtc@netbsd.org>
12 #include <sys/cdefs.h>
13 #include <machine/ansi.h>
14 #include <sys/types.h>
16 typedef struct entry
{
32 #ifdef _SEARCH_PRIVATE
35 struct node
*llink
, *rlink
;
41 struct internal_head
*htable
;
45 #ifndef __compar_fn_t_defined
46 #define __compar_fn_t_defined
47 typedef int (*__compar_fn_t
) (const void *, const void *);
53 ENTRY
*hsearch(ENTRY
, ACTION
);
54 int hcreate_r(size_t, struct hsearch_data
*);
55 void hdestroy_r(struct hsearch_data
*);
56 int hsearch_r(ENTRY
, ACTION
, ENTRY
**, struct hsearch_data
*);
57 void *tdelete(const void *__restrict
, void **__restrict
, __compar_fn_t
);
58 void tdestroy (void *, void (*)(void *));
59 void *tfind(const void *, void **, __compar_fn_t
);
60 void *tsearch(const void *, void **, __compar_fn_t
);
61 void twalk(const void *, void (*)(const void *, VISIT
, int));
64 #endif /* !_SEARCH_H_ */