blob: 26b79113a6d07c940a11caf4420e616c0029b857 [file] [log] [blame] [raw]
/*
* 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