|  | /*- | 
|  | * Written by J.T. Conklin <jtc@netbsd.org> | 
|  | * Public domain. | 
|  | * | 
|  | *	$NetBSD: search.h,v 1.12 1999/02/22 10:34:28 christos Exp $ | 
|  | * $FreeBSD: release/9.0.0/include/search.h 105250 2002-10-16 14:29:23Z robert $ | 
|  | */ | 
|  |  | 
|  | #ifndef _SEARCH_H_ | 
|  | #define _SEARCH_H_ | 
|  |  | 
|  | #include <sys/cdefs.h> | 
|  | #include <sys/types.h> | 
|  |  | 
|  | typedef enum { | 
|  | preorder, | 
|  | postorder, | 
|  | endorder, | 
|  | leaf | 
|  | } VISIT; | 
|  |  | 
|  | #ifdef _SEARCH_PRIVATE | 
|  | typedef struct node { | 
|  | char* key; | 
|  | struct node* llink; | 
|  | struct node* rlink; | 
|  | } node_t; | 
|  | #endif | 
|  |  | 
|  | __BEGIN_DECLS | 
|  |  | 
|  | void insque(void*, void*) __INTRODUCED_IN(21); | 
|  | void remque(void*) __INTRODUCED_IN(21); | 
|  |  | 
|  | void* lfind(const void*, const void*, size_t*, size_t, int (*)(const void*, const void*)) | 
|  | __INTRODUCED_IN(21); | 
|  | void* lsearch(const void*, void*, size_t*, size_t, int (*)(const void*, const void*)) | 
|  | __INTRODUCED_IN(21); | 
|  |  | 
|  | void* tdelete(const void* __restrict, void** __restrict, int (*)(const void*, const void*)) | 
|  | __INTRODUCED_IN(16); | 
|  | void tdestroy(void*, void (*)(void*)) __INTRODUCED_IN(16); | 
|  | void* tfind(const void*, void* const*, int (*)(const void*, const void*)) __INTRODUCED_IN(16); | 
|  | void* tsearch(const void*, void**, int (*)(const void*, const void*)) __INTRODUCED_IN(16); | 
|  | void twalk(const void*, void (*)(const void*, VISIT, int)) __INTRODUCED_IN(21); | 
|  |  | 
|  | __END_DECLS | 
|  |  | 
|  | #endif /* !_SEARCH_H_ */ |