1#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 2type ENTRY 3type {struct entry} 4element {struct entry} {char*} key 5element {struct entry} {void*} data 6 7type ACTION 8constant FIND 9constant ENTER 10 11type VISIT 12constant preorder 13constant postorder 14constant endorder 15constant leaf 16 17function int hcreate (size_t) 18function void hdestroy (void) 19function {ENTRY*} hsearch (ENTRY, ACTION) 20#ifndef XPG4 21function void insque (void*, void*) 22#endif 23function {void*} lfind (const void*, const void*, size_t*, size_t, int (*)(const void*, const void*)) 24function {void*} lsearch (const void*, void*, size_t*, size_t, int (*)(const void*, const void*)) 25#ifndef XPG4 26function void remque (void*) 27#endif 28function {void*} tdelete (const void*, void**, int(*)(const void*, const void*)) 29function {void*} tfind (const void*, void*const*, int(*)(const void*, const void*)) 30function {void*} tsearch (const void*, void**, int(*)(const void*, const void*)) 31function void twalk (const void*, void (*) (const void*, VISIT, int)) 32 33allow *_t 34#endif 35