| /* |
| * string.h |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is a part of the mingw-runtime package. |
| * No warranty is given; refer to the file DISCLAIMER within the package. |
| * |
| * Definitions for memory and string functions. |
| * |
| */ |
| |
| #ifndef _STRING_H |
| #define _STRING_H |
| |
| /* All the headers include this file. */ |
| #include <_mingw.h> |
| |
| /* |
| * Define size_t, wchar_t and NULL |
| */ |
| #define __need_size_t |
| #define __need_wchar_t |
| #define __need_NULL |
| #include <stddef.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* |
| * Prototypes of the ANSI Standard C library string functions. |
| */ |
| void *__cdecl __MINGW_NOTHROW memchr(const void *, int, size_t) __MINGW_ATTRIB_PURE; |
| int __cdecl __MINGW_NOTHROW memcmp(const void *, const void *, size_t) __MINGW_ATTRIB_PURE; |
| void *__cdecl __MINGW_NOTHROW memcpy(void *, const void *, size_t); |
| void *__cdecl __MINGW_NOTHROW memmove(void *, const void *, size_t); |
| void *__cdecl __MINGW_NOTHROW memset(void *, int, size_t); |
| char *__cdecl __MINGW_NOTHROW strcat(char *, const char *); |
| char *__cdecl __MINGW_NOTHROW strchr(const char *, int) __MINGW_ATTRIB_PURE; |
| int __cdecl __MINGW_NOTHROW strcmp(const char *, const char *) __MINGW_ATTRIB_PURE; |
| int __cdecl __MINGW_NOTHROW strcoll(const char *, const char *); /* Compare using locale */ |
| char *__cdecl __MINGW_NOTHROW strcpy(char *, const char *); |
| size_t __cdecl __MINGW_NOTHROW strcspn(const char *, const char *) __MINGW_ATTRIB_PURE; |
| char *__cdecl __MINGW_NOTHROW strerror(int); /* NOTE: NOT an old name wrapper. */ |
| char *__cdecl __MINGW_NOTHROW strerror_r(int, char *, size_t); |
| size_t __cdecl __MINGW_NOTHROW strlen(const char *) __MINGW_ATTRIB_PURE; |
| size_t __cdecl __MINGW_NOTHROW strnlen(const char *, size_t) __MINGW_ATTRIB_PURE; |
| char *__cdecl __MINGW_NOTHROW strncat(char *, const char *, size_t); |
| int __cdecl __MINGW_NOTHROW strncmp(const char *, const char *, size_t) __MINGW_ATTRIB_PURE; |
| char *__cdecl __MINGW_NOTHROW strncpy(char *, const char *, size_t); |
| char *__cdecl __MINGW_NOTHROW strpbrk(const char *, const char *) __MINGW_ATTRIB_PURE; |
| char *__cdecl __MINGW_NOTHROW strrchr(const char *, int) __MINGW_ATTRIB_PURE; |
| size_t __cdecl __MINGW_NOTHROW strspn(const char *, const char *) __MINGW_ATTRIB_PURE; |
| char *__cdecl __MINGW_NOTHROW strstr(const char *, const char *) __MINGW_ATTRIB_PURE; |
| char *__cdecl __MINGW_NOTHROW strtok(char *, const char *); |
| size_t __cdecl __MINGW_NOTHROW strxfrm(char *, const char *, size_t); |
| |
| /* |
| * Non-underscored versions of non-ANSI functions. They live in liboldnames.a |
| * and provide a little extra portability. Also a few extra UNIX-isms like |
| * strcasecmp. |
| */ |
| void *__cdecl __MINGW_NOTHROW memccpy(void *, const void *, int, size_t); |
| //int __cdecl __MINGW_NOTHROW memicmp(const void *, const void *, size_t); |
| char *__cdecl __MINGW_NOTHROW strdup(const char *) __MINGW_ATTRIB_MALLOC; |
| int __cdecl __MINGW_NOTHROW strcasecmp(const char *, const char *); |
| int __cdecl __MINGW_NOTHROW strncasecmp(const char *, const char *, size_t); |
| int __cdecl __MINGW_NOTHROW stricoll (const char *, const char *); |
| char *__cdecl __MINGW_NOTHROW strlwr (char *); |
| char *__cdecl __MINGW_NOTHROW strnset (char *, int, size_t); |
| char *__cdecl __MINGW_NOTHROW strrev (char *); |
| char *__cdecl __MINGW_NOTHROW strset (char *, int); |
| char *__cdecl __MINGW_NOTHROW strupr (char *); |
| #ifndef _UWIN |
| void __cdecl __MINGW_NOTHROW swab (const void *, void *, size_t); |
| #endif /* _UWIN */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif |