NAME
search.h — search
tables
SYNOPSIS
DESCRIPTION
The <search.h> header shall define the ENTRY type for structure entry which shall include the following members:
char *key void *data
and 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 <search.h> header shall define the size_t type 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 ));
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
XSH hcreate(3) , insque(3) , lsearch(3) , tdelete(3)
CHANGE HISTORY
First released in Issue 1. Derived from Issue 1 of the SVID.
Issue 6
The Open Group Corrigendum U021/6 is applied, updating the prototypes for tdelete(3) and tsearch(3).
The restrict keyword is added to the prototype for tdelete(3).