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