extern void *memcpy (void *__restrict __dest,
__const void *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
+libc_hidden_proto(memcpy)
/* Copy N bytes of SRC to DEST, guaranteeing
correct behavior for overlapping strings. */
extern void *memmove (void *__dest, __const void *__src, size_t __n)
__THROW __nonnull ((1, 2));
+libc_hidden_proto(memmove)
__END_NAMESPACE_STD
/* Copy no more than N bytes of SRC to DEST, stopping when C is found.
extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
int __c, size_t __n)
__THROW __nonnull ((1, 2));
+libc_hidden_proto(memccpy)
#endif /* SVID. */
__BEGIN_NAMESPACE_STD
/* Set N bytes of S to C. */
extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1));
+libc_hidden_proto(memset)
/* Compare N bytes of S1 and S2. */
extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(memcmp)
/* Search N bytes of S for C. */
extern void *memchr (__const void *__s, int __c, size_t __n)
__THROW __attribute_pure__ __nonnull ((1));
+libc_hidden_proto(memchr)
__END_NAMESPACE_STD
#ifdef __USE_GNU
length limit. */
extern void *rawmemchr (__const void *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
+libc_hidden_proto(rawmemchr)
/* Search N bytes of S for the final occurrence of C. */
extern void *memrchr (__const void *__s, int __c, size_t __n)
__THROW __attribute_pure__ __nonnull ((1));
+libc_hidden_proto(memrchr)
#endif
/* Copy SRC to DEST. */
extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
__THROW __nonnull ((1, 2));
+libc_hidden_proto(strcpy)
/* Copy no more than N characters of SRC to DEST. */
extern char *strncpy (char *__restrict __dest,
__const char *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
+libc_hidden_proto(strncpy)
/* Append SRC onto DEST. */
extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
__THROW __nonnull ((1, 2));
+libc_hidden_proto(strcat)
/* Append no more than N characters from SRC onto DEST. */
extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
size_t __n) __THROW __nonnull ((1, 2));
+libc_hidden_proto(strncat)
/* Compare S1 and S2. */
extern int strcmp (__const char *__s1, __const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(strcmp)
/* Compare N characters of S1 and S2. */
extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(strncmp)
/* Compare the collated forms of S1 and S2. */
extern int strcoll (__const char *__s1, __const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(strcoll)
/* Put a transformation of SRC into no more than N bytes of DEST. */
extern size_t strxfrm (char *__restrict __dest,
__const char *__restrict __src, size_t __n)
__THROW __nonnull ((2));
+libc_hidden_proto(strxfrm)
__END_NAMESPACE_STD
#if defined __USE_GNU && defined __UCLIBC_HAS_XLOCALE__
/* Compare the collated forms of S1 and S2 using rules from L. */
extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
__THROW __attribute_pure__ __nonnull ((1, 2, 3));
+libc_hidden_proto(strcoll_l)
/* Put a transformation of SRC into no more than N bytes of DEST. */
extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
__locale_t __l) __THROW __nonnull ((2, 4));
+libc_hidden_proto(strxfrm_l)
#endif
#if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED
/* Duplicate S, returning an identical malloc'd string. */
extern char *strdup (__const char *__s)
__THROW __attribute_malloc__ __nonnull ((1));
+libc_hidden_proto(strdup)
#endif
/* Return a malloc'd copy of at most N bytes of STRING. The
#if defined __USE_GNU
extern char *strndup (__const char *__string, size_t __n)
__THROW __attribute_malloc__ __nonnull ((1));
+libc_hidden_proto(strndup)
#endif
#if defined __USE_GNU && defined __GNUC__
/* Find the first occurrence of C in S. */
extern char *strchr (__const char *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
+libc_hidden_proto(strchr)
/* Find the last occurrence of C in S. */
extern char *strrchr (__const char *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
+libc_hidden_proto(strrchr)
__END_NAMESPACE_STD
#ifdef __USE_GNU
the closing NUL byte in case C is not found in S. */
extern char *strchrnul (__const char *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
+libc_hidden_proto(strchrnul)
#endif
__BEGIN_NAMESPACE_STD
consists entirely of characters not in REJECT. */
extern size_t strcspn (__const char *__s, __const char *__reject)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(strcspn)
/* Return the length of the initial segment of S which
consists entirely of characters in ACCEPT. */
extern size_t strspn (__const char *__s, __const char *__accept)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(strspn)
/* Find the first occurrence in S of any character in ACCEPT. */
extern char *strpbrk (__const char *__s, __const char *__accept)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(strpbrk)
/* Find the first occurrence of NEEDLE in HAYSTACK. */
extern char *strstr (__const char *__haystack, __const char *__needle)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(strstr)
/* Divide S into tokens separated by characters in DELIM. */
extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
__THROW __nonnull ((2));
+libc_hidden_proto(strtok)
__END_NAMESPACE_STD
/* Divide S into tokens separated by characters in DELIM. Information
extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
char **__restrict __save_ptr)
__THROW __nonnull ((2, 3));
+libc_hidden_proto(strtok_r)
#endif
#ifdef __USE_GNU
/* Similar to `strstr' but this function ignores the case of both strings. */
extern char *strcasestr (__const char *__haystack, __const char *__needle)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(strcasestr)
#endif
#ifdef __USE_GNU
extern void *memmem (__const void *__haystack, size_t __haystacklen,
__const void *__needle, size_t __needlelen)
__THROW __attribute_pure__ __nonnull ((1, 3));
+libc_hidden_proto(memmem)
/* Copy N bytes of SRC to DEST, return pointer to bytes after the
last written byte. */
extern void *mempcpy (void *__restrict __dest,
__const void *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
+libc_hidden_proto(mempcpy)
#endif
/* Return the length of S. */
extern size_t strlen (__const char *__s)
__THROW __attribute_pure__ __nonnull ((1));
+libc_hidden_proto(strlen)
__END_NAMESPACE_STD
#ifdef __USE_GNU
If no '\0' terminator is found in that many characters, return MAXLEN. */
extern size_t strnlen (__const char *__string, size_t __maxlen)
__THROW __attribute_pure__ __nonnull ((1));
+libc_hidden_proto(strnlen)
#endif
__BEGIN_NAMESPACE_STD
/* Return a string describing the meaning of the `errno' code in ERRNUM. */
extern char *strerror (int __errnum) __THROW;
+libc_hidden_proto(strerror)
__END_NAMESPACE_STD
#if defined __USE_XOPEN2K || defined __USE_MISC
/* Reentrant version of `strerror'.
/* 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__));
+libc_hidden_proto(ffs)
/* The following two functions are non-standard but necessary for non-32 bit
platforms. */
/* Compare S1 and S2, ignoring case. */
extern int strcasecmp (__const char *__s1, __const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(strcasecmp)
/* Compare no more than N chars of S1 and S2, ignoring case. */
extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(strncasecmp)
#endif /* Use BSD. */
#if defined __USE_GNU && defined __UCLIBC_HAS_XLOCALE__
extern int strcasecmp_l (__const char *__s1, __const char *__s2,
__locale_t __loc)
__THROW __attribute_pure__ __nonnull ((1, 2, 3));
+libc_hidden_proto(strcasecmp_l)
extern int strncasecmp_l (__const char *__s1, __const char *__s2,
size_t __n, __locale_t __loc)
__THROW __attribute_pure__ __nonnull ((1, 2, 4));
+libc_hidden_proto(strncasecmp_l)
#endif
#ifdef __USE_BSD
extern char *strsep (char **__restrict __stringp,
__const char *__restrict __delim)
__THROW __nonnull ((1, 2));
+libc_hidden_proto(strsep)
#endif
#ifdef __USE_GNU
#if 0
extern int strverscmp (__const char *__s1, __const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
+libc_hidden_proto(strverscmp)
#endif
/* Return a string describing the meaning of the signal number in SIG. */
extern char *strsignal (int __sig) __THROW;
+libc_hidden_proto(strsignal)
/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */
#if 0 /* uClibc: disabled */
#endif
extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
__THROW __nonnull ((1, 2));
+libc_hidden_proto(stpcpy)
/* Copy no more than N characters of SRC to DEST, returning the address of
the last character written into DEST. */
extern char *stpncpy (char *__restrict __dest,
__const char *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
+libc_hidden_proto(stpncpy)
#if 0 /* uClibc does not support strfry or memfrob. */
/* Sautee STRING briskly. */
in <libgen.h>) which makes the XPG version of this function
available. */
extern char *basename (__const char *__filename) __THROW __nonnull ((1));
+libc_hidden_proto(basename)
# endif
#endif
/* Two OpenBSD extension functions. */
extern size_t strlcat(char *__restrict dst, const char *__restrict src,
size_t n) __THROW __nonnull ((1, 2));
+libc_hidden_proto(strlcat)
extern size_t strlcpy(char *__restrict dst, const char *__restrict src,
size_t n) __THROW __nonnull ((1, 2));
-#endif
-
-__END_DECLS
-
-
-#ifdef UCLIBC_INTERNAL
-/* In the same order and with the same defines */
-libc_hidden_proto(memcpy)
-libc_hidden_proto(memmove)
-#if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN
-libc_hidden_proto(memccpy)
-#endif /* SVID. */
-libc_hidden_proto(memset)
-libc_hidden_proto(memcmp)
-libc_hidden_proto(memchr)
-#ifdef __USE_GNU
-libc_hidden_proto(rawmemchr)
-libc_hidden_proto(memrchr)
-#endif
-libc_hidden_proto(strcpy)
-libc_hidden_proto(strncpy)
-libc_hidden_proto(strcat)
-libc_hidden_proto(strncat)
-libc_hidden_proto(strcmp)
-libc_hidden_proto(strncmp)
-libc_hidden_proto(strcoll)
-libc_hidden_proto(strxfrm)
-#if defined __USE_GNU && defined __UCLIBC_HAS_XLOCALE__
-libc_hidden_proto(strcoll_l)
-libc_hidden_proto(strxfrm_l)
-#endif
-#if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED
-libc_hidden_proto(strdup)
-#endif
-#if defined __USE_GNU
-libc_hidden_proto(strndup)
-#endif
-libc_hidden_proto(strchr)
-libc_hidden_proto(strrchr)
-#ifdef __USE_GNU
-libc_hidden_proto(strchrnul)
-#endif
-libc_hidden_proto(strcspn)
-libc_hidden_proto(strspn)
-libc_hidden_proto(strpbrk)
-libc_hidden_proto(strstr)
-libc_hidden_proto(strtok)
-#if 0 /* uClibc: disabled */
-libc_hidden_proto(__strtok_r)
-#endif
-#if defined __USE_POSIX || defined __USE_MISC
-libc_hidden_proto(strtok_r)
-#endif
-#ifdef __USE_GNU
-libc_hidden_proto(strcasestr)
-#endif
-#ifdef __USE_GNU
-libc_hidden_proto(memmem)
-#if 0 /* uClibc: disabled */
-libc_hidden_proto(__mempcpy)
-#endif
-libc_hidden_proto(mempcpy)
-#endif
-libc_hidden_proto(strlen)
-#ifdef __USE_GNU
-libc_hidden_proto(strnlen)
-#endif
-libc_hidden_proto(strerror)
-/* TODO: insert strerror_r mess here */
-#if 0 /* uClibc: disabled */
-libc_hidden_proto(__bzero)
-#endif
-#ifdef __USE_BSD
-/* No libc_hidden_proto for bcopy etc., since uClibc doesn't itself use the
- legacy functions. */
-libc_hidden_proto(ffs)
-#if 0 /*def __USE_GNU*/
-libc_hidden_proto(ffsl)
-# ifdef __GNUC__
-libc_hidden_proto(ffsll)
-# endif
-# endif
-libc_hidden_proto(strcasecmp)
-libc_hidden_proto(strncasecmp)
-#endif /* Use BSD. */
-#if defined __USE_GNU && defined __UCLIBC_HAS_XLOCALE__
-libc_hidden_proto(strcasecmp_l)
-libc_hidden_proto(strncasecmp_l)
-#endif
-#ifdef __USE_BSD
-libc_hidden_proto(strsep)
-#endif
-#ifdef __USE_GNU
-#if 0
-libc_hidden_proto(strverscmp)
-#endif
-libc_hidden_proto(strsignal)
-#if 0 /* uClibc: disabled */
-libc_hidden_proto(__stpcpy)
-#endif
-libc_hidden_proto(stpcpy)
-#if 0 /* uClibc: disabled */
-libc_hidden_proto(__stpncpy)
-#endif
-libc_hidden_proto(stpncpy)
-#if 0 /* uClibc does not support strfry or memfrob. */
-libc_hidden_proto(strfry)
-libc_hidden_proto(memfrob)
-#endif
-# ifndef basename
-libc_hidden_proto(basename)
-# endif
-#endif
-#ifdef __USE_BSD
-libc_hidden_proto(strlcat)
libc_hidden_proto(strlcpy)
#endif
-#endif
+__END_DECLS
#endif /* string.h */