user32/tests: Improve timer measurement method.
[wine.git] / include / msvcrt / string.h
blob18d424b1e6af21af8eef5f11db3a740558ad7d11
1 /*
2 * String definitions
4 * Derived from the mingw header written by Colin Peters.
5 * Modified for Wine use by Jon Griffiths and Francois Gouget.
6 * This file is in the public domain.
7 */
8 #ifndef __WINE_STRING_H
9 #define __WINE_STRING_H
11 #include <corecrt_malloc.h>
12 #include <corecrt_wstring.h>
14 #ifndef _NLSCMP_DEFINED
15 #define _NLSCMPERROR ((unsigned int)0x7fffffff)
16 #define _NLSCMP_DEFINED
17 #endif
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
23 _ACRTIMP size_t __cdecl __strncnt(const char*,size_t);
24 _ACRTIMP int __cdecl _strcmpi(const char*,const char*);
25 _ACRTIMP int __cdecl _strcoll_l(const char*, const char*, _locale_t);
26 _ACRTIMP char* __cdecl _strdup(const char*) __WINE_DEALLOC(free) __WINE_MALLOC;
27 _ACRTIMP char* __cdecl _strerror(const char*);
28 _ACRTIMP errno_t __cdecl strerror_s(char*,size_t,int);
29 _ACRTIMP int __cdecl _stricmp(const char*,const char*);
30 _ACRTIMP int __cdecl _stricoll(const char*,const char*);
31 _ACRTIMP int __cdecl _stricoll_l(const char*, const char*, _locale_t);
32 _ACRTIMP char* __cdecl _strlwr(char*);
33 _ACRTIMP errno_t __cdecl _strlwr_s(char*,size_t);
34 _ACRTIMP int __cdecl _strncoll(const char*, const char*, size_t);
35 _ACRTIMP int __cdecl _strncoll_l(const char*, const char*, size_t, _locale_t);
36 _ACRTIMP int __cdecl _strnicmp(const char*,const char*,size_t);
37 _ACRTIMP int __cdecl _strnicoll(const char*, const char*, size_t);
38 _ACRTIMP int __cdecl _strnicoll_l(const char*, const char*, size_t, _locale_t);
39 _ACRTIMP char* __cdecl _strnset(char*,int,size_t);
40 _ACRTIMP char* __cdecl _strrev(char*);
41 _ACRTIMP char* __cdecl _strset(char*,int);
42 _ACRTIMP char* __cdecl _strupr(char*);
43 _ACRTIMP errno_t __cdecl _strupr_s(char *, size_t);
44 _ACRTIMP size_t __cdecl _strxfrm_l(char*,const char*,size_t,_locale_t);
46 _ACRTIMP errno_t __cdecl memmove_s(void*,size_t,const void*,size_t);
47 _ACRTIMP char* __cdecl strcat(char*,const char*);
48 _ACRTIMP errno_t __cdecl strcat_s(char*,size_t,const char*);
49 _ACRTIMP char* __cdecl strchr(const char*,int);
50 _ACRTIMP int __cdecl strcmp(const char*,const char*);
51 _ACRTIMP int __cdecl strcoll(const char*,const char*);
52 _ACRTIMP char* __cdecl strcpy(char*,const char*);
53 _ACRTIMP errno_t __cdecl strcpy_s(char*,size_t,const char*);
54 _ACRTIMP size_t __cdecl strcspn(const char*,const char*);
55 _ACRTIMP char* __cdecl strerror(int);
56 _ACRTIMP size_t __cdecl strlen(const char*);
57 _ACRTIMP char* __cdecl strncat(char*,const char*,size_t);
58 _ACRTIMP errno_t __cdecl strncat_s(char*,size_t,const char*,size_t);
59 _ACRTIMP int __cdecl strncmp(const char*,const char*,size_t);
60 _ACRTIMP char* __cdecl strncpy(char*,const char*,size_t);
61 _ACRTIMP errno_t __cdecl strncpy_s(char*,size_t,const char*,size_t);
62 _ACRTIMP size_t __cdecl strnlen(const char*,size_t);
63 _ACRTIMP char* __cdecl strpbrk(const char*,const char*);
64 _ACRTIMP char* __cdecl strrchr(const char*,int);
65 _ACRTIMP size_t __cdecl strspn(const char*,const char*);
66 _ACRTIMP char* __cdecl strstr(const char*,const char*);
67 _ACRTIMP char* __cdecl strtok(char*,const char*);
68 _ACRTIMP char* __cdecl strtok_s(char*,const char*,char**);
69 _ACRTIMP size_t __cdecl strxfrm(char*,const char*,size_t);
71 #ifdef __cplusplus
73 #endif
76 static inline int strcasecmp(const char* s1, const char* s2) { return _stricmp(s1, s2); }
77 static inline int strcmpi(const char* s1, const char* s2) { return _strcmpi(s1, s2); }
78 static inline char* strdup(const char* buf) { return _strdup(buf); }
79 static inline int stricmp(const char* s1, const char* s2) { return _stricmp(s1, s2); }
80 static inline int stricoll(const char* s1, const char* s2) { return _stricoll(s1, s2); }
81 static inline char* strlwr(char* str) { return _strlwr(str); }
82 static inline int strncasecmp(const char *str1, const char *str2, size_t n) { return _strnicmp(str1, str2, n); }
83 static inline int strnicmp(const char* s1, const char* s2, size_t n) { return _strnicmp(s1, s2, n); }
84 static inline char* strnset(char* str, int value, unsigned int len) { return _strnset(str, value, len); }
85 static inline char* strrev(char* str) { return _strrev(str); }
86 static inline char* strset(char* str, int value) { return _strset(str, value); }
87 static inline char* strupr(char* str) { return _strupr(str); }
89 static inline wchar_t* wcsdup(const wchar_t* str) { return _wcsdup(str); }
90 static inline int wcsicoll(const wchar_t* str1, const wchar_t* str2) { return _wcsicoll(str1, str2); }
91 static inline wchar_t* wcslwr(wchar_t* str) { return _wcslwr(str); }
92 static inline int wcsicmp(const wchar_t* s1, const wchar_t* s2) { return _wcsicmp(s1, s2); }
93 static inline int wcsnicmp(const wchar_t* str1, const wchar_t* str2, size_t n) { return _wcsnicmp(str1, str2, n); }
94 static inline wchar_t* wcsnset(wchar_t* str, wchar_t c, size_t n) { return _wcsnset(str, c, n); }
95 static inline wchar_t* wcsrev(wchar_t* str) { return _wcsrev(str); }
96 static inline wchar_t* wcsset(wchar_t* str, wchar_t c) { return _wcsset(str, c); }
97 static inline wchar_t* wcsupr(wchar_t* str) { return _wcsupr(str); }
99 #endif /* __WINE_STRING_H */