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