From bd5969fc876a10b18613302db7087ef3c40f18e1 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 7 Mar 2024 17:28:00 -0500 Subject: lib: Add mlibc Signed-off-by: Ian Moffett --- lib/mlibc/options/posix/include/search.h | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 lib/mlibc/options/posix/include/search.h (limited to 'lib/mlibc/options/posix/include/search.h') diff --git a/lib/mlibc/options/posix/include/search.h b/lib/mlibc/options/posix/include/search.h new file mode 100644 index 0000000..02e1913 --- /dev/null +++ b/lib/mlibc/options/posix/include/search.h @@ -0,0 +1,37 @@ + +#ifndef _SEARCH_H +#define _SEARCH_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + preorder, + postorder, + endorder, + leaf +} VISIT; + +#ifndef __MLIBC_ABI_ONLY + +void *tsearch(const void *, void **, int(*compar)(const void *, const void *)); +void *tfind(const void *, void *const *, int (*compar)(const void *, const void *)); +void *tdelete(const void *, void **, int(*compar)(const void *, const void *)); +void twalk(const void *, void (*action)(const void *, VISIT, int)); +void tdestroy(void *, void (*free_node)(void *)); + +void *lsearch(const void *key, void *base, size_t *nelp, size_t width, + int (*compar)(const void *, const void *)); +void *lfind(const void *key, const void *base, size_t *nelp, + size_t width, int (*compar)(const void *, const void *)); + +#endif /* !__MLIBC_ABI_ONLY */ + +#ifdef __cplusplus +} +#endif + +#endif // _SEARCH_H -- cgit v1.2.3