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#include <crtdefs.h> 7 8#ifndef _INC_TCHAR 9#define _INC_TCHAR 10 11#ifdef _STRSAFE_H_INCLUDED_ 12#error Need to include strsafe.h after tchar.h 13#endif 14 15#ifdef __cplusplus 16extern "C" { 17#endif 18 19#ifndef __CYGWIN__ 20 21#define _ftcscat _tcscat 22#define _ftcschr _tcschr 23#define _ftcscpy _tcscpy 24#define _ftcscspn _tcscspn 25#define _ftcslen _tcslen 26#define _ftcsncat _tcsncat 27#define _ftcsncpy _tcsncpy 28#define _ftcspbrk _tcspbrk 29#define _ftcsrchr _tcsrchr 30#define _ftcsspn _tcsspn 31#define _ftcsstr _tcsstr 32#define _ftcstok _tcstok 33 34#define _ftcsdup _tcsdup 35#define _ftcsnset _tcsnset 36#define _ftcsrev _tcsrev 37#define _ftcsset _tcsset 38 39#define _ftcscmp _tcscmp 40#define _ftcsicmp _tcsicmp 41#define _ftcsnccmp _tcsnccmp 42#define _ftcsncmp _tcsncmp 43#define _ftcsncicmp _tcsncicmp 44#define _ftcsnicmp _tcsnicmp 45 46#define _ftcscoll _tcscoll 47#define _ftcsicoll _tcsicoll 48#define _ftcsnccoll _tcsnccoll 49#define _ftcsncoll _tcsncoll 50#define _ftcsncicoll _tcsncicoll 51#define _ftcsnicoll _tcsnicoll 52 53#define _ftcsclen _tcsclen 54#define _ftcsnccat _tcsnccat 55#define _ftcsnccpy _tcsnccpy 56#define _ftcsncset _tcsncset 57 58#define _ftcsdec _tcsdec 59#define _ftcsinc _tcsinc 60#define _ftcsnbcnt _tcsnbcnt 61#define _ftcsnccnt _tcsnccnt 62#define _ftcsnextc _tcsnextc 63#define _ftcsninc _tcsninc 64#define _ftcsspnp _tcsspnp 65 66#define _ftcslwr _tcslwr 67#define _ftcsupr _tcsupr 68 69#define _ftclen _tclen 70#define _ftccpy _tccpy 71#define _ftccmp _tccmp 72 73#ifndef _CONST_RETURN 74#ifdef __cplusplus 75#define _CONST_RETURN const 76#define _CRT_CONST_CORRECT_OVERLOADS 77#else 78#define _CONST_RETURN 79#endif 80#endif 81 82#define _WConst_return _CONST_RETURN 83 84#endif /* __CYGWIN__ */ 85 86#ifdef _UNICODE 87 88#ifdef __cplusplus 89} 90#endif 91 92#include <wchar.h> 93 94#ifdef __cplusplus 95extern "C" { 96#endif 97 98#ifndef __CYGWIN__ 99 100#ifndef _WCTYPE_T_DEFINED 101#define _WCTYPE_T_DEFINED 102 typedef unsigned short wint_t; 103 typedef unsigned short wctype_t; 104#endif 105 106#endif /* __CYGWIN__ */ 107 108#ifndef __TCHAR_DEFINED 109#define __TCHAR_DEFINED 110 typedef wchar_t _TCHAR; 111 typedef wchar_t _TSCHAR; 112 typedef wchar_t _TUCHAR; 113 typedef wchar_t _TXCHAR; 114 typedef wint_t _TINT; 115#endif 116 117#ifndef NO_OLDNAMES 118#ifndef _TCHAR_DEFINED 119#define _TCHAR_DEFINED 120 typedef wchar_t TCHAR,*PTCHAR; 121 typedef wchar_t TBYTE,*PTBYTE; 122#endif 123#endif 124 125#define _TEOF WEOF 126 127#define __T(x) L##x 128 129#ifndef __CYGWIN__ 130 131#define _tmain wmain 132#define _tWinMain wWinMain 133#define _tenviron _wenviron 134#define __targv __wargv 135 136#define _tprintf wprintf 137#define _tprintf_l _wprintf_l 138#define _tprintf_p _wprintf_p 139#define _tprintf_p_l _wprintf_p_l 140#define _tcprintf _cwprintf 141#define _tcprintf_l _cwprintf_l 142#define _tcprintf_p _cwprintf_p 143#define _tcprintf_p_l _cwprintf_p_l 144#define _vtcprintf _vcwprintf 145#define _vtcprintf_l _vcwprintf_l 146#define _vtcprintf_p _vcwprintf_p 147#define _vtcprintf_p_l _vcwprintf_p_l 148#define _ftprintf fwprintf 149#define _ftprintf_l _fwprintf_l 150#define _ftprintf_p _fwprintf_p 151#define _ftprintf_p_l _fwprintf_p_l 152#define _stprintf swprintf 153#define _stprintf_l __swprintf_l 154#define _stprintf_p _swprintf_p 155#define _stprintf_p_l _swprintf_p_l 156#define _sctprintf _scwprintf 157#define _sctprintf_l _scwprintf_l 158#define _sctprintf_p _scwprintf_p 159#define _sctprintf_p_l _scwprintf_p_l 160#define _sntprintf _snwprintf 161#define _sntprintf_l _snwprintf_l 162#define _vtprintf vwprintf 163#define _vtprintf_l _vwprintf_l 164#define _vtprintf_p _vwprintf_p 165#define _vtprintf_p_l _vwprintf_p_l 166#define _vftprintf vfwprintf 167#define _vftprintf_l _vfwprintf_l 168#define _vftprintf_p _vfwprintf_p 169#define _vftprintf_p_l _vfwprintf_p_l 170#define _vstprintf vswprintf 171#define _vstprintf_l _vswprintf_l 172#define _vstprintf_p _vswprintf_p 173#define _vstprintf_p_l _vswprintf_p_l 174#define _vsctprintf _vscwprintf 175#define _vsctprintf_l _vscwprintf_l 176#define _vsctprintf_p _vscwprintf_p 177#define _vsctprintf_p_l _vscwprintf_p_l 178#define _vsntprintf _vsnwprintf 179#define _vsntprintf_l _vsnwprintf_l 180 181#define _tscanf wscanf 182#define _tscanf_l _wscanf_l 183#define _tcscanf _cwscanf 184#define _tcscanf_l _cwscanf_l 185#define _ftscanf fwscanf 186#define _ftscanf_l _fwscanf_l 187#define _stscanf swscanf 188#define _stscanf_l _swscanf_l 189#define _sntscanf _snwscanf 190#define _sntscanf_l _snwscanf_l 191 192#define _fgettc fgetwc 193#define _fgettc_nolock _fgetwc_nolock 194#define _fgettchar _fgetwchar 195#define _fgetts fgetws 196#define _fputtc fputwc 197#define _fputtc_nolock _fputwc_nolock 198#define _fputtchar _fputwchar 199#define _fputts fputws 200#define _cputts _cputws 201#define _cgetts _cgetws 202#define _gettc getwc 203#define _gettc_nolock _getwc_nolock 204#define _gettch _getwch 205#define _gettch_nolock _getwch_nolock 206#define _gettche _getwche 207#define _gettche_nolock _getwche_nolock 208#define _gettchar getwchar 209#define _gettchar_nolock _getwchar_nolock 210#define _getts _getws 211#define _puttc putwc 212#define _puttc_nolock _putwc_nolock 213#define _puttchar putwchar 214#define _puttchar_nolock _putwchar_nolock 215#define _puttch _putwch 216#define _puttch_nolock _putwch_nolock 217#define _putts _putws 218#define _ungettc ungetwc 219#define _ungettc_nolock _ungetwc_nolock 220#define _ungettch _ungetwch 221#define _ungettch_nolock _ungetwch_nolock 222 223#define _tcstod wcstod 224#define _tcstol wcstol 225#define _tcstoul wcstoul 226#define _tcstoi64 _wcstoi64 227#define _tcstoui64 _wcstoui64 228#define _tstof _wtof 229#define _tstol _wtol 230#define _tstoi _wtoi 231#define _tstoi64 _wtoi64 232#define _tcstod_l _wcstod_l 233#define _tcstol_l _wcstol_l 234#define _tcstoul_l _wcstoul_l 235#define _tcstoi64_l _wcstoi64_l 236#define _tcstoui64_l _wcstoui64_l 237#define _tstof_l _wtof_l 238#define _tstol_l _wtol_l 239#define _tstoi_l _wtoi_l 240#define _tstoi64_l _wtoi64_l 241 242#define _itot _itow 243#define _ltot _ltow 244#define _ultot _ultow 245#define _ttoi _wtoi 246#define _ttol _wtol 247 248#define _ttoi64 _wtoi64 249#define _i64tot _i64tow 250#define _ui64tot _ui64tow 251 252#define _tcscat wcscat 253#define _tcschr wcschr 254#define _tcscpy wcscpy 255#define _tcscspn wcscspn 256#define _tcslen wcslen 257#define _tcsnlen wcsnlen 258#define _tcsncat wcsncat 259#define _tcsncat_l _wcsncat_l 260#define _tcsncpy wcsncpy 261#define _tcsncpy_l _wcsncpy_l 262#define _tcspbrk wcspbrk 263#define _tcsrchr wcsrchr 264#define _tcsspn wcsspn 265#define _tcsstr wcsstr 266#define _tcstok wcstok 267#define _tcstok_l _wcstok_l 268#define _tcserror _wcserror 269#define __tcserror __wcserror 270 271#define _tcsdup _wcsdup 272#define _tcsnset _wcsnset 273#define _tcsnset_l _wcsnset_l 274#define _tcsrev _wcsrev 275#define _tcsset _wcsset 276#define _tcsset_l _wcsset_l 277 278#define _tcscmp wcscmp 279#define _tcsicmp _wcsicmp 280#define _tcsicmp_l _wcsicmp_l 281#define _tcsnccmp wcsncmp 282#define _tcsncmp wcsncmp 283#define _tcsncicmp _wcsnicmp 284#define _tcsncicmp_l _wcsnicmp_l 285#define _tcsnicmp _wcsnicmp 286#define _tcsnicmp_l _wcsnicmp_l 287 288#define _tcscoll wcscoll 289#define _tcscoll_l _wcscoll_l 290#define _tcsicoll _wcsicoll 291#define _tcsicoll_l _wcsicoll_l 292#define _tcsnccoll _wcsncoll 293#define _tcsnccoll_l _wcsncoll_l 294#define _tcsncoll _wcsncoll 295#define _tcsncoll_l _wcsncoll_l 296#define _tcsncicoll _wcsnicoll 297#define _tcsncicoll_l _wcsnicoll_l 298#define _tcsnicoll _wcsnicoll 299#define _tcsnicoll_l _wcsnicoll_l 300 301#define _texecl _wexecl 302#define _texecle _wexecle 303#define _texeclp _wexeclp 304#define _texeclpe _wexeclpe 305#define _texecv _wexecv 306#define _texecve _wexecve 307#define _texecvp _wexecvp 308#define _texecvpe _wexecvpe 309 310#define _tspawnl _wspawnl 311#define _tspawnle _wspawnle 312#define _tspawnlp _wspawnlp 313#define _tspawnlpe _wspawnlpe 314#define _tspawnv _wspawnv 315#define _tspawnve _wspawnve 316#define _tspawnvp _wspawnvp 317#define _tspawnvp _wspawnvp 318#define _tspawnvpe _wspawnvpe 319 320#define _tsystem _wsystem 321 322#define _tasctime _wasctime 323#define _tctime _wctime 324#define _tctime32 _wctime32 325#define _tctime64 _wctime64 326#define _tstrdate _wstrdate 327#define _tstrtime _wstrtime 328#define _tutime _wutime 329#define _tutime32 _wutime 330#define _tutime64 _wutime64 331#define _tcsftime wcsftime 332#define _tcsftime_l _wcsftime_l 333 334#define _tchdir _wchdir 335#define _tgetcwd _wgetcwd 336#define _tgetdcwd _wgetdcwd 337#define _tgetdcwd_nolock _wgetdcwd_nolock 338#define _tmkdir _wmkdir 339#define _trmdir _wrmdir 340 341#define _tfullpath _wfullpath 342#define _tgetenv _wgetenv 343#define _tmakepath _wmakepath 344#define _tpgmptr _wpgmptr 345#define _get_tpgmptr _get_wpgmptr 346#define _tputenv _wputenv 347#define _tsearchenv _wsearchenv 348#define _tsplitpath _wsplitpath 349 350#define _tfdopen _wfdopen 351#define _tfsopen _wfsopen 352#define _tfopen _wfopen 353#define _tfreopen _wfreopen 354#define _tperror _wperror 355#define _tpopen _wpopen 356#define _ttempnam _wtempnam 357#define _ttmpnam _wtmpnam 358 359#define _taccess _waccess 360#define _tchmod _wchmod 361#define _tcreat _wcreat 362#define _tfindfirst _wfindfirst 363#define _tfindfirst32 _wfindfirst32 364#define _tfindfirst64 _wfindfirst64 365#define _tfindfirsti64 _wfindfirsti64 366#define _tfindfirst32i64 _wfindfirst32i64 367#define _tfindfirst64i32 _wfindfirst64i32 368#define _tfindnext _wfindnext 369#define _tfindnext32 _wfindnext32 370#define _tfindnext64 _wfindnext64 371#define _tfindnexti64 _wfindnexti64 372#define _tfindnext32i64 _wfindnext32i64 373#define _tfindnext64i32 _wfindnext64i32 374#define _tmktemp _wmktemp 375#define _topen _wopen 376#define _tremove _wremove 377#define _trename _wrename 378#define _tsopen _wsopen 379#define _tunlink _wunlink 380 381#define _tfinddata_t _wfinddata_t 382#define _tfinddata32_t _wfinddata32_t 383#define _tfinddata64_t _wfinddata64_t 384#define _tfinddatai64_t _wfinddatai64_t 385#define _tfinddata32i64_t _wfinddata32i64_t 386#define _tfinddata64i32_t _wfinddata64i32_t 387 388#define _tstat _wstat 389#define _tstat32 _wstat32 390#define _tstat32i64 _wstat32i64 391#define _tstat64 _wstat64 392#define _tstat64i32 _wstat64i32 393#define _tstati64 _wstati64 394 395#define _tsetlocale _wsetlocale 396 397#define _tcsclen wcslen 398#define _tcscnlen wcsnlen 399#define _tcsclen_l(_String,_Locale) wcslen(_String) 400#define _tcscnlen_l(_String,_Max_count,_Locale) wcsnlen_l((_String),(_Max_count)) 401#define _tcsnccat wcsncat 402#define _tcsnccat_l _wcsncat_l 403#define _tcsnccpy wcsncpy 404#define _tcsnccpy_l _wcsncpy_l 405#define _tcsncset _wcsnset 406 407#define _tcsdec _wcsdec 408#define _tcsinc _wcsinc 409#define _tcsnbcnt _wcsncnt 410#define _tcsnccnt _wcsncnt 411#define _tcsnextc _wcsnextc 412#define _tcsninc _wcsninc 413#define _tcsspnp _wcsspnp 414 415#define _tcslwr _wcslwr 416#define _tcslwr_l _wcslwr_l 417#define _tcsupr _wcsupr 418#define _tcsupr_l _wcsupr_l 419#define _tcsxfrm wcsxfrm 420#define _tcsxfrm_l _wcsxfrm_l 421 422#define _tclen(_pc) (1) 423#define _tccpy(_pc1,_cpc2) ((*(_pc1) = *(_cpc2))) 424#define _tccmp(_cpc1,_cpc2) ((*(_cpc1))-(*(_cpc2))) 425 426#define _istalnum iswalnum 427#define _istalnum_l _iswalnum_l 428#define _istalpha iswalpha 429#define _istalpha_l _iswalpha_l 430#define _istascii iswascii 431#define _istcntrl iswcntrl 432#define _istcntrl_l _iswcntrl_l 433#define _istdigit iswdigit 434#define _istdigit_l _iswdigit_l 435#define _istgraph iswgraph 436#define _istgraph_l _iswgraph_l 437#define _istlower iswlower 438#define _istlower_l _iswlower_l 439#define _istprint iswprint 440#define _istprint_l _iswprint_l 441#define _istpunct iswpunct 442#define _istpunct_l _iswpunct_l 443#define _istspace iswspace 444#define _istspace_l _iswspace_l 445#define _istupper iswupper 446#define _istupper_l _iswupper_l 447#define _istxdigit iswxdigit 448#define _istxdigit_l _iswxdigit_l 449 450#define _totupper towupper 451#define _totupper_l _towupper_l 452#define _totlower towlower 453#define _totlower_l _towlower_l 454 455#define _istlegal(_Char) (1) 456#define _istlead(_Char) (0) 457#define _istleadbyte(_Char) (0) 458#define _istleadbyte_l(_Char,_Locale) (0) 459 460#define _wcsdec(_cpc1,_cpc2) ((_cpc1)>=(_cpc2) ? NULL : (_cpc2)-1) 461#define _wcsinc(_pc) ((_pc)+1) 462#define _wcsnextc(_cpc) ((unsigned int) *(_cpc)) 463#define _wcsninc(_pc,_sz) (((_pc)+(_sz))) 464 _CRTIMP size_t __cdecl __wcsncnt(const wchar_t *_Str,size_t _MaxCount); 465#define _wcsncnt(_cpc,_sz) (__wcsncnt(_cpc,_sz)) 466#define _wcsspnp(_cpc1,_cpc2) (!_cpc1 ? NULL : ((*((_cpc1)+wcsspn(_cpc1,_cpc2))) ? ((_cpc1)+wcsspn(_cpc1,_cpc2)) : NULL)) 467#define _wcsncpy_l(_Destination,_Source,_Count,_Locale) (wcsncpy(_Destination,_Source,_Count)) 468#define _wcsncat_l(_Destination,_Source,_Count,_Locale) (wcsncat(_Destination,_Source,_Count)) 469#define _wcstok_l(_String,_Delimiters,_Locale) (wcstok(_String,_Delimiters)) 470#define _wcsnset_l(_Destination,_Value,_Count,_Locale) (_wcsnset(_Destination,_Value,_Count)) 471#define _wcsset_l(_Destination,_Value,_Locale) (_wcsset(_Destination,_Value)) 472 473 /* dirent structures and functions */ 474#define _tdirent _wdirent 475#define _TDIR _WDIR 476#define _topendir _wopendir 477#define _tclosedir _wclosedir 478#define _treaddir _wreaddir 479#define _trewinddir _wrewinddir 480#define _ttelldir _wtelldir 481#define _tseekdir _wseekdir 482 483#endif /* __CYGWIN__ */ 484 485#else 486 487#ifdef __cplusplus 488} 489#endif 490 491#include <string.h> 492 493#ifdef __cplusplus 494extern "C" { 495#endif 496 497#define _TEOF EOF 498 499#define __T(x) x 500 501#ifndef __CYGWIN__ 502 503#define _tmain main 504#define _tWinMain WinMain 505#ifdef _POSIX_ 506#define _tenviron environ 507#else 508#define _tenviron _environ 509#endif 510#define __targv __argv 511 512#define _tprintf printf 513#define _tprintf_l _printf_l 514#define _tprintf_p _printf_p 515#define _tprintf_p_l _printf_p_l 516#define _tcprintf _cprintf 517#define _tcprintf_l _cprintf_l 518#define _tcprintf_p _cprintf_p 519#define _tcprintf_p_l _cprintf_p_l 520#define _vtcprintf _vcprintf 521#define _vtcprintf_l _vcprintf_l 522#define _vtcprintf_p _vcprintf_p 523#define _vtcprintf_p_l _vcprintf_p_l 524#define _ftprintf fprintf 525#define _ftprintf_l _fprintf_l 526#define _ftprintf_p _fprintf_p 527#define _ftprintf_p_l _fprintf_p_l 528#define _stprintf sprintf 529#define _stprintf_l _sprintf_l 530#define _stprintf_p _sprintf_p 531#define _stprintf_p_l _sprintf_p_l 532#define _sctprintf _scprintf 533#define _sctprintf_l _scprintf_l 534#define _sctprintf_p _scprintf_p 535#define _sctprintf_p_l _scprintf_p_l 536#define _sntprintf _snprintf 537#define _sntprintf_l _snprintf_l 538#define _vtprintf vprintf 539#define _vtprintf_l _vprintf_l 540#define _vtprintf_p _vprintf_p 541#define _vtprintf_p_l _vprintf_p_l 542#define _vftprintf vfprintf 543#define _vftprintf_l _vfprintf_l 544#define _vftprintf_p _vfprintf_p 545#define _vftprintf_p_l _vfprintf_p_l 546#define _vstprintf vsprintf 547#define _vstprintf_l _vsprintf_l 548#define _vstprintf_p _vsprintf_p 549#define _vstprintf_p_l _vsprintf_p_l 550#define _vsctprintf _vscprintf 551#define _vsctprintf_l _vscprintf_l 552#define _vsctprintf_p _vscprintf_p 553#define _vsctprintf_p_l _vscprintf_p_l 554#define _vsntprintf _vsnprintf 555#define _vsntprintf_l _vsnprintf_l 556 557#define _tscanf scanf 558#define _tscanf_l _scanf_l 559#define _tcscanf _cscanf 560#define _tcscanf_l _cscanf_l 561#define _ftscanf fscanf 562#define _ftscanf_l _fscanf_l 563#define _stscanf sscanf 564#define _stscanf_l _sscanf_l 565#define _sntscanf _snscanf 566#define _sntscanf_l _snscanf_l 567 568#define _fgettc fgetc 569#define _fgettc_nolock _fgetc_nolock 570#define _fgettchar _fgetchar 571#define _fgetts fgets 572#define _fputtc fputc 573#define _fputtc_nolock _fputc_nolock 574#define _fputtchar _fputchar 575#define _fputts fputs 576#define _cputts _cputs 577#define _gettc getc 578#define _gettc_nolock _getc_nolock 579#define _gettch _getch 580#define _gettch_nolock _getch_nolock 581#define _gettche _getche 582#define _gettche_nolock _getche_nolock 583#define _gettchar getchar 584#define _gettchar_nolock _getchar_nolock 585#define _getts gets 586#define _cgetts _cgets 587#define _puttc putc 588#define _puttc_nolock _putc_nolock 589#define _puttchar putchar 590#define _puttchar_nolock _putchar_nolock 591#define _puttch _putch 592#define _puttch_nolock _putch_nolock 593#define _putts puts 594#define _ungettc ungetc 595#define _ungettc_nolock _ungetc_nolock 596#define _ungettch _ungetch 597#define _ungettch_nolock _ungetch_nolock 598 599#define _tcstod strtod 600#define _tcstol strtol 601#define _tcstoul strtoul 602#define _tstof atof 603#define _tstol atol 604#define _tstoi atoi 605#define _tstoi64 _atoi64 606#define _tcstod_l _strtod_l 607#define _tcstol_l _strtol_l 608#define _tcstoul_l _strtoul_l 609#define _tstof_l _atof_l 610#define _tstol_l _atol_l 611#define _tstoi_l _atoi_l 612#define _tstoi64_l _atoi64_l 613 614#define _itot _itoa 615#define _ltot _ltoa 616#define _ultot _ultoa 617#define _ttoi atoi 618#define _ttol atol 619 620#define _ttoi64 _atoi64 621#define _tcstoi64 _strtoi64 622#define _tcstoi64_l _strtoi64_l 623#define _tcstoui64 _strtoui64 624#define _tcstoui64_l _strtoui64_l 625#define _i64tot _i64toa 626#define _ui64tot _ui64toa 627 628#define _tcscat strcat 629#define _tcscpy strcpy 630#define _tcsdup _strdup 631#define _tcslen strlen 632#define _tcsnlen strnlen 633#define _tcsxfrm strxfrm 634#define _tcsxfrm_l _strxfrm_l 635#define _tcserror strerror 636#define __tcserror _strerror 637 638#define _texecl _execl 639#define _texecle _execle 640#define _texeclp _execlp 641#define _texeclpe _execlpe 642#define _texecv _execv 643#define _texecve _execve 644#define _texecvp _execvp 645#define _texecvpe _execvpe 646 647#define _tspawnl _spawnl 648#define _tspawnle _spawnle 649#define _tspawnlp _spawnlp 650#define _tspawnlpe _spawnlpe 651#define _tspawnv _spawnv 652#define _tspawnve _spawnve 653#define _tspawnvp _spawnvp 654#define _tspawnvpe _spawnvpe 655 656#define _tsystem system 657 658#define _tasctime asctime 659#define _tctime ctime 660#define _tctime32 _ctime32 661#define _tctime64 _ctime64 662#define _tstrdate _strdate 663#define _tstrtime _strtime 664#define _tutime _utime 665#define _tutime32 _utime32 666#define _tutime64 _utime64 667#define _tcsftime strftime 668#define _tcsftime_l _strftime_l 669 670#define _tchdir _chdir 671#define _tgetcwd _getcwd 672#define _tgetdcwd _getdcwd 673#define _tgetdcwd_nolock _getdcwd_nolock 674#define _tmkdir _mkdir 675#define _trmdir _rmdir 676 677#define _tfullpath _fullpath 678#define _tgetenv getenv 679#define _tmakepath _makepath 680#define _tpgmptr _pgmptr 681#define _get_tpgmptr _get_pgmptr 682#define _tputenv _putenv 683#define _tsearchenv _searchenv 684#define _tsplitpath _splitpath 685 686#ifdef _POSIX_ 687#define _tfdopen fdopen 688#else 689#define _tfdopen _fdopen 690#endif 691#define _tfsopen _fsopen 692#define _tfopen fopen 693#define _tfreopen freopen 694#define _tperror perror 695#define _tpopen _popen 696#define _ttempnam _tempnam 697#define _ttmpnam tmpnam 698 699#define _tchmod _chmod 700#define _tcreat _creat 701#define _tfindfirst _findfirst 702#define _tfindfirst32 _findfirst32 703#define _tfindfirst64 _findfirst64 704#define _tfindfirsti64 _findfirsti64 705#define _tfindfirst32i64 _findfirst32i64 706#define _tfindfirst64i32 _findfirst64i32 707#define _tfindnext _findnext 708#define _tfindnext32 _findnext32 709#define _tfindnext64 _findnext64 710#define _tfindnexti64 _findnexti64 711#define _tfindnext32i64 _findnext32i64 712#define _tfindnext64i32 _findnext64i32 713#define _tmktemp _mktemp 714 715#ifdef _POSIX_ 716#define _topen open 717#define _taccess access 718#else 719#define _topen _open 720#define _taccess _access 721#endif 722 723#define _tremove remove 724#define _trename rename 725#define _tsopen _sopen 726#define _tunlink _unlink 727 728#define _tfinddata_t _finddata_t 729#define _tfinddata32_t _finddata32_t 730#define _tfinddata64_t __finddata64_t 731#define _tfinddatai64_t _finddatai64_t 732#define _tfinddata32i64_t _finddata32i64_t 733#define _tfinddata64i32_t _finddata64i32_t 734 735#define _istascii __isascii 736#define _istcntrl iscntrl 737#define _istcntrl_l _iscntrl_l 738#define _istxdigit isxdigit 739#define _istxdigit_l _isxdigit_l 740 741#define _tstat _stat 742#define _tstat32 _stat32 743#define _tstat32i64 _stat32i64 744#define _tstat64 _stat64 745#define _tstat64i32 _stat64i32 746#define _tstati64 _stati64 747 748#define _tsetlocale setlocale 749 750#endif /* __CYGWIN__ */ 751 752#ifdef _MBCS 753 754#ifdef __cplusplus 755} 756#endif 757 758#ifndef __CYGWIN__ 759 760#include <mbstring.h> 761 762#ifdef __cplusplus 763extern "C" { 764#endif 765 766#ifndef __TCHAR_DEFINED 767 typedef char _TCHAR; 768 typedef signed char _TSCHAR; 769 typedef unsigned char _TUCHAR; 770 typedef unsigned char _TXCHAR; 771 typedef unsigned int _TINT; 772#define __TCHAR_DEFINED 773#endif 774 775#ifndef NO_OLDNAMES 776#ifndef _TCHAR_DEFINED 777#define _TCHAR_DEFINED 778 typedef char TCHAR,*PTCHAR; 779 typedef unsigned char TBYTE,*PTBYTE; 780#endif 781#endif 782 783#ifdef _MB_MAP_DIRECT 784 785#define _tcschr _mbschr 786#define _tcscspn _mbscspn 787#define _tcsncat _mbsnbcat 788#define _tcsncat_l _mbsnbcat_l 789#define _tcsncpy _mbsnbcpy 790#define _tcsncpy_l _mbsnbcpy_l 791#define _tcspbrk _mbspbrk 792#define _tcsrchr _mbsrchr 793#define _tcsspn _mbsspn 794#define _tcsstr _mbsstr 795#define _tcstok _mbstok 796#define _tcstok_l _mbstok_l 797 798#define _tcsnset _mbsnbset 799#define _tcsnset_l _mbsnbset_l 800#define _tcsrev _mbsrev 801#define _tcsset _mbsset 802#define _tcsset_l _mbsset_l 803 804#define _tcscmp _mbscmp 805#define _tcsicmp _mbsicmp 806#define _tcsicmp_l _mbsicmp_l 807#define _tcsnccmp _mbsncmp 808#define _tcsncmp _mbsnbcmp 809#define _tcsncicmp _mbsnicmp 810#define _tcsncicmp_l _mbsnicmp_l 811#define _tcsnicmp _mbsnbicmp 812#define _tcsnicmp_l _mbsnbicmp_l 813 814#define _tcscoll _mbscoll 815#define _tcscoll_l _mbscoll_l 816#define _tcsicoll _mbsicoll 817#define _tcsicoll_l _mbsicoll_l 818#define _tcsnccoll _mbsncoll 819#define _tcsnccoll_l _mbsncoll_l 820#define _tcsncoll _mbsnbcoll 821#define _tcsncoll_l _mbsnbcoll_l 822#define _tcsncicoll _mbsnicoll 823#define _tcsncicoll_l _mbsnicoll_l 824#define _tcsnicoll _mbsnbicoll 825#define _tcsnicoll_l _mbsnbicoll_l 826 827#define _tcsclen _mbslen 828#define _tcscnlen _mbsnlen 829#define _tcsclen_l _mbslen_l 830#define _tcscnlen_l _mbsnlen_l 831#define _tcsnccat _mbsncat 832#define _tcsnccat_l _mbsncat_l 833#define _tcsnccpy _mbsncpy 834#define _tcsnccpy_l _mbsncpy_l 835#define _tcsncset _mbsnset 836#define _tcsncset_l _mbsnset_l 837 838#define _tcsdec _mbsdec 839#define _tcsinc _mbsinc 840#define _tcsnbcnt _mbsnbcnt 841#define _tcsnccnt _mbsnccnt 842#define _tcsnextc _mbsnextc 843#define _tcsninc _mbsninc 844#define _tcsspnp _mbsspnp 845 846#define _tcslwr _mbslwr 847#define _tcslwr_l _mbslwr_l 848#define _tcsupr _mbsupr 849#define _tcsupr_l _mbsupr_l 850 851#define _tclen _mbclen 852#define _tccpy _mbccpy 853#define _tccpy_l _mbccpy_l 854#else 855 856 _CRTIMP _CONST_RETURN char *__cdecl _tcschr(const char *_Str,unsigned int _Val); 857 _CRTIMP size_t __cdecl _tcscspn(const char *_Str,const char *_Control); 858 _CRTIMP char *__cdecl _tcsncat(char *_Dst,const char *_Src,size_t _MaxCount); 859 _CRTIMP char *__cdecl _tcsncat_l(char *_Dst,const char *_Src,size_t _MaxCount,_locale_t _Locale); 860 _CRTIMP char *__cdecl _tcsncpy(char *_Dst,const char *_Src,size_t _MaxCount); 861 _CRTIMP char *__cdecl _tcsncpy_l(char *_Dst,const char *_Src,size_t _MaxCount,_locale_t _Locale); 862 _CRTIMP _CONST_RETURN char *__cdecl _tcspbrk(const char *_Str,const char *_Control); 863 _CRTIMP _CONST_RETURN char *__cdecl _tcsrchr(const char *_Str,unsigned int _Ch); 864 _CRTIMP size_t __cdecl _tcsspn(const char *_Str,const char *_Control); 865 _CRTIMP _CONST_RETURN char *__cdecl _tcsstr(const char *_Str,const char *_Substr); 866 _CRTIMP char *__cdecl _tcstok(char *_Str,const char *_Delim); 867 _CRTIMP char *__cdecl _tcstok_l(char *_Str,const char *_Delim,_locale_t _Locale); 868 _CRTIMP char *__cdecl _tcsnset(char *_Str,unsigned int _Val,size_t _MaxCount); 869 _CRTIMP char *__cdecl _tcsrev(char *_Str); 870 _CRTIMP char *__cdecl _tcsset(char *_Str,unsigned int _Val); 871 _CRTIMP char *__cdecl _tcsset_l(char *_Str,unsigned int _Val,_locale_t _Locale); 872 _CRTIMP int __cdecl _tcscmp(const char *_Str1,const char *_Str); 873 _CRTIMP int __cdecl _tcsicmp(const char *_Str1,const char *_Str2); 874 _CRTIMP int __cdecl _tcsicmp_l(const char *_Str1,const char *_Str2,_locale_t _Locale); 875 _CRTIMP int __cdecl _tcsnccmp(const char *_Str1,const char *_Str2,size_t _MaxCount); 876 _CRTIMP int __cdecl _tcsncmp(const char *_Str1,const char *_Str2,size_t _MaxCount); 877 _CRTIMP int __cdecl _tcsncicmp(const char *_Str1,const char *_Str2,size_t _MaxCount); 878 _CRTIMP int __cdecl _tcsncicmp_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); 879 _CRTIMP int __cdecl _tcsnicmp(const char *_Str1,const char *_Str2,size_t _MaxCount); 880 _CRTIMP int __cdecl _tcsnicmp_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); 881 _CRTIMP int __cdecl _tcscoll(const char *_Str1,const char *_Str2); 882 _CRTIMP int __cdecl _tcscoll_l(const char *_Str1,const char *_Str2,_locale_t _Locale); 883 _CRTIMP int __cdecl _tcsicoll(const char *_Str1,const char *_Str2); 884 _CRTIMP int __cdecl _tcsicoll_l(const char *_Str1,const char *_Str2,_locale_t _Locale); 885 _CRTIMP int __cdecl _tcsnccoll(const char *_Str1,const char *_Str2,size_t _MaxCount); 886 _CRTIMP int __cdecl _tcsnccoll_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); 887 _CRTIMP int __cdecl _tcsncoll(const char *_Str1,const char *_Str2,size_t _MaxCount); 888 _CRTIMP int __cdecl _tcsncoll_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); 889 _CRTIMP int __cdecl _tcsncicoll(const char *_Str1,const char *_Str2,size_t _MaxCount); 890 _CRTIMP int __cdecl _tcsncicoll_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); 891 _CRTIMP int __cdecl _tcsnicoll(const char *_Str1,const char *_Str2,size_t _MaxCount); 892 _CRTIMP int __cdecl _tcsnicoll_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); 893 _CRTIMP size_t __cdecl _tcsclen(const char *_Str); 894 _CRTIMP size_t __cdecl _tcscnlen(const char *_Str,size_t _MaxCount); 895 _CRTIMP size_t __cdecl _tcsclen_l(const char *_Str,_locale_t _Locale); 896 _CRTIMP size_t __cdecl _tcscnlen_l(const char *_Str,size_t _MaxCount,_locale_t _Locale); 897 _CRTIMP char *__cdecl _tcsnccat(char *_Dst,const char *_Src,size_t _MaxCount); 898 _CRTIMP char *__cdecl _tcsnccat_l(char *_Dst,const char *_Src,size_t _MaxCount,_locale_t _Locale); 899 _CRTIMP char *__cdecl _tcsnccpy(char *_Dst,const char *_Src,size_t _MaxCount); 900 _CRTIMP char *__cdecl _tcsnccpy_l(char *_Dst,const char *_Src,size_t _MaxCount,_locale_t _Locale); 901 _CRTIMP char *__cdecl _tcsncset(char *_Str,unsigned int _Val,size_t _MaxCount); 902 _CRTIMP char *__cdecl _tcsdec(const char *_Start,const char *_Pos); 903 _CRTIMP char *__cdecl _tcsinc(const char *_Ptr); 904 _CRTIMP size_t __cdecl _tcsnbcnt(const char *_Str,size_t _MaxCount); 905 _CRTIMP size_t __cdecl _tcsnccnt(const char *_Str,size_t _MaxCount); 906 _CRTIMP unsigned int __cdecl _tcsnextc (const char *_Str); 907 _CRTIMP char *__cdecl _tcsninc(const char *_Ptr,size_t _Count); 908 _CRTIMP char *__cdecl _tcsspnp(const char *_Str1,const char *_Str2); 909 _CRTIMP char *__cdecl _tcslwr(char *_Str); 910 _CRTIMP char *__cdecl _tcslwr_l(char *_Str,_locale_t _Locale); 911 _CRTIMP char *__cdecl _tcsupr(char *_Str); 912 _CRTIMP char *__cdecl _tcsupr_l(char *_Str,_locale_t _Locale); 913 _CRTIMP size_t __cdecl _tclen(const char *_Str); 914 _CRTIMP void __cdecl _tccpy(char *_DstCh,const char *_SrcCh); 915 916#ifdef __cplusplus 917#ifndef _CPP_TCHAR_INLINES_DEFINED 918#define _CPP_TCHAR_INLINES_DEFINED 919 extern "C++" { 920 extern inline char *__cdecl _tcschr(char *_S,unsigned int _C) { return ((char *)_tcschr((const char *)_S,_C)); } 921 extern inline char *__cdecl _tcspbrk(char *_S,const char *_P) { return ((char *)_tcspbrk((const char *)_S,_P)); } 922 extern inline char *__cdecl _tcsrchr(char *_S,unsigned int _C) { return ((char *)_tcsrchr((const char *)_S,_C)); } 923 extern inline char *__cdecl _tcsstr(char *_S,const char *_P) { return ((char *)_tcsstr((const char *)_S,_P)); } 924 } 925#endif 926#endif 927#endif 928 929#define _tccmp(_cp1,_cp2) _tcsnccmp(_cp1,_cp2,1) 930 931#define _istalnum _ismbcalnum 932#define _istalnum_l _ismbcalnum_l 933#define _istalpha _ismbcalpha 934#define _istalpha_l _ismbcalpha_l 935#define _istdigit _ismbcdigit 936#define _istdigit_l _ismbcdigit_l 937#define _istgraph _ismbcgraph 938#define _istgraph_l _ismbcgraph_l 939#define _istlegal _ismbclegal 940#define _istlegal_l _ismbclegal_l 941#define _istlower _ismbclower 942#define _istlower_l _ismbclower_l 943#define _istprint _ismbcprint 944#define _istprint_l _ismbcprint_l 945#define _istpunct _ismbcpunct 946#define _istpunct_l _ismbcpunct_l 947#define _istspace _ismbcspace 948#define _istspace_l _ismbcspace_l 949#define _istupper _ismbcupper 950#define _istupper_l _ismbcupper_l 951 952#define _totupper _mbctoupper 953#define _totupper_l _mbctoupper_l 954#define _totlower _mbctolower 955#define _totlower_l _mbctolower_l 956 957#define _istlead _ismbblead 958#define _istleadbyte isleadbyte 959#define _istleadbyte_l _isleadbyte_l 960 961#endif /* __CYGWIN__ */ 962 963#else 964 965#ifndef __TCHAR_DEFINED 966#define __TCHAR_DEFINED 967 typedef char _TCHAR; 968 typedef signed char _TSCHAR; 969 typedef unsigned char _TUCHAR; 970 typedef char _TXCHAR; 971 typedef int _TINT; 972#endif 973 974#ifndef NO_OLDNAMES 975#ifndef _TCHAR_DEFINED 976#define _TCHAR_DEFINED 977 typedef char TCHAR,*PTCHAR; 978 typedef unsigned char TBYTE,*PTBYTE; 979#endif 980#endif 981 982#ifndef __CYGWIN__ 983 984#define _tcschr strchr 985#define _tcscspn strcspn 986#define _tcsncat strncat 987#define _tcsncat_l _strncat_l 988#define _tcsncpy strncpy 989#define _tcsncpy_l _strncpy_l 990#define _tcspbrk strpbrk 991#define _tcsrchr strrchr 992#define _tcsspn strspn 993#define _tcsstr strstr 994#define _tcstok strtok 995#define _tcstok_l _strtok_l 996 997#define _tcsnset _strnset 998#define _tcsnset_l _strnset_l 999#define _tcsrev _strrev 1000#define _tcsset _strset 1001 1002#define _tcscmp strcmp 1003#define _tcsicmp _stricmp 1004#define _tcsicmp_l _stricmp_l 1005#define _tcsnccmp strncmp 1006#define _tcsncmp strncmp 1007#define _tcsncicmp _strnicmp 1008#define _tcsncicmp_l _strnicmp_l 1009#define _tcsnicmp _strnicmp 1010#define _tcsnicmp_l _strnicmp_l 1011 1012#define _tcscoll strcoll 1013#define _tcscoll_l _strcoll_l 1014#define _tcsicoll _stricoll 1015#define _tcsicoll_l _stricoll_l 1016#define _tcsnccoll _strncoll 1017#define _tcsnccoll_l _strncoll_l 1018#define _tcsncoll _strncoll 1019#define _tcsncoll_l _strncoll_l 1020#define _tcsncicoll _strnicoll 1021#define _tcsncicoll_l _strnicoll_l 1022#define _tcsnicoll _strnicoll 1023#define _tcsnicoll_l _strnicoll_l 1024 1025#define _tcsclen strlen 1026#define _tcscnlen strnlen 1027#define _tcsclen_l(_String,_Locale) strlen(_String) 1028#define _tcscnlen_l(_String,_Max_count,_Locale) strnlen_l((_String),(_Max_count)) 1029#define _tcsnccat strncat 1030#define _tcsnccat_l _strncat_l 1031#define _tcsnccpy strncpy 1032#define _tcsnccpy_l _strncpy_l 1033#define _tcsncset _strnset 1034 1035#define _tcsdec _strdec 1036#define _tcsinc _strinc 1037#define _tcsnbcnt _strncnt 1038#define _tcsnccnt _strncnt 1039#define _tcsnextc _strnextc 1040#define _tcsninc _strninc 1041#define _tcsspnp _strspnp 1042 1043#define _tcslwr _strlwr 1044#define _tcslwr_l _strlwr_l 1045#define _tcsupr _strupr 1046#define _tcsupr_l _strupr_l 1047#define _tcsxfrm strxfrm 1048#define _tcsxfrm_l _strxfrm_l 1049 1050#define _istlead(_Char) (0) 1051#define _istleadbyte(_Char) (0) 1052#define _istleadbyte_l(_Char,_Locale) (0) 1053 1054#define _tclen(_pc) (1) 1055#define _tccpy(_pc1,_cpc2) (*(_pc1) = *(_cpc2)) 1056#define _tccmp(_cpc1,_cpc2) (((unsigned char)*(_cpc1))-((unsigned char)*(_cpc2))) 1057 1058 /* dirent structures and functions */ 1059#define _tdirent dirent 1060#define _TDIR DIR 1061#define _topendir opendir 1062#define _tclosedir closedir 1063#define _treaddir readdir 1064#define _trewinddir rewinddir 1065#define _ttelldir telldir 1066#define _tseekdir seekdir 1067 1068#define _istalnum isalnum 1069#define _istalnum_l _isalnum_l 1070#define _istalpha isalpha 1071#define _istalpha_l _isalpha_l 1072#define _istdigit isdigit 1073#define _istdigit_l _isdigit_l 1074#define _istgraph isgraph 1075#define _istgraph_l _isgraph_l 1076#define _istlower islower 1077#define _istlower_l _islower_l 1078#define _istprint isprint 1079#define _istprint_l _isprint_l 1080#define _istpunct ispunct 1081#define _istpunct_l _ispunct_l 1082#define _istspace isspace 1083#define _istspace_l _isspace_l 1084#define _istupper isupper 1085#define _istupper_l _isupper_l 1086 1087#define _totupper toupper 1088#define _totupper_l _toupper_l 1089#define _totlower tolower 1090#define _totlower_l _tolower_l 1091 1092#define _istlegal(_c) (1) 1093 1094#ifndef NULL 1095#ifdef __cplusplus 1096#ifndef _WIN64 1097#define NULL 0 1098#else 1099#define NULL 0LL 1100#endif /* W64 */ 1101#else 1102#define NULL ((void *)0) 1103#endif 1104#endif 1105 1106#define _strdec(_cpc1,_cpc2) ((_cpc1)>=(_cpc2) ? NULL : (_cpc2)-1) 1107#define _strinc(_pc) ((_pc)+1) 1108#define _strnextc(_cpc) ((unsigned int) *(const unsigned char *)(_cpc)) 1109#define _strninc(_pc,_sz) (((_pc)+(_sz))) 1110 _CRTIMP size_t __cdecl __strncnt(const char *_Str,size_t _Cnt); 1111#define _strncnt(_cpc,_sz) (__strncnt(_cpc,_sz)) 1112#define _strspnp(_cpc1,_cpc2) (!_cpc1 ? NULL : ((*((_cpc1)+strspn(_cpc1,_cpc2))) ? ((_cpc1)+strspn(_cpc1,_cpc2)) : NULL)) 1113 1114#define _strncpy_l(_Destination,_Source,_Count,_Locale) (strncpy(_Destination,_Source,_Count)) 1115#define _strncat_l(_Destination,_Source,_Count,_Locale) (strncat(_Destination,_Source,_Count)) 1116#define _strtok_l(_String,_Delimiters,_Locale) (strtok(_String,_Delimiters)) 1117#define _strnset_l(_Destination,_Value,_Count,_Locale) (_strnset(_Destination,_Value,_Count)) 1118#define _strset_l(_Destination,_Value,_Locale) (_strset(_Destination,_Value)) 1119#endif 1120#endif 1121 1122#endif /* __CYGWIN__ */ 1123 1124#define _T(x) __T(x) 1125#define _TEXT(x) __T(x) 1126 1127#ifdef __cplusplus 1128} 1129#endif 1130 1131#ifndef __CYGWIN__ 1132#include <sec_api/tchar_s.h> 1133#endif /* __CYGWIN__ */ 1134#endif 1135