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