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