Home | History | Annotate | Line # | Download | only in include
search.h revision 1.11
      1  1.11  kleink /*	$NetBSD: search.h,v 1.11 1999/02/16 18:23:01 kleink Exp $	*/
      2   1.6     cgd 
      3   1.1     jtc /*
      4   1.7     jtc  * Written by J.T. Conklin <jtc (at) netbsd.org>
      5   1.7     jtc  * Public domain.
      6   1.1     jtc  */
      7   1.1     jtc 
      8   1.1     jtc #ifndef _SEARCH_H_
      9   1.1     jtc #define _SEARCH_H_
     10  1.11  kleink 
     11   1.2     jtc #include <sys/cdefs.h>
     12   1.2     jtc #include <machine/ansi.h>
     13   1.1     jtc 
     14   1.5     cgd #ifdef	_BSD_SIZE_T_
     15   1.5     cgd typedef	_BSD_SIZE_T_	size_t;
     16   1.5     cgd #undef	_BSD_SIZE_T_
     17   1.2     jtc #endif
     18   1.1     jtc 
     19   1.9     jtc typedef struct entry {
     20   1.9     jtc 	char *key;
     21  1.11  kleink 	void *data;
     22   1.9     jtc } ENTRY;
     23   1.9     jtc 
     24   1.9     jtc typedef enum {
     25   1.9     jtc 	FIND, ENTER
     26   1.9     jtc } ACTION;
     27   1.9     jtc 
     28   1.8     jtc typedef enum {
     29   1.8     jtc 	preorder,
     30   1.8     jtc 	postorder,
     31   1.8     jtc 	endorder,
     32   1.8     jtc 	leaf
     33   1.8     jtc } VISIT;
     34   1.8     jtc 
     35   1.1     jtc __BEGIN_DECLS
     36   1.1     jtc extern void	*bsearch __P((const void *, const void *, size_t, size_t,
     37   1.3     jtc 			      int (*)(const void *, const void *)));
     38  1.10  kleink extern int	 hcreate __P((size_t));
     39   1.9     jtc extern void	 hdestroy __P((void));
     40   1.9     jtc extern ENTRY	*hsearch __P((ENTRY, ACTION));
     41   1.9     jtc 
     42   1.3     jtc extern void	*lfind __P((const void *, const void *, size_t *, size_t,
     43   1.3     jtc 			      int (*)(const void *, const void *)));
     44   1.3     jtc extern void	*lsearch __P((const void *, const void *, size_t *, size_t,
     45   1.1     jtc 			      int (*)(const void *, const void *)));
     46   1.1     jtc extern void	 insque __P((void *, void *));
     47   1.1     jtc extern void	 remque __P((void *));
     48   1.8     jtc 
     49   1.8     jtc extern void	*tdelete __P((const void *, void **,
     50   1.8     jtc 			      int (*)(const void *, const void *)));
     51   1.8     jtc extern void	*tfind __P((const void *, void **,
     52   1.8     jtc 			      int (*)(const void *, const void *)));
     53   1.8     jtc extern void	*tsearch __P((const void *, void **,
     54   1.8     jtc 			      int (*)(const void *, const void *)));
     55   1.8     jtc extern void      twalk __P((const void *, void (*)(const void *, VISIT, int)));
     56   1.1     jtc __END_DECLS
     57   1.1     jtc 
     58  1.11  kleink #endif /* !_SEARCH_H_ */
     59