1999-08-25 Ulrich Drepper <drepper@cygnus.com>
+ * conform/data/regex.h-data: Allow *_t types.
+ * conform/data/pwd.h-data: Likewise.
+ * conform/data/sched.h-data: Likewise
+ * conform/data/pthread.h-data: Likewise.
+ * conform/data/search.h-data: Likewise.
+
+ * misc/search.h: Avoid namespace pollution.
+
* conform/conformtest.pl (@headers): Add search.h, sched.h, regex.h,
pwd.h, and pthread.h.
* conform/data/pthread.h-data: New file.
function {void*} tfind (const void*, void*const*, int(*)(const void*, const void*)) tfind (const void*, void*const*, int(*)(const void*, const void*))
function {void*} tsearch (const void*, void**, int(*)(const void*, const void*))
function void twalk (const void*, void (*) (const void*, VISIT, int))
+
+allow *_t
#endif
/* Prototype structure for a linked-list data structure.
This is the type used by the `insque' and `remque' functions. */
+# ifdef __USE_GNU
struct qelem
{
struct qelem *q_forw;
struct qelem *q_back;
char q_data[1];
};
+# endif
/* Insert ELEM into a doubly-linked list, after PREV. */
same time. */
extern int hsearch_r __P ((ENTRY __item, ACTION __action, ENTRY **__retval,
struct hsearch_data *__htab));
-extern int hcreate_r __P ((size_t __nel, struct hsearch_data *htab));
-extern void hdestroy_r __P ((struct hsearch_data *htab));
+extern int hcreate_r __P ((size_t __nel, struct hsearch_data *__htab));
+extern void hdestroy_r __P ((struct hsearch_data *__htab));
#endif
/* Search for an entry matching the given KEY in the tree pointed to
by *ROOTP and insert a new element if not found. */
extern void *tsearch __PMT ((__const void *__key, void **__rootp,
- __compar_fn_t compar));
+ __compar_fn_t __compar));
/* Search for an entry matching the given KEY in the tree pointed to
by *ROOTP. If no matching entry is available return NULL. */
extern void *tfind __PMT ((__const void *__key, void *__const *__rootp,
- __compar_fn_t compar));
+ __compar_fn_t __compar));
/* Remove the element matching KEY from the tree pointed to by *ROOTP. */
extern void *tdelete __PMT ((__const void *__key, void **__rootp,
- __compar_fn_t compar));
+ __compar_fn_t __compar));
#ifndef __ACTION_FN_T
# define __ACTION_FN_T
/* Walk through the whole tree and call the ACTION callback for every node
or leaf. */
-extern void twalk __PMT ((__const void *__root, __action_fn_t action));
+extern void twalk __PMT ((__const void *__root, __action_fn_t __action));
#ifdef __USE_GNU
/* Callback type for function to free a tree node. If the keys are atomic
typedef void (*__free_fn_t) __PMT ((void *__nodep));
/* Destroy the whole tree, call FREEFCT for each node or leaf. */
-extern void tdestroy __PMT ((void *__root, __free_fn_t freefct));
+extern void tdestroy __PMT ((void *__root, __free_fn_t __freefct));
#endif