[BACK]Return to search.h CVS log [TXT][DIR] Up to [local] / src / include

Annotation of src/include/search.h, Revision 1.1

1.1     ! deraadt     1: /*     $NetBSD: search.h,v 1.9 1995/08/08 21:14:45 jtc Exp $   */
        !             2:
        !             3: /*
        !             4:  * Written by J.T. Conklin <jtc@netbsd.org>
        !             5:  * Public domain.
        !             6:  */
        !             7:
        !             8: #ifndef _SEARCH_H_
        !             9: #define _SEARCH_H_
        !            10: #include <sys/cdefs.h>
        !            11: #include <machine/ansi.h>
        !            12:
        !            13: #ifdef _BSD_SIZE_T_
        !            14: typedef        _BSD_SIZE_T_    size_t;
        !            15: #undef _BSD_SIZE_T_
        !            16: #endif
        !            17:
        !            18: typedef struct entry {
        !            19:        char *key;
        !            20:        char *data;
        !            21: } ENTRY;
        !            22:
        !            23: typedef enum {
        !            24:        FIND, ENTER
        !            25: } ACTION;
        !            26:
        !            27: typedef enum {
        !            28:        preorder,
        !            29:        postorder,
        !            30:        endorder,
        !            31:        leaf
        !            32: } VISIT;
        !            33:
        !            34: __BEGIN_DECLS
        !            35: extern void    *bsearch __P((const void *, const void *, size_t, size_t,
        !            36:                              int (*)(const void *, const void *)));
        !            37: extern int      hcreate __P((unsigned int));
        !            38: extern void     hdestroy __P((void));
        !            39: extern ENTRY   *hsearch __P((ENTRY, ACTION));
        !            40:
        !            41: extern void    *lfind __P((const void *, const void *, size_t *, size_t,
        !            42:                              int (*)(const void *, const void *)));
        !            43: extern void    *lsearch __P((const void *, const void *, size_t *, size_t,
        !            44:                              int (*)(const void *, const void *)));
        !            45: extern void     insque __P((void *, void *));
        !            46: extern void     remque __P((void *));
        !            47:
        !            48: extern void    *tdelete __P((const void *, void **,
        !            49:                              int (*)(const void *, const void *)));
        !            50: extern void    *tfind __P((const void *, void **,
        !            51:                              int (*)(const void *, const void *)));
        !            52: extern void    *tsearch __P((const void *, void **,
        !            53:                              int (*)(const void *, const void *)));
        !            54: extern void      twalk __P((const void *, void (*)(const void *, VISIT, int)));
        !            55: __END_DECLS
        !            56:
        !            57: #endif