1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _INC_TCHAR_S 7 #define _INC_TCHAR_S 8 9 #include <tchar.h> 10 11 #if defined(MINGW_HAS_SECURE_API) 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 #ifdef _UNICODE 18 19 #define _tprintf_s wprintf_s 20 #define _tprintf_s_l _wprintf_s_l 21 #define _tcprintf_s _cwprintf_s 22 #define _tcprintf_s_l _cwprintf_s_l 23 #define _vtcprintf_s _vcwprintf_s 24 #define _vtcprintf_s_l _vcwprintf_s_l 25 #define _ftprintf_s fwprintf_s 26 #define _ftprintf_s_l _fwprintf_s_l 27 #define _stprintf_s swprintf_s 28 #define _stprintf_s_l _swprintf_s_l 29 #define _sntprintf_s _snwprintf_s 30 #define _sntprintf_s_l _snwprintf_s_l 31 #define _vtprintf_s vwprintf_s 32 #define _vtprintf_s_l _vwprintf_s_l 33 #define _vftprintf_s vfwprintf_s 34 #define _vftprintf_s_l _vfwprintf_s_l 35 #define _vstprintf_s vswprintf_s 36 #define _vstprintf_s_l _vswprintf_s_l 37 #define _vsntprintf_s _vsnwprintf_s 38 #define _vsntprintf_s_l _vsnwprintf_s_l 39 40 #define _tscanf_s wscanf_s 41 #define _tscanf_s_l _wscanf_s_l 42 #define _tcscanf_s _cwscanf_s 43 #define _tcscanf_s_l _cwscanf_s_l 44 #define _ftscanf_s fwscanf_s 45 #define _ftscanf_s_l _fwscanf_s_l 46 #define _stscanf_s swscanf_s 47 #define _stscanf_s_l _swscanf_s_l 48 #define _sntscanf_s _snwscanf_s 49 #define _sntscanf_s_l _snwscanf_s_l 50 51 #define _cgetts_s _cgetws_s 52 #define _getts_s _getws_s 53 54 #define _itot_s _itow_s 55 #define _ltot_s _ltow_s 56 #define _ultot_s _ultow_s 57 #define _i64tot_s _i64tow_s 58 #define _ui64tot_s _ui64tow_s 59 60 #define _tcscat_s wcscat_s 61 #define _tcscpy_s wcscpy_s 62 #define _tcsncat_s wcsncat_s 63 #define _tcsncat_s_l _wcsncat_s_l 64 #define _tcsncpy_s wcsncpy_s 65 #define _tcsncpy_s_l _wcsncpy_s_l 66 #define _tcstok_s wcstok_s 67 #define _tcstok_s_l _wcstok_s_l 68 #define _tcserror_s _wcserror_s 69 #define __tcserror_s __wcserror_s 70 71 #define _tcsnset_s _wcsnset_s 72 #define _tcsnset_s_l _wcsnset_s_l 73 #define _tcsset_s _wcsset_s 74 #define _tcsset_s_l _wcsset_s_l 75 76 #define _tasctime_s _wasctime_s 77 #define _tctime_s _wctime_s 78 #define _tctime32_s _wctime32_s 79 #define _tctime64_s _wctime64_s 80 #define _tstrdate_s _wstrdate_s 81 #define _tstrtime_s _wstrtime_s 82 83 #define _tgetenv_s _wgetenv_s 84 #define _tdupenv_s _wdupenv_s 85 #define _tmakepath_s _wmakepath_s 86 #define _tputenv_s _wputenv_s 87 #define _tsearchenv_s _wsearchenv_s 88 #define _tsplitpath_s _wsplitpath_s 89 90 #define _tfopen_s _wfopen_s 91 #define _tfreopen_s _wfreopen_s 92 #define _ttmpnam_s _wtmpnam_s 93 #define _taccess_s _waccess_s 94 #define _tmktemp_s _wmktemp_s 95 96 #define _tcsnccat_s wcsncat_s 97 #define _tcsnccat_s_l _wcsncat_s_l 98 #define _tcsnccpy_s wcsncpy_s 99 #define _tcsnccpy_s_l _wcsncpy_s_l 100 101 #define _tcslwr_s _wcslwr_s 102 #define _tcslwr_s_l _wcslwr_s_l 103 #define _tcsupr_s _wcsupr_s 104 #define _tcsupr_s_l _wcsupr_s_l 105 106 #define _wcstok_s_l(_String,_Delimiters,_Current_position,_Locale) (wcstok_s(_String,_Delimiters,_Current_position)) 107 #define _wcsnset_s_l(_Destination,_Destination_size_chars,_Value,_Count,_Locale) (_wcsnset_s(_Destination,_Destination_size_chars,_Value,_Count)) 108 #define _wcsset_s_l(_Destination,_Destination_size_chars,_Value,_Locale) (_wcsset_s(_Destination,_Destination_size_chars,_Value)) 109 110 #else 111 112 #define _tprintf_s printf_s 113 #define _tprintf_s_l _printf_s_l 114 #define _tcprintf_s _cprintf_s 115 #define _tcprintf_s_l _cprintf_s_l 116 #define _vtcprintf_s _vcprintf_s 117 #define _vtcprintf_s_l _vcprintf_s_l 118 #define _ftprintf_s fprintf_s 119 #define _ftprintf_s_l _fprintf_s_l 120 #define _stprintf_s sprintf_s 121 #define _stprintf_s_l _sprintf_s_l 122 #define _sntprintf_s _snprintf_s 123 #define _sntprintf_s_l _snprintf_s_l 124 #define _vtprintf_s vprintf_s 125 #define _vtprintf_s_l _vprintf_s_l 126 #define _vftprintf_s vfprintf_s 127 #define _vftprintf_s_l _vfprintf_s_l 128 #define _vstprintf_s vsprintf_s 129 #define _vstprintf_s_l _vsprintf_s_l 130 #define _vsntprintf_s _vsnprintf_s 131 #define _vsntprintf_s_l _vsnprintf_s_l 132 #define _tscanf_s scanf_s 133 #define _tscanf_s_l _scanf_s_l 134 #define _tcscanf_s _cscanf_s 135 #define _tcscanf_s_l _cscanf_s_l 136 #define _ftscanf_s fscanf_s 137 #define _ftscanf_s_l _fscanf_s_l 138 #define _stscanf_s sscanf_s 139 #define _stscanf_s_l _sscanf_s_l 140 #define _sntscanf_s _snscanf_s 141 #define _sntscanf_s_l _snscanf_s_l 142 143 #define _getts_s gets_s 144 #define _cgetts_s _cgets_s 145 #define _itot_s _itoa_s 146 #define _ltot_s _ltoa_s 147 #define _ultot_s _ultoa_s 148 #define _i64tot_s _i64toa_s 149 #define _ui64tot_s _ui64toa_s 150 151 #define _tcscat_s strcat_s 152 #define _tcscpy_s strcpy_s 153 #define _tcserror_s strerror_s 154 #define __tcserror_s _strerror_s 155 156 #define _tasctime_s asctime_s 157 #define _tctime_s ctime_s 158 #define _tctime32_s _ctime32_s 159 #define _tctime64_s _ctime64_s 160 #define _tstrdate_s _strdate_s 161 #define _tstrtime_s _strtime_s 162 163 #define _tgetenv_s getenv_s 164 #define _tdupenv_s _dupenv_s 165 #define _tmakepath_s _makepath_s 166 #define _tputenv_s _putenv_s 167 #define _tsearchenv_s _searchenv_s 168 #define _tsplitpath_s _splitpath_s 169 170 #define _tfopen_s fopen_s 171 #define _tfreopen_s freopen_s 172 #define _ttmpnam_s tmpnam_s 173 #define _tmktemp_s _mktemp_s 174 175 #ifndef _POSIX_ 176 #define _taccess_s _access_s 177 #endif 178 179 #define _tsopen_s _sopen_s 180 181 #ifdef _MBCS 182 183 #ifdef _MB_MAP_DIRECT 184 185 #define _tcsncat_s _mbsnbcat_s 186 #define _tcsncat_s_l _mbsnbcat_s_l 187 #define _tcsncpy_s _mbsnbcpy_s 188 #define _tcsncpy_s_l _mbsnbcpy_s_l 189 #define _tcstok_s _mbstok_s 190 #define _tcstok_s_l _mbstok_s_l 191 192 #define _tcsnset_s _mbsnbset_s 193 #define _tcsnset_s_l _mbsnbset_s_l 194 #define _tcsset_s _mbsset_s 195 #define _tcsset_s_l _mbsset_s_l 196 197 #define _tcsnccat_s _mbsncat_s 198 #define _tcsnccat_s_l _mbsncat_s_l 199 #define _tcsnccpy_s _mbsncpy_s 200 #define _tcsnccpy_s_l _mbsncpy_s_l 201 #define _tcsncset_s _mbsnset_s 202 #define _tcsncset_s_l _mbsnset_s_l 203 204 #define _tcslwr_s _mbslwr_s 205 #define _tcslwr_s_l _mbslwr_s_l 206 #define _tcsupr_s _mbsupr_s 207 #define _tcsupr_s_l _mbsupr_s_l 208 209 #define _tccpy_s _mbccpy_s 210 #define _tccpy_s_l _mbccpy_s_l 211 #else 212 213 _CRTIMP char *__cdecl _tcsncat_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount); 214 _CRTIMP char *__cdecl _tcsncat_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale); 215 _CRTIMP char *__cdecl _tcsncpy_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount); 216 _CRTIMP char *__cdecl _tcsncpy_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale); 217 _CRTIMP char *__cdecl _tcstok_s(char *_Str,const char *_Delim,char **_Context); 218 _CRTIMP char *__cdecl _tcstok_s_l(char *_Str,const char *_Delim,char **_Context,_locale_t _Locale); 219 _CRTIMP errno_t __cdecl _tcsset_s(char *_Str,size_t _SizeInChars,unsigned int _Val); 220 _CRTIMP errno_t __cdecl _tcsset_s_l(char *_Str,size_t _SizeInChars,unsigned int,_locale_t _Locale); 221 _CRTIMP char *__cdecl _tcsnccat_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount); 222 _CRTIMP char *__cdecl _tcsnccat_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale); 223 _CRTIMP char *__cdecl _tcsnccpy_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount); 224 _CRTIMP char *__cdecl _tcsnccpy_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale); 225 _CRTIMP char *__cdecl _tcslwr_s(char *_Str,size_t _SizeInChars); 226 _CRTIMP char *__cdecl _tcslwr_s_l(char *_Str,size_t _SizeInChars,_locale_t _Locale); 227 _CRTIMP char *__cdecl _tcsupr_s(char *_Str,size_t _SizeInChars); 228 _CRTIMP char *__cdecl _tcsupr_s_l(char *_Str,size_t _SizeInChars,_locale_t _Locale); 229 230 #endif 231 232 #else 233 234 #define _tcsncat_s strncat_s 235 #define _tcsncat_s_l _strncat_s_l 236 #define _tcsncpy_s strncpy_s 237 #define _tcsncpy_s_l _strncpy_s_l 238 #define _tcstok_s strtok_s 239 #define _tcstok_s_l _strtok_s_l 240 241 #define _tcsnset_s _strnset_s 242 #define _tcsnset_s_l _strnset_s_l 243 #define _tcsset_s _strset_s 244 #define _tcsset_s _strset_s 245 #define _tcsset_s_l _strset_s_l 246 247 #define _tcsnccat_s strncat_s 248 #define _tcsnccat_s_l _strncat_s_l 249 #define _tcsnccpy_s strncpy_s 250 #define _tcsnccpy_s_l _strncpy_s_l 251 252 #define _tcslwr_s _strlwr_s 253 #define _tcslwr_s_l _strlwr_s_l 254 #define _tcsupr_s _strupr_s 255 #define _tcsupr_s_l _strupr_s_l 256 257 #define _strnset_s_l(_Destination,_Destination_size_chars,_Value,_Count,_Locale) (_strnset_s(_Destination,_Destination_size_chars,_Value,_Count)) 258 #define _strset_s_l(_Destination,_Destination_size_chars,_Value,_Locale) (_strset_s(_Destination,_Destination_size_chars,_Value)) 259 #endif 260 #endif 261 262 #ifdef __cplusplus 263 } 264 #endif 265 #endif 266 #endif 267