11 #include <bits/alltypes.h>
13 typedef enum { FIND
, ENTER
} ACTION
;
14 typedef enum { preorder
, postorder
, endorder
, leaf
} VISIT
;
16 typedef struct entry
{
23 ENTRY
*hsearch(ENTRY
, ACTION
);
28 unsigned int __unused1
;
29 unsigned int __unused2
;
32 int hcreate_r(size_t, struct hsearch_data
*);
33 void hdestroy_r(struct hsearch_data
*);
34 int hsearch_r(ENTRY
, ACTION
, ENTRY
**, struct hsearch_data
*);
37 void insque(void *, void *);
40 void *lsearch(const void *, void *, size_t *, size_t,
41 int (*)(const void *, const void *));
42 void *lfind(const void *, const void *, size_t *, size_t,
43 int (*)(const void *, const void *));
45 void *tdelete(const void *__restrict
, void **__restrict
, int(*)(const void *, const void *));
46 void *tfind(const void *, void *const *, int(*)(const void *, const void *));
47 void *tsearch(const void *, void **, int (*)(const void *, const void *));
48 void twalk(const void *, void (*)(const void *, VISIT
, int));
52 struct qelem
*q_forw
, *q_back
;
56 void tdestroy(void *, void (*)(void *));