2004-11-03 13:51:07 +00:00
|
|
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
2007-06-20 22:33:04 +00:00
|
|
|
.TH "<search.h>" 0P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" <search.h>
|
|
|
|
.SH NAME
|
|
|
|
search.h \- search tables
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.LP
|
|
|
|
\fB#include <search.h> \fP
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.LP
|
|
|
|
The \fI<search.h>\fP header shall define the \fBENTRY\fP type for
|
|
|
|
structure \fBentry\fP which shall include the
|
|
|
|
following members:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBchar *key
|
|
|
|
void *data
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
and shall define \fBACTION\fP and \fBVISIT\fP as enumeration data
|
|
|
|
types through type definitions as follows:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBenum { FIND, ENTER } ACTION;
|
|
|
|
enum { preorder, postorder, endorder, leaf } VISIT;
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
The \fBsize_t\fP type shall be defined as described in \fI<sys/types.h>\fP
|
|
|
|
\&.
|
|
|
|
.LP
|
|
|
|
The following shall be declared as functions and may also be defined
|
|
|
|
as macros. Function prototypes shall be provided.
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBint 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 ));
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
\fIThe following sections are informative.\fP
|
|
|
|
.SH APPLICATION USAGE
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH RATIONALE
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH FUTURE DIRECTIONS
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH SEE ALSO
|
|
|
|
.LP
|
2007-09-20 06:36:16 +00:00
|
|
|
\fI<sys/types.h>\fP, the System Interfaces volume of IEEE\ Std\ 1003.1-2001,
|
2004-11-03 13:51:07 +00:00
|
|
|
\fIhcreate\fP(), \fIinsque\fP(), \fIlsearch\fP(), \fIremque\fP(),
|
|
|
|
\fItsearch\fP()
|
|
|
|
.SH COPYRIGHT
|
|
|
|
Portions of this text are reprinted and reproduced in electronic form
|
|
|
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
|
|
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
|
|
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
|
|
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
|
|
|
event of any discrepancy between this version and the original IEEE and
|
|
|
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
|
|
|
is the referee document. The original Standard can be obtained online at
|
|
|
|
http://www.opengroup.org/unix/online.html .
|