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