home *** CD-ROM | disk | FTP | other *** search
/ Total Destruction / Total_Destruction.iso / addons / Lccwin32.exe / Lccwin32 / lccpub / include / tchar.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-21  |  13.2 KB  |  496 lines

  1. #ifndef    _LCC_INC_TCHAR
  2. #define    _LCC_INC_TCHAR
  3. #define    _ftcscat    _tcscat
  4. #define    _ftcschr    _tcschr
  5. #define    _ftcscpy    _tcscpy
  6. #define    _ftcscspn    _tcscspn
  7. #define    _ftcslen    _tcslen
  8. #define    _ftcsncat    _tcsncat
  9. #define    _ftcsncpy    _tcsncpy
  10. #define    _ftcspbrk    _tcspbrk
  11. #define    _ftcsrchr    _tcsrchr
  12. #define    _ftcsspn    _tcsspn
  13. #define    _ftcsstr    _tcsstr
  14. #define    _ftcstok    _tcstok
  15. #define    _ftcsdup    _tcsdup
  16. #define    _ftcsnset    _tcsnset
  17. #define    _ftcsrev    _tcsrev
  18. #define    _ftcsset    _tcsset
  19. #define    _ftcscmp    _tcscmp
  20. #define    _ftcsicmp    _tcsicmp
  21. #define    _ftcsnccmp    _tcsnccmp
  22. #define    _ftcsncmp    _tcsncmp
  23. #define    _ftcsncicmp    _tcsncicmp
  24. #define    _ftcsnicmp    _tcsnicmp
  25. #define    _ftcscoll    _tcscoll
  26. #define    _ftcsicoll    _tcsicoll
  27. #define    _ftcsnccoll    _tcsnccoll
  28. #define    _ftcsncoll    _tcsncoll
  29. #define    _ftcsncicoll    _tcsncicoll
  30. #define    _ftcsnicoll    _tcsnicoll
  31. #define    _ftcsclen    _tcsclen
  32. #define    _ftcsnccat    _tcsnccat
  33. #define    _ftcsnccpy    _tcsnccpy
  34. #define    _ftcsncset    _tcsncset
  35. #define    _ftcsdec    _tcsdec
  36. #define    _ftcsinc    _tcsinc
  37. #define    _ftcsnbcnt    _tcsnbcnt
  38. #define    _ftcsnccnt    _tcsnccnt
  39. #define    _ftcsnextc    _tcsnextc
  40. #define    _ftcsninc    _tcsninc
  41. #define    _ftcsspnp    _tcsspnp
  42. #define    _ftcslwr    _tcslwr
  43. #define    _ftcsupr    _tcsupr
  44. #define    _ftclen        _tclen
  45. #define    _ftccpy        _tccpy
  46. #define    _ftccmp        _tccmp
  47. #ifdef    _UNICODE
  48.  
  49. #include <wchar.h>
  50. #ifndef    _WCTYPE_T_DEFINED
  51. typedef    wchar_t    wint_t;
  52. typedef    wchar_t    wctype_t;
  53. #define    _WCTYPE_T_DEFINED
  54. #endif
  55. #ifndef    __TCHAR_DEFINED
  56. typedef    wchar_t    _TCHAR;
  57. typedef    wchar_t    _TSCHAR;
  58. typedef    wchar_t    _TUCHAR;
  59. typedef    wchar_t    _TXCHAR;
  60. typedef    wint_t    _TINT;
  61. #define    __TCHAR_DEFINED
  62. #endif
  63. #ifndef    _TCHAR_DEFINED
  64. #if    !__STDC__
  65. typedef    wchar_t    TCHAR;
  66. #endif
  67. #define    _TCHAR_DEFINED
  68. #endif
  69. #define    _TEOF    WEOF
  70. #define    __T(x)    L    ##    x
  71. #define    _tmain    wmain
  72. #define    _tWinMain    wWinMain
  73. #define    _tenviron    _wenviron
  74. #define    __targv    __wargv
  75. #define    _tprintf    wprintf
  76. #define    _ftprintf    fwprintf
  77. #define    _stprintf    swprintf
  78. #define    _sntprintf    _snwprintf
  79. #define    _vtprintf    vwprintf
  80. #define    _vftprintf    vfwprintf
  81. #define    _vstprintf    vswprintf
  82. #define    _vsntprintf    _vsnwprintf
  83. #define    _tscanf    wscanf
  84. #define    _ftscanf    fwscanf
  85. #define    _stscanf    swscanf
  86. #define    _fgettc    fgetwc
  87. #define    _fgettchar    _fgetwchar
  88. #define    _fgetts    fgetws
  89. #define    _fputtc    fputwc
  90. #define    _fputtchar    _fputwchar
  91. #define    _fputts    fputws
  92. #define    _gettc    getwc
  93. #define    _gettchar    getwchar
  94. #define    _getts    _getws
  95. #define    _puttc    putwc
  96. #define    _puttchar    putwchar
  97. #define    _putts    _putws
  98. #define    _ungettc    ungetwc
  99. #define    _tcstod    wcstod
  100. #define    _tcstol    wcstol
  101. #define    _tcstoul    wcstoul
  102. #define    _itot    _itow
  103. #define    _ltot    _ltow
  104. #define    _ultot    _ultow
  105. #define    _ttoi    _wtoi
  106. #define    _ttol    _wtol
  107. #define    _tcscat    wcscat
  108. #define    _tcschr    wcschr
  109. #define    _tcscpy    wcscpy
  110. #define    _tcscspn    wcscspn
  111. #define    _tcslen    wcslen
  112. #define    _tcsncat    wcsncat
  113. #define    _tcsncpy    wcsncpy
  114. #define    _tcspbrk    wcspbrk
  115. #define    _tcsrchr    wcsrchr
  116. #define    _tcsspn    wcsspn
  117. #define    _tcsstr    wcsstr
  118. #define    _tcstok    wcstok
  119. #define    _tcsdup    _wcsdup
  120. #define    _tcsnset    _wcsnset
  121. #define    _tcsrev    _wcsrev
  122. #define    _tcsset    _wcsset
  123. #define    _tcscmp    wcscmp
  124. #define    _tcsicmp    _wcsicmp
  125. #define    _tcsnccmp    wcsncmp
  126. #define    _tcsncmp    wcsncmp
  127. #define    _tcsncicmp    _wcsnicmp
  128. #define    _tcsnicmp    _wcsnicmp
  129. #define    _tcscoll    wcscoll
  130. #define    _tcsicoll    _wcsicoll
  131. #define    _tcsnccoll    _wcsncoll
  132. #define    _tcsncoll    _wcsncoll
  133. #define    _tcsncicoll    _wcsnicoll
  134. #define    _tcsnicoll    _wcsnicoll
  135. #define    _texecl    _wexecl
  136. #define    _texecle    _wexecle
  137. #define    _texeclp    _wexeclp
  138. #define    _texeclpe    _wexeclpe
  139. #define    _texecv    _wexecv
  140. #define    _texecve    _wexecve
  141. #define    _texecvp    _wexecvp
  142. #define    _texecvpe    _wexecvpe
  143. #define    _tspawnl    _wspawnl
  144. #define    _tspawnle    _wspawnle
  145. #define    _tspawnlp    _wspawnlp
  146. #define    _tspawnlpe    _wspawnlpe
  147. #define    _tspawnv    _wspawnv
  148. #define    _tspawnve    _wspawnve
  149. #define    _tspawnvp    _wspawnvp
  150. #define    _tspawnvp    _wspawnvp
  151. #define    _tspawnvpe    _wspawnvpe
  152. #define    _tsystem    _wsystem
  153. #define    _tasctime    _wasctime
  154. #define    _tctime    _wctime
  155. #define    _tstrdate    _wstrdate
  156. #define    _tstrtime    _wstrtime
  157. #define    _tutime    _wutime
  158. #define    _tcsftime    wcsftime
  159. #define    _tchdir    _wchdir
  160. #define    _tgetcwd    _wgetcwd
  161. #define    _tgetdcwd    _wgetdcwd
  162. #define    _tmkdir    _wmkdir
  163. #define    _trmdir    _wrmdir
  164. #define    _tfullpath    _wfullpath
  165. #define    _tgetenv    _wgetenv
  166. #define    _tmakepath    _wmakepath
  167. #define    _tputenv    _wputenv
  168. #define    _tsearchenv    _wsearchenv
  169. #define    _tsplitpath    _wsplitpath
  170. #define    _tfdopen    _wfdopen
  171. #define    _tfsopen    _wfsopen
  172. #define    _tfopen    _wfopen
  173. #define    _tfreopen    _wfreopen
  174. #define    _tperror    _wperror
  175. #define    _tpopen    _wpopen
  176. #define    _ttempnam    _wtempnam
  177. #define    _ttmpnam    _wtmpnam
  178. #define    _taccess    _waccess
  179. #define    _tchmod    _wchmod
  180. #define    _tcreat    _wcreat
  181. #define    _tfindfirst    _wfindfirst
  182. #define    _tfindfirsti64    _wfindfirsti64
  183. #define    _tfindnext    _wfindnext
  184. #define    _tfindnexti64    _wfindnexti64
  185. #define    _tmktemp    _wmktemp
  186. #define    _topen    _wopen
  187. #define    _tremove    _wremove
  188. #define    _trename    _wrename
  189. #define    _tsopen    _wsopen
  190. #define    _tunlink    _wunlink
  191. #define    _tfinddata_t    _wfinddata_t
  192. #define    _tfinddatai64_t    _wfinddatai64_t
  193. #define    _tstat    _wstat
  194. #define    _tstati64    _wstati64
  195. #define    _tsetlocale    _wsetlocale
  196. #define    _tcsclen    wcslen
  197. #define    _tcsnccat    wcsncat
  198. #define    _tcsnccpy    wcsncpy
  199. #define    _tcsncset    _wcsnset
  200. #define    _tcsdec    _wcsdec
  201. #define    _tcsinc    _wcsinc
  202. #define    _tcsnbcnt    _wcsncnt
  203. #define    _tcsnccnt    _wcsncnt
  204. #define    _tcsnextc    _wcsnextc
  205. #define    _tcsninc    _wcsninc
  206. #define    _tcsspnp    _wcsspnp
  207. #define    _tcslwr    _wcslwr
  208. #define    _tcsupr    _wcsupr
  209. #define    _tcsxfrm    wcsxfrm
  210. #define    _tclen(_pc)    (1)
  211. #define    _tccpy(pc1,cpc2)    ((*(pc1) = *(cpc2)))
  212. #define    _tccmp(cpc1,cpc2)    ((*(cpc1))-(*(cpc2)))
  213. #define    _istalnum    iswalnum
  214. #define    _istalpha    iswalpha
  215. #define    _istascii    iswascii
  216. #define    _istcntrl    iswcntrl
  217. #define    _istdigit    iswdigit
  218. #define    _istgraph    iswgraph
  219. #define    _istlower    iswlower
  220. #define    _istprint    iswprint
  221. #define    _istpunct    iswpunct
  222. #define    _istspace    iswspace
  223. #define    _istupper    iswupper
  224. #define    _istxdigit    iswxdigit
  225. #define    _totupper    towupper
  226. #define    _totlower    towlower
  227. #define    _istlegal(_c)    (1)
  228. #define    _istlead(_c)    (0)
  229. #define    _istleadbyte(_c)    (0)
  230. #define    _wcsdec(_cpc1,    _cpc2)    ((_cpc2)-1)
  231. #define    _wcsinc(_pc)    ((_pc)+1)
  232. #define    _wcsnextc(_cpc)    ((unsigned int)    *(_cpc))
  233. #define    _wcsninc(_pc,    _sz)    (((_pc)+(_sz)))
  234. #define    _wcsncnt(_cpc,    _sz)    ((wcslen(_cpc)>_sz) ? _sz : wcslen(_cpc))
  235. #define    _wcsspnp(_cpc1,    _cpc2)    ((*((_cpc1)+wcsspn(_cpc1,_cpc2))) ? ((_cpc1)+wcsspn(_cpc1,_cpc2)) : NULL)
  236. #else    /*    not    _UNICODE    */
  237. #include <string.h>
  238. #define    _TEOF    EOF
  239. #define    __T(x)    x
  240. #define    _tmain    main
  241. #define    _tWinMain    WinMain
  242. #define    _tenviron    _environ
  243. #define    __targv    __argv
  244. #define    _tprintf    printf
  245. #define    _ftprintf    fprintf
  246. #define    _stprintf    sprintf
  247. #define    _sntprintf    _snprintf
  248. #define    _vtprintf    vprintf
  249. #define    _vftprintf    vfprintf
  250. #define    _vstprintf    vsprintf
  251. #define    _vsntprintf    _vsnprintf
  252. #define    _tscanf    scanf
  253. #define    _ftscanf    fscanf
  254. #define    _stscanf    sscanf
  255. #define    _fgettc    fgetc
  256. #define    _fgettchar    _fgetchar
  257. #define    _fgetts    fgets
  258. #define    _fputtc    fputc
  259. #define    _fputtchar    _fputchar
  260. #define    _fputts    fputs
  261. #define    _gettc    getc
  262. #define    _gettchar    getchar
  263. #define    _getts    gets
  264. #define    _puttc    putc
  265. #define    _puttchar    putchar
  266. #define    _putts    puts
  267. #define    _ungettc    ungetc
  268. #define    _tcstod    strtod
  269. #define    _tcstol    strtol
  270. #define    _tcstoul    strtoul
  271. #define    _itot    _itoa
  272. #define    _ltot    _ltoa
  273. #define    _ultot    _ultoa
  274. #define    _ttoi    atoi
  275. #define    _ttol    atol
  276. #define    _tcscat    strcat
  277. #define    _tcscpy    strcpy
  278. #define    _tcslen    strlen
  279. #define    _tcsxfrm    strxfrm
  280. #define    _tcsdup    _strdup
  281. #define    _texecl    _execl
  282. #define    _texecle    _execle
  283. #define    _texeclp    _execlp
  284. #define    _texeclpe    _execlpe
  285. #define    _texecv    _execv
  286. #define    _texecve    _execve
  287. #define    _texecvp    _execvp
  288. #define    _texecvpe    _execvpe
  289. #define    _tspawnl    _spawnl
  290. #define    _tspawnle    _spawnle
  291. #define    _tspawnlp    _spawnlp
  292. #define    _tspawnlpe    _spawnlpe
  293. #define    _tspawnv    _spawnv
  294. #define    _tspawnve    _spawnve
  295. #define    _tspawnvp    _spawnvp
  296. #define    _tspawnvpe    _spawnvpe
  297. #define    _tsystem    system
  298. #define    _tasctime    asctime
  299. #define    _tctime    ctime
  300. #define    _tstrdate    _strdate
  301. #define    _tstrtime    _strtime
  302. #define    _tutime    _utime
  303. #define    _tcsftime    strftime
  304. #define    _tchdir    _chdir
  305. #define    _tgetcwd    _getcwd
  306. #define    _tgetdcwd    _getdcwd
  307. #define    _tmkdir    _mkdir
  308. #define    _trmdir    _rmdir
  309. #define    _tfullpath    _fullpath
  310. #define    _tgetenv    getenv
  311. #define    _tmakepath    _makepath
  312. #define    _tputenv    _putenv
  313. #define    _tsearchenv    _searchenv
  314. #define    _tsplitpath    _splitpath
  315. #define    _tfdopen    _fdopen
  316. #define    _tfsopen    _fsopen
  317. #define    _tfopen    fopen
  318. #define    _tfreopen    freopen
  319. #define    _tperror    perror
  320. #define    _tpopen    _popen
  321. #define    _ttempnam    _tempnam
  322. #define    _ttmpnam    tmpnam
  323. #define    _tchmod    _chmod
  324. #define    _tcreat    _creat
  325. #define    _tfindfirst    _findfirst
  326. #define    _tfindfirsti64    _findfirsti64
  327. #define    _tfindnext    _findnext
  328. #define    _tfindnexti64    _findnexti64
  329. #define    _tmktemp    _mktemp
  330. #define    _topen    _open
  331. #define    _taccess    _access
  332. #define    _tremove    remove
  333. #define    _trename    rename
  334. #define    _tsopen    _sopen
  335. #define    _tunlink    _unlink
  336. #define    _tfinddata_t    _finddata_t
  337. #define    _tfinddatai64_t    _finddatai64_t
  338. #define    _istascii    isascii
  339. #define    _istcntrl    iscntrl
  340. #define    _istxdigit    isxdigit
  341. #define    _tstat    _stat
  342. #define    _tstati64    _stati64
  343. #define    _tsetlocale    setlocale
  344. #ifdef    _MBCS
  345. #include <mbstring.h>
  346. #ifndef    __TCHAR_DEFINED
  347. typedef    char    _TCHAR;
  348. typedef    signed    char    _TSCHAR;
  349. typedef    unsigned    char    _TUCHAR;
  350. typedef    unsigned    char    _TXCHAR;
  351. typedef    unsigned    int    _TINT;
  352. #define    __TCHAR_DEFINED
  353. #endif
  354. #ifndef    _TCHAR_DEFINED
  355. typedef    char    TCHAR;
  356. #define    _TCHAR_DEFINED
  357. #endif
  358. #define    _tcschr    _mbschr
  359. #define    _tcscspn    _mbscspn
  360. #define    _tcsncat    _mbsnbcat
  361. #define    _tcsncpy    _mbsnbcpy
  362. #define    _tcspbrk    _mbspbrk
  363. #define    _tcsrchr    _mbsrchr
  364. #define    _tcsspn    _mbsspn
  365. #define    _tcsstr    _mbsstr
  366. #define    _tcstok    _mbstok
  367. #define    _tcsnset    _mbsnbset
  368. #define    _tcsrev    _mbsrev
  369. #define    _tcsset    _mbsset
  370. #define    _tcscmp    _mbscmp
  371. #define    _tcsicmp    _mbsicmp
  372. #define    _tcsnccmp    _mbsncmp
  373. #define    _tcsncmp    _mbsnbcmp
  374. #define    _tcsncicmp    _mbsnicmp
  375. #define    _tcsnicmp    _mbsnbicmp
  376. #define    _tcscoll    _mbscoll
  377. #define    _tcsicoll    _mbsicoll
  378. #define    _tcsnccoll    _mbsncoll
  379. #define    _tcsncoll    _mbsnbcoll
  380. #define    _tcsncicoll    _mbsnicoll
  381. #define    _tcsnicoll    _mbsnbicoll
  382. #define    _tcsclen    _mbslen
  383. #define    _tcsnccat    _mbsncat
  384. #define    _tcsnccpy    _mbsncpy
  385. #define    _tcsncset    _mbsnset
  386. #define    _tcsdec    _mbsdec
  387. #define    _tcsinc    _mbsinc
  388. #define    _tcsnbcnt    _mbsnbcnt
  389. #define    _tcsnccnt    _mbsnccnt
  390. #define    _tcsnextc    _mbsnextc
  391. #define    _tcsninc    _mbsninc
  392. #define    _tcsspnp    _mbsspnp
  393. #define    _tcslwr    _mbslwr
  394. #define    _tcsupr    _mbsupr
  395. #define    _tclen    _mbclen
  396. #define    _tccpy    _mbccpy
  397. #define    _tccmp(_cpuc1,_cpuc2)    _tcsnccmp(_cpuc1,_cpuc2,1)
  398. #define    _tccmp(_cp1,_cp2)    _tcsnccmp(_cp1,_cp2,1)
  399. #define    _istalnum    _ismbcalnum
  400. #define    _istalpha    _ismbcalpha
  401. #define    _istdigit    _ismbcdigit
  402. #define    _istgraph    _ismbcgraph
  403. #define    _istlegal    _ismbclegal
  404. #define    _istlower    _ismbclower
  405. #define    _istprint    _ismbcprint
  406. #define    _istpunct    _ismbcpunct
  407. #define    _istspace    _ismbcspace
  408. #define    _istupper    _ismbcupper
  409. #define    _totupper    _mbctoupper
  410. #define    _totlower    _mbctolower
  411. #define    _istlead    _ismbblead
  412. #define    _istleadbyte    isleadbyte
  413. #else    /*    !_MBCS    */
  414. #ifndef    __TCHAR_DEFINED
  415. typedef    char    _TCHAR;
  416. typedef    signed    char    _TSCHAR;
  417. typedef    unsigned    char    _TUCHAR;
  418. typedef    char    _TXCHAR;
  419. typedef    int    _TINT;
  420. #define    __TCHAR_DEFINED
  421. #endif
  422. #ifndef    _TCHAR_DEFINED
  423. typedef    char    TCHAR;
  424. #define    _TCHAR_DEFINED
  425. #endif
  426. #define    _tcschr    strchr
  427. #define    _tcscspn    strcspn
  428. #define    _tcsncat    strncat
  429. #define    _tcsncpy    strncpy
  430. #define    _tcspbrk    strpbrk
  431. #define    _tcsrchr    strrchr
  432. #define    _tcsspn    strspn
  433. #define    _tcsstr    strstr
  434. #define    _tcstok    strtok
  435. #define    _tcsnset    _strnset
  436. #define    _tcsrev    _strrev
  437. #define    _tcsset    _strset
  438. #define    _tcscmp    strcmp
  439. #define    _tcsicmp    _stricmp
  440. #define    _tcsnccmp    strncmp
  441. #define    _tcsncmp    strncmp
  442. #define    _tcsncicmp    _strnicmp
  443. #define    _tcsnicmp    _strnicmp
  444. #define    _tcscoll    strcoll
  445. #define    _tcsicoll    _stricoll
  446. #define    _tcsnccoll    _strncoll
  447. #define    _tcsncoll    _strncoll
  448. #define    _tcsncicoll    _strnicoll
  449. #define    _tcsnicoll    _strnicoll
  450. #define    _tcsclen    strlen
  451. #define    _tcsnccat    strncat
  452. #define    _tcsnccpy    strncpy
  453. #define    _tcsncset    _strnset
  454. #define    _tcsdec    _strdec
  455. #define    _tcsinc    _strinc
  456. #define    _tcsnbcnt    _strncnt
  457. #define    _tcsnccnt    _strncnt
  458. #define    _tcsnextc    _strnextc
  459. #define    _tcsninc    _strninc
  460. #define    _tcsspnp    _strspnp
  461. #define    _tcslwr    _strlwr
  462. #define    _tcsupr    _strupr
  463. #define    _tcsxfrm    strxfrm
  464. #define    _istlead(_c)    (0)
  465. #define    _istleadbyte(_c)    (0)
  466. #define    _tclen(_pc)    (1)
  467. #define    _tccpy(_pc1,_cpc2)    (*(_pc1) = *(_cpc2))
  468. #define    _tccmp(_cpc1,_cpc2)    (((unsigned char)*(_cpc1))-((unsigned char)*(_cpc2)))
  469. #define    _istalnum    isalnum
  470. #define    _istalpha    isalpha
  471. #define    _istdigit    isdigit
  472. #define    _istgraph    isgraph
  473. #define    _istlower    islower
  474. #define    _istprint    isprint
  475. #define    _istpunct    ispunct
  476. #define    _istspace    isspace
  477. #define    _istupper    isupper
  478. #define    _totupper    toupper
  479. #define    _totlower    tolower
  480. #define    _istlegal(_c)    (1)
  481. #ifndef    NULL
  482. #define    NULL    ((void    *)0)
  483. #endif
  484. #define    _strdec(_cpc1,    _cpc2)    ((_cpc2)-1)
  485. #define    _strinc(_pc)    ((_pc)+1)
  486. #define    _strnextc(_cpc)    ((unsigned int)    *(_cpc))
  487. #define    _strninc(_pc, _sz)    (((_pc)+(_sz)))
  488. #define    _strncnt(_cpc, _sz)    ((strlen(_cpc)>_sz) ? _sz : strlen(_cpc))
  489. #define    _strspnp(_cpc1,    _cpc2)    ((*((_cpc1)+strspn(_cpc1,_cpc2))) ? ((_cpc1)+strspn(_cpc1,_cpc2)) : NULL)
  490. #endif    /*    _MBCS    */
  491. #endif    /*    _UNICODE    */
  492.  
  493. #define    _T(x)    __T(x)
  494. #define    _TEXT(x)    __T(x)
  495. #endif
  496.