diff --git a/headers/posix/search.h b/headers/posix/search.h index 9680a48365..2b286e34eb 100644 --- a/headers/posix/search.h +++ b/headers/posix/search.h @@ -5,6 +5,10 @@ #ifndef _SEARCH_H_ #define _SEARCH_H_ + +#include + + typedef enum { FIND, ENTER @@ -23,23 +27,30 @@ typedef enum { } VISIT; -extern int hcreate(size_t); +#ifdef __cplusplus +extern "C" { +#endif + +extern int hcreate(size_t elementCount); extern void hdestroy(void); -extern ENTRY *hsearch(ENTRY, ACTION); -extern void insque(void *, void *); -extern void *lfind(const void *, const void *, size_t *, - size_t, int (*)(const void *, const void *)); -extern void *lsearch(const void *, void *, size_t *, - size_t, int (*)(const void *, const void *)); -extern void remque(void *); -extern void *tdelete(const void *restrict, void **restrict, - int(*)(const void *, const void *)); -extern void *tfind(const void *, void *const *, - int(*)(const void *, const void *)); -extern void *tsearch(const void *, void **, - int(*)(const void *, const void *)); -extern void twalk(const void *, - void (*)(const void *, VISIT, int )); +extern ENTRY *hsearch(ENTRY iteam, ACTION action); +extern void insque(void *element, void *insertAfter); +extern void *lfind(const void *key, const void *base, size_t *_elementCount, + size_t width, int (*compareFunction)(const void *, const void *)); +extern void *lsearch(const void *key, void *base, size_t *_elementCount, + size_t width, int (*compareFunction)(const void *, const void *)); +extern void remque(void *element); +extern void *tdelete(const void *key, void **_root, + int (*compare)(const void *, const void *)); +extern void *tfind(const void *key, void *const *root, + int (*compare)(const void *, const void *)); +extern void *tsearch(const void *key, void **_root, + int (*compare)(const void *, const void *)); +extern void twalk(const void *root, + void (*action)(const void *, VISIT, int )); -#endif /* _SEARCH_H_ */ +#ifdef __cplusplus +} +#endif +#endif /* _SEARCH_H_ */