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.
8 #ifndef __WINE_STRING_H
9 #define __WINE_STRING_H
10 #define __WINE_USE_MSVCRT
14 #ifdef USE_MSVCRT_PREFIX
15 #define MSVCRT(x) MSVCRT_##x
21 #ifndef MSVCRT_SIZE_T_DEFINED
22 typedef unsigned int MSVCRT(size_t);
23 #define MSVCRT_SIZE_T_DEFINED
31 void* _memccpy(void*,const void*,int,MSVCRT(size_t));
32 int _memicmp(const void*,const void*,MSVCRT(size_t));
33 int _strcmpi(const char*,const char*);
34 char* _strdup(const char*);
35 char* _strerror(const char*);
36 int _stricmp(const char*,const char*);
37 int _stricoll(const char*,const char*);
39 int _strnicmp(const char*,const char*,MSVCRT(size_t));
40 char* _strnset(char*,int,MSVCRT(size_t));
42 char* _strset(char*,int);
45 void* MSVCRT(memchr
)(const void*,int,MSVCRT(size_t));
46 int MSVCRT(memcmp
)(const void*,const void*,MSVCRT(size_t));
47 void* MSVCRT(memcpy
)(void*,const void*,MSVCRT(size_t));
48 void* MSVCRT(memmove
)(void*,const void*,MSVCRT(size_t));
49 void* MSVCRT(memset
)(void*,int,MSVCRT(size_t));
50 char* MSVCRT(strcat
)(char*,const char*);
51 char* MSVCRT(strchr
)(const char*,int);
52 int MSVCRT(strcmp
)(const char*,const char*);
53 int MSVCRT(strcoll
)(const char*,const char*);
54 char* MSVCRT(strcpy
)(char*,const char*);
55 MSVCRT(size_t) MSVCRT(strcspn
)(const char*,const char*);
56 char* MSVCRT(strerror
)(int);
57 MSVCRT(size_t) MSVCRT(strlen
)(const char*);
58 char* MSVCRT(strncat
)(char*,const char*,MSVCRT(size_t));
59 int MSVCRT(strncmp
)(const char*,const char*,MSVCRT(size_t));
60 char* MSVCRT(strncpy
)(char*,const char*,MSVCRT(size_t));
61 char* MSVCRT(strpbrk
)(const char*,const char*);
62 char* MSVCRT(strrchr
)(const char*,int);
63 MSVCRT(size_t) MSVCRT(strspn
)(const char*,const char*);
64 char* MSVCRT(strstr
)(const char*,const char*);
65 char* MSVCRT(strtok
)(char*,const char*);
66 MSVCRT(size_t) MSVCRT(strxfrm
)(char*,const char*,MSVCRT(size_t));
68 WCHAR
* _wcsdup(const WCHAR
*);
69 int _wcsicmp(const WCHAR
*,const WCHAR
*);
70 int _wcsicoll(const WCHAR
*,const WCHAR
*);
71 WCHAR
* _wcslwr(WCHAR
*);
72 int _wcsnicmp(const WCHAR
*,const WCHAR
*,MSVCRT(size_t));
73 WCHAR
* _wcsnset(WCHAR
*,WCHAR
,MSVCRT(size_t));
74 WCHAR
* _wcsrev(WCHAR
*);
75 WCHAR
* _wcsset(WCHAR
*,WCHAR
);
76 WCHAR
* _wcsupr(WCHAR
*);
78 WCHAR
* MSVCRT(wcscat
)(WCHAR
*,const WCHAR
*);
79 WCHAR
* MSVCRT(wcschr
)(const WCHAR
*,WCHAR
);
80 int MSVCRT(wcscmp
)(const WCHAR
*,const WCHAR
*);
81 int MSVCRT(wcscoll
)(const WCHAR
*,const WCHAR
*);
82 WCHAR
* MSVCRT(wcscpy
)(WCHAR
*,const WCHAR
*);
83 MSVCRT(size_t) MSVCRT(wcscspn
)(const WCHAR
*,const WCHAR
*);
84 MSVCRT(size_t) MSVCRT(wcslen
)(const WCHAR
*);
85 WCHAR
* MSVCRT(wcsncat
)(WCHAR
*,const WCHAR
*,MSVCRT(size_t));
86 int MSVCRT(wcsncmp
)(const WCHAR
*,const WCHAR
*,MSVCRT(size_t));
87 WCHAR
* MSVCRT(wcsncpy
)(WCHAR
*,const WCHAR
*,MSVCRT(size_t));
88 WCHAR
* MSVCRT(wcspbrk
)(const WCHAR
*,const WCHAR
*);
89 WCHAR
* MSVCRT(wcsrchr
)(const WCHAR
*,WCHAR wcFor
);
90 MSVCRT(size_t) MSVCRT(wcsspn
)(const WCHAR
*,const WCHAR
*);
91 WCHAR
* MSVCRT(wcsstr
)(const WCHAR
*,const WCHAR
*);
92 WCHAR
* MSVCRT(wcstok
)(WCHAR
*,const WCHAR
*);
93 MSVCRT(size_t) MSVCRT(wcsxfrm
)(WCHAR
*,const WCHAR
*,MSVCRT(size_t));
100 #ifndef USE_MSVCRT_PREFIX
101 #define memccpy _memccpy
102 #define memicmp _memicmp
103 #define strcasecmp _strcasecmp
104 #define strcmpi _strcmpi
105 #define strdup _strdup
106 #define stricmp _stricmp
107 #define stricoll _stricoll
108 #define strlwr _strlwr
109 #define strncasecmp _strncasecmp
110 #define strnicmp _strnicmp
111 #define strnset _strnset
112 #define strrev _strrev
113 #define strset _strset
114 #define strupr _strupr
116 #define wcsdup _wcsdup
117 #define wcsicoll _wcsicoll
118 #define wcslwr _wcslwr
119 #define wcsnicmp _wcsnicmp
120 #define wcsnset _wcsnset
121 #define wcsrev _wcsrev
122 #define wcsset _wcsset
123 #define wcsupr _wcsupr
124 #endif /* USE_MSVCRT_PREFIX */
126 #endif /* __WINE_STRING_H */