| 1 | 
 /** | 
 
 
 
 
 
 | 2 | 
  * This file has no copyright assigned and is placed in the Public Domain. | 
 
 
 
 
 
 | 3 | 
  * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 
 | 4 | 
  * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
 
 
 
 
 
 | 5 | 
  */ | 
 
 
 
 
 
 | 6 | 
 #ifndef _INC_SEARCH | 
 
 
 
 
 
 | 7 | 
 #define _INC_SEARCH | 
 
 
 
 
 
 | 8 | 
  | 
 
 
 
 
 
 | 9 | 
 #include <crtdefs.h> | 
 
 
 
 
 
 | 10 | 
 #include <stddef.h> | 
 
 
 
 
 
 | 11 | 
  | 
 
 
 
 
 
 | 12 | 
 #ifdef __cplusplus | 
 
 
 
 
 
 | 13 | 
 extern "C" { | 
 
 
 
 
 
 | 14 | 
 #endif | 
 
 
 
 
 
 | 15 | 
  | 
 
 
 
 
 
 | 16 | 
 #ifndef _CRT_ALGO_DEFINED | 
 
 
 
 
 
 | 17 | 
 #define _CRT_ALGO_DEFINED | 
 
 
 
 
 
 | 18 | 
   void *__cdecl bsearch(const void *_Key,const void *_Base,size_t _NumOfElements,size_t _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *)); | 
 
 
 
 
 
 | 19 | 
   void __cdecl qsort(void *_Base,size_t _NumOfElements,size_t _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *)); | 
 
 
 
 
 
 | 20 | 
 #endif | 
 
 
 
 
 
 | 21 | 
   _CRTIMP void *__cdecl _lfind(const void *_Key,const void *_Base,unsigned int *_NumOfElements,unsigned int _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *)); | 
 
 
 
 
 
 | 22 | 
   _CRTIMP void *__cdecl _lsearch(const void *_Key,void *_Base,unsigned int *_NumOfElements,unsigned int _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *)); | 
 
 
 
 
 
 | 23 | 
  | 
 
 
 
 
 
 | 24 | 
 #ifndef NO_OLDNAMES | 
 
 
 
 
 
 | 25 | 
   void *__cdecl lfind(const void *_Key,const void *_Base,unsigned int *_NumOfElements,unsigned int _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *)) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 
 
 
 
 
 
 | 26 | 
   void *__cdecl lsearch(const void *_Key,void *_Base,unsigned int *_NumOfElements,unsigned int _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *)) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 
 
 
 
 
 
 | 27 | 
 #endif | 
 
 
 
 
 
 | 28 | 
  | 
 
 
 
 
 
 | 29 | 
 /* | 
 
 
 
 
 
 | 30 | 
 Documentation for these POSIX definitions and prototypes can be found in  | 
 
 
 
 
 
 | 31 | 
 The Open Group Base Specifications Issue 6 | 
 
 
 
 
 
 | 32 | 
 IEEE Std 1003.1, 2004 Edition. | 
 
 
 
 
 
 | 33 | 
 eg:  http://www.opengroup.org/onlinepubs/009695399/functions/twalk.html | 
 
 
 
 
 
 | 34 | 
 */ | 
 
 
 
 
 
 | 35 | 
  | 
 
 
 
 
 
 | 36 | 
 typedef struct entry { | 
 
 
 
 
 
 | 37 | 
         char *key; | 
 
 
 
 
 
 | 38 | 
         void *data; | 
 
 
 
 
 
 | 39 | 
 } ENTRY; | 
 
 
 
 
 
 | 40 | 
  | 
 
 
 
 
 
 | 41 | 
 typedef enum { | 
 
 
 
 
 
 | 42 | 
         FIND, | 
 
 
 
 
 
 | 43 | 
         ENTER | 
 
 
 
 
 
 | 44 | 
 } ACTION; | 
 
 
 
 
 
 | 45 | 
  | 
 
 
 
 
 
 | 46 | 
 typedef enum { | 
 
 
 
 
 
 | 47 | 
         preorder, | 
 
 
 
 
 
 | 48 | 
         postorder, | 
 
 
 
 
 
 | 49 | 
         endorder, | 
 
 
 
 
 
 | 50 | 
         leaf | 
 
 
 
 
 
 | 51 | 
 } VISIT; | 
 
 
 
 
 
 | 52 | 
  | 
 
 
 
 
 
 | 53 | 
 #ifdef _SEARCH_PRIVATE | 
 
 
 
 
 
 | 54 | 
 typedef struct node { | 
 
 
 
 
 
 | 55 | 
         char         *key; | 
 
 
 
 
 
 | 56 | 
         struct node  *llink, *rlink; | 
 
 
 
 
 
 | 57 | 
 } node_t; | 
 
 
 
 
 
 | 58 | 
 #endif | 
 
 
 
 
 
 | 59 | 
  | 
 
 
 
 
 
 | 60 | 
 void * __cdecl tdelete (const void * __restrict__, void ** __restrict__, int (*)(const void *, const void *)) __MINGW_ATTRIB_NONNULL (2) __MINGW_ATTRIB_NONNULL (3); | 
 
 
 
 
 
 | 61 | 
 void * __cdecl tfind (const void *, void * const *, int (*)(const void *, const void *)) __MINGW_ATTRIB_NONNULL (2) __MINGW_ATTRIB_NONNULL (3); | 
 
 
 
 
 
 | 62 | 
 void * __cdecl tsearch (const void *, void **, int (*)(const void *, const void *)) __MINGW_ATTRIB_NONNULL (2) __MINGW_ATTRIB_NONNULL (3); | 
 
 
 
 
 
 | 63 | 
 void __cdecl twalk (const void *, void (*)(const void *, VISIT, int)); | 
 
 
 
 
 
 | 64 | 
  | 
 
 
 
 
 
 | 65 | 
 #ifdef __cplusplus | 
 
 
 
 
 
 | 66 | 
 } | 
 
 
 
 
 
 | 67 | 
 #endif | 
 
 
 
 
 
 | 68 | 
  | 
 
 
 
 
 
 | 69 | 
 #include <sec_api/search_s.h> | 
 
 
 
 
 
 | 70 | 
  | 
 
 
 
 
 
 | 71 | 
 #endif |