search.h - search tables
[XSI] #include <search.h>
The <search.h> header shall define the ENTRY type for structure entry which shall include the following members:
char *key void *dataand shall define ACTION and VISIT as enumeration data types through type definitions as follows:
enum { FIND, ENTER } ACTION; enum { preorder, postorder, endorder, leaf } VISIT;The size_t type shall be defined as described in <sys/types.h> .
The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.
int hcreate(size_t); void hdestroy(void); ENTRY *hsearch(ENTRY, ACTION); void insque(void *, void *); void *lfind(const void *, const void *, size_t *, size_t, int (*)(const void *, const void *)); void *lsearch(const void *, void *, size_t *, size_t, int (*)(const void *, const void *)); void remque(void *); void *tdelete(const void *restrict, void **restrict, int(*)(const void *, const void *)); void *tfind(const void *, void *const *, int(*)(const void *, const void *)); void *tsearch(const void *, void **, int(*)(const void *, const void *)); void twalk(const void *, void (*)(const void *, VISIT, int ));
None.
None.
None.
<sys/types.h> , the System Interfaces volume of IEEE Std 1003.1-2001, hcreate(), insque(), lsearch(), remque(), tsearch()
First released in Issue 1. Derived from Issue 1 of the SVID.
The Open Group Corrigendum U021/6 is applied, updating the prototypes for tdelete() and tsearch().
The restrict keyword is added to the prototype for tdelete().