/* AUTOMATICALLY GENERATED BY tspec 2.10 API SUBSET: xpg3:search.h:srch_proto */ #ifndef __TDF_XPG3_SEARCH_H_SRCH_PROTO #define __TDF_XPG3_SEARCH_H_SRCH_PROTO #ifdef __cplusplus extern "C" { #endif #pragma TenDRA declaration block subset__xpg3__search begin #ifndef __TDF_ANSI_STDDEF_H_SIZE_T #pragma extend interface "../../shared/ansi.api/size_t.h" #endif /* __TDF_ANSI_STDDEF_H_SIZE_T */ #pragma token STRUCT TAG entry # xpg3.search.entry #pragma token MEMBER char * : struct entry : key # xpg3.search.entry.key typedef struct entry ENTRY; #ifndef __BUILDING_LIBS typedef enum { FIND, ENTER } ACTION; #else /* __BUILDING_LIBS */ #pragma token VARIETY ACTION # xpg3.search.ACTION #pragma promote ACTION : ACTION #pragma interface ACTION #endif /* __BUILDING_LIBS */ #ifndef __BUILDING_LIBS typedef enum { preorder, postorder, endorder, leaf } VISIT; #else /* __BUILDING_LIBS */ #pragma token VARIETY VISIT # xpg3.search.VISIT #pragma promote VISIT : VISIT #pragma interface VISIT #endif /* __BUILDING_LIBS */ #pragma token FUNC void (void) : hdestroy # xpg3.search.hdestroy #pragma token FUNC ENTRY * (ENTRY, ACTION) : hsearch # xpg3.search.hsearch #pragma token FUNC void * (const void *, void **, int (*) (const void *, const void *)) : tsearch # xpg3.search.tsearch #pragma token FUNC void * (const void *, void **, int (*) (const void *, const void *)) : tdelete # xpg3.search.tdelete #pragma token FUNC void * (const void *, void * const *, int (*) (const void *, const void *)) : tfind # xpg3.search.tfind #pragma token FUNC void * (const void *, const void *, size_t *, size_t, int (*) (const void *, const void *)) : lfind # xpg3.search.lfind #pragma token FUNC void * (const void *, void *, size_t *, size_t, int (*) (const void *, const void *)) : lsearch # xpg3.search.lsearch #pragma interface TAG entry TAG entry.key hdestroy hsearch tsearch tdelete #pragma interface tfind lfind lsearch #pragma TenDRA declaration block end #ifdef __cplusplus } #endif #endif /* __TDF_XPG3_SEARCH_H_SRCH_PROTO */