+2001-02-06 Andreas Jaeger <aj@suse.de>
+
+ * include/pthread.h: New file.
+
+ * wctype/wctype.h: Move internal interfaces from here to...
+ * include/wctype.h: ...here.
+
+ * wcsmbs/wchar.h: Move __wcslen from here to...
+ * include/wchar.h: ...here.
+
+ * posix/sys/wait.h: Move __wait from here to...
+ * include/sys/wait.h: ...here.
+
+ * string/string.h: Move __ffs and __strerror_r from here to...
+ * include/string.h: ...here.
+
+ * stdlib/stdlib.h: Move __on_exit from here to...
+ * include/stdlib.h: ...here.
+
+ * libio/stdio.h: Move __vsnprintf from here to...
+ * include/stdio.h: ...here.
+
2001-02-06 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/ia64/ioperm.c: Don't include kernel
--- /dev/null
+#include_next <pthread.h>
+
+/* This function is called to initialize the pthread library. */
+extern void __pthread_initialize (void) __attribute__ ((weak));
+
+extern void __pthread_initialize_minimal (void) __attribute__ ((weak));
extern int __snprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
+extern int __vsnprintf (char *__restrict __s, size_t __maxlen,
+ __const char *__restrict __format, _G_va_list __arg)
+ __attribute__ ((__format__ (__printf__, 3, 0)));
extern int __vfscanf (FILE *__restrict __s,
__const char *__restrict __format,
_G_va_list __arg)
extern void _quicksort (void *const pbase, size_t total_elems,
size_t size, __compar_fn_t cmp);
+extern int __on_exit (void (*__func) (int __status, void *__arg), void *__arg);
+
extern int __cxa_atexit (void (*func) (void *), void *arg, void *d);
extern void __cxa_finalize (void *d);
extern void *__memchr (__const void *__s, int __c, size_t __n)
__attribute_pure__;
-
+
+extern int __ffs (int __i) __attribute__ ((const));
+
+extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen);
+
/* Now the real definitions. We do this here since some of the functions
above are defined as macros in the headers. */
#include <string/string.h>
int __options);
extern __pid_t __libc_waitpid (pid_t __pid, int *__stat_loc, int __options);
extern __pid_t __libc_wait (int *__stat_loc);
+extern __pid_t __wait (__WAIT_STATUS __stat_loc);
extern __pid_t __wait3 (__WAIT_STATUS __stat_loc,
int __options, struct rusage * __usage);
extern __pid_t __wait4 (__pid_t __pid, __WAIT_STATUS __stat_loc,
extern int __wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
size_t __n)
__attribute_pure__;
+extern size_t __wcslen (__const wchar_t *__s) __attribute_pure__;
extern size_t __wcsnlen (__const wchar_t *__s, size_t __maxlen)
__attribute_pure__;
extern wint_t __btowc (int __c);
#include <wctype/wctype.h>
+/* Internal interfaces. */
extern int __iswspace (wint_t __wc);
+extern int __iswctype (wint_t __wc, wctype_t __desc);
+extern wctype_t __wctype (__const char *__property);
+extern wint_t __towctrans (wint_t __wc, wctrans_t __desc);
+
#endif
__const char *__restrict __format, ...)
__THROW __attribute__ ((__format__ (__printf__, 3, 4)));
-extern int __vsnprintf (char *__restrict __s, size_t __maxlen,
- __const char *__restrict __format, _G_va_list __arg)
- __THROW __attribute__ ((__format__ (__printf__, 3, 0)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, _G_va_list __arg)
__THROW __attribute__ ((__format__ (__printf__, 3, 0)));
/* Wait for a child to die. When one does, put its status in *STAT_LOC
and return its process ID. For errors, return (pid_t) -1. */
-extern __pid_t __wait (__WAIT_STATUS __stat_loc) __THROW;
extern __pid_t wait (__WAIT_STATUS __stat_loc) __THROW;
#ifdef __USE_BSD
#ifdef __USE_MISC
/* Register a function to be called with the status
given to `exit' and the given argument. */
-extern int __on_exit (void (*__func) (int __status, void *__arg), void *__arg)
- __THROW;
extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
__THROW;
#endif
-/* Copyright (C) 1991,92,93,95,96,97,98,99, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,95,96,97,98,99,2000,2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
#ifdef __USE_MISC
/* Reentrant version of `strerror'. If a temporary buffer is required, at
most BUFLEN bytes of BUF will be used. */
-extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen) __THROW;
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) __THROW;
#endif
/* Return the position of the first bit set in I, or 0 if none are set.
The least-significant bit is position 1, the most-significant 32. */
-extern int __ffs (int __i) __THROW __attribute__ ((const));
extern int ffs (int __i) __THROW __attribute__ ((const));
/* The following two functions are non-standard but necessary for non-32 bit
wchar_t **__restrict __ptr) __THROW;
/* Return the number of wide characters in S. */
-extern size_t __wcslen (__const wchar_t *__s) __THROW __attribute_pure__;
extern size_t wcslen (__const wchar_t *__s) __THROW __attribute_pure__;
#ifdef __USE_GNU
-/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
/* Construct value that describes a class of wide characters identified
by the string argument PROPERTY. */
-extern wctype_t __wctype (__const char *__property) __THROW;
extern wctype_t wctype (__const char *__property) __THROW;
/* Determine whether the wide-character WC has the property described by
DESC. */
-extern int __iswctype (wint_t __wc, wctype_t __desc) __THROW;
extern int iswctype (wint_t __wc, wctype_t __desc) __THROW;
#if __GNUC__ >= 2 && defined __OPTIMIZE__
/* Converts an lowercase letter to the corresponding uppercase letter. */
extern wint_t towupper (wint_t __wc) __THROW;
-/* Map the wide character WC using the mapping described by DESC. */
-extern wint_t __towctrans (wint_t __wc, wctrans_t __desc) __THROW;
-
#if __GNUC__ >= 2 && defined __OPTIMIZE__
/* The tables are always organized in a way which allows direct access
for single byte characters. */