Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

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