1/*- 2 * Written by J.T. Conklin <jtc@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 15typedef enum { 16 preorder, 17 postorder, 18 endorder, 19 leaf 20} VISIT; 21 22#ifdef _SEARCH_PRIVATE 23typedef struct node { 24 char* key; 25 struct node* llink; 26 struct node* rlink; 27} node_t; 28#endif 29 30__BEGIN_DECLS 31 32void insque(void*, void*); 33void remque(void*); 34 35void* lfind(const void*, const void*, size_t*, size_t, int (*)(const void*, const void*)); 36void* lsearch(const void*, void*, size_t*, size_t, int (*)(const void*, const void*)); 37 38void* tdelete(const void* __restrict, void** __restrict, int (*)(const void*, const void*)); 39void tdestroy(void*, void (*)(void*)); 40void* tfind(const void*, void* const*, int (*)(const void*, const void*)); 41void* tsearch(const void*, void**, int (*)(const void*, const void*)); 42void twalk(const void*, void (*)(const void*, VISIT, int)); 43 44__END_DECLS 45 46#endif /* !_SEARCH_H_ */ 47