| 1 | /*
 | 
|---|
| 2 |  * String definitions
 | 
|---|
| 3 |  *
 | 
|---|
| 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
 | 
|---|
| 10 | #define __WINE_USE_MSVCRT
 | 
|---|
| 11 | 
 | 
|---|
| 12 | #include "winnt.h"
 | 
|---|
| 13 | 
 | 
|---|
| 14 | #ifdef USE_MSVCRT_PREFIX
 | 
|---|
| 15 | #define MSVCRT(x)    MSVCRT_##x
 | 
|---|
| 16 | #else
 | 
|---|
| 17 | #define MSVCRT(x)    x
 | 
|---|
| 18 | #endif
 | 
|---|
| 19 | 
 | 
|---|
| 20 | 
 | 
|---|
| 21 | #ifndef MSVCRT_SIZE_T_DEFINED
 | 
|---|
| 22 | typedef unsigned int MSVCRT(size_t);
 | 
|---|
| 23 | #define MSVCRT_SIZE_T_DEFINED
 | 
|---|
| 24 | #endif
 | 
|---|
| 25 | 
 | 
|---|
| 26 | 
 | 
|---|
| 27 | #ifdef __cplusplus
 | 
|---|
| 28 | extern "C" {
 | 
|---|
| 29 | #endif
 | 
|---|
| 30 | 
 | 
|---|
| 31 | void*       MSVCRT(_memccpy)(void*,const void*,int,MSVCRT(size_t));
 | 
|---|
| 32 | int         MSVCRT(_memicmp)(const void*,const void*,MSVCRT(size_t));
 | 
|---|
| 33 | int         MSVCRT(_strcmpi)(const char*,const char*);
 | 
|---|
| 34 | char*       MSVCRT(_strdup)(const char*);
 | 
|---|
| 35 | char*       MSVCRT(_strerror)(const char*);
 | 
|---|
| 36 | int         MSVCRT(_stricmp)(const char*,const char*);
 | 
|---|
| 37 | int         MSVCRT(_stricoll)(const char*,const char*);
 | 
|---|
| 38 | char*       MSVCRT(_strlwr)(char*);
 | 
|---|
| 39 | int         MSVCRT(_strnicmp)(const char*,const char*,MSVCRT(size_t));
 | 
|---|
| 40 | char*       MSVCRT(_strnset)(char*,int,MSVCRT(size_t));
 | 
|---|
| 41 | char*       MSVCRT(_strrev)(char*);
 | 
|---|
| 42 | char*       MSVCRT(_strset)(char*,int);
 | 
|---|
| 43 | char*       MSVCRT(_strupr)(char*);
 | 
|---|
| 44 | 
 | 
|---|
| 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*       MSVCRTstrerror(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));
 | 
|---|
| 67 | 
 | 
|---|
| 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*);
 | 
|---|
| 77 | 
 | 
|---|
| 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));
 | 
|---|
| 94 | 
 | 
|---|
| 95 | #ifdef __cplusplus
 | 
|---|
| 96 | }
 | 
|---|
| 97 | #endif
 | 
|---|
| 98 | 
 | 
|---|
| 99 | 
 | 
|---|
| 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
 | 
|---|
| 115 | 
 | 
|---|
| 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 */
 | 
|---|
| 125 | 
 | 
|---|
| 126 | #endif /* __WINE_STRING_H */
 | 
|---|