home *** CD-ROM | disk | FTP | other *** search
/ Team Palmtops 7 / Palmtops_numero07.iso / WinCE / SDKWindowsCE / AutoPC / apcsdk10.exe / data1.cab / Emulation_Include_Files / tchar.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-05-13  |  5.1 KB  |  268 lines

  1. /***
  2. *tchar.h - definitions for generic international functions
  3. *
  4. *    Copyright (c) 1991-1995, Microsoft Corporation. All rights reserved.
  5. *
  6. *Purpose:
  7. *    Definitions for generic international functions, mostly defines
  8. *    which map string/formatted-io/ctype functions to char or wide-char
  9. *    versions.
  10. *
  11. *    NOTE: it is meaningless to support multibyte/wide-char conversions
  12. *
  13. ****/
  14.  
  15. #ifndef _TCHAR_H_
  16. #define _TCHAR_H_
  17.  
  18. #ifdef UNDER_CE
  19. #include <windef.h>
  20. #endif
  21.  
  22. #ifdef    __cplusplus
  23. extern "C" {
  24. #endif
  25.  
  26. #ifdef UNDER_CE
  27.     #define _tWinMain WinMain
  28. #else
  29.     #ifdef UNICODE
  30.     #define _tWinMain wWinMain
  31.     #else
  32.     #define _tWinMain WinMain
  33.     #endif
  34. #endif
  35.  
  36. #ifdef UNICODE
  37.  
  38. #ifdef UNDER_CE
  39.  
  40. #include <string.h>
  41. typedef WCHAR TCHAR;
  42. #define __TEXT(s) L##s
  43.  
  44. #else  /* UNDER_CE */
  45.  
  46. #ifndef _TCHAR_DEFINED
  47. typedef wchar_t     TCHAR;
  48. #define _TCHAR_DEFINED
  49. #endif
  50.  
  51. #define __T(x)        L ## x
  52. #define _TEOF        WEOF
  53.  
  54. #endif /* UNDER_CE */
  55.  
  56. #ifdef UNDER_CE
  57.  
  58. #define _ttol        _wtol
  59. #define _istlegal    (1)
  60.  
  61. #else
  62.  
  63. #define _tprintf    wprintf
  64. #define _ftprintf    fwprintf
  65. #define _stprintf    swprintf
  66. #define _sntprintf    _snwprintf
  67. #define _vtprintf    vwprintf
  68. #define _vftprintf    vfwprintf
  69. #define _vstprintf    vswprintf
  70. #define _vsntprintf    _vsnwprintf
  71. #define _tscanf        wscanf
  72. #define _ftscanf    fwscanf
  73. #define _stscanf    swscanf
  74.  
  75. #define _fgettc        fgetwc
  76. #define _fgettchar    fgetwchar
  77. #define _fgetts        fgetws
  78. #define _fputtc        fputwc
  79. #define _fputtchar    fputwchar
  80. #define _fputts        fputws
  81. #define _gettc        getwc
  82. #define _getts        getws
  83. #define _puttc        putwc
  84. #define _putts        putws
  85. #define _ungettc    ungetwc
  86.  
  87. #define _tcstod        wcstod
  88. #define _tcstol        wcstol
  89. #define _tcstoul    wcstoul
  90.  
  91. #define _tcsxfrm    wcsxfrm
  92. #define _tcscoll    wcscoll
  93. #define _tcsicoll    _wcsicoll
  94.  
  95. #endif    /* UNDER_CE */
  96.  
  97. #define _tcscat        wcscat
  98. #define _tcschr        wcschr
  99. #define _tcscmp        wcscmp
  100. #define _tcscpy        wcscpy
  101. #define _tcscspn    wcscspn
  102. #define _tcslen        wcslen
  103. #define _tcsncat    wcsncat
  104. #define _tcsncmp    wcsncmp
  105. #define _tcsncpy    wcsncpy
  106. #define _tcspbrk    wcspbrk
  107. #define _tcsrchr    wcsrchr
  108. #define _tcsspn        wcsspn
  109. #define _tcsstr        wcsstr
  110. #define _tcstok        wcstok
  111. #define _tcslwr        _wcslwr
  112. #define _tcsupr        _wcsupr
  113.  
  114. #define _tcsdup        _wcsdup
  115. #define _tcsicmp    _wcsicmp
  116. #define _tcsnicmp    _wcsnicmp
  117. #define _tcsnset    _wcsnset
  118. #define _tcsrev        _wcsrev
  119. #define _tcsset        _wcsset
  120.  
  121. /* ctype functions */
  122.  
  123. #define _istalpha    iswalpha
  124. #define _istupper    iswupper
  125. #define _istlower    iswlower
  126. #define _istdigit    iswdigit
  127. #define _istxdigit    iswxdigit
  128. #define _istspace    iswspace
  129. #define _istpunct    iswpunct
  130. #define _istalnum    iswalnum
  131. #define _istprint    iswprint
  132. #define _istgraph    iswgraph
  133. #define _istcntrl    iswcntrl
  134. #define _istascii    iswascii
  135.  
  136. #define _totupper    towupper
  137. #define _totlower    towlower
  138.  
  139. #else    /* _UNICODE */
  140.  
  141.  
  142. #ifdef UNDER_CE
  143.  
  144. typedef char TCHAR;
  145. #define __TEXT(s) s
  146.  
  147. #else    /* UNDER_CE */
  148.  
  149. #ifndef _TCHAR_DEFINED
  150. typedef char        TCHAR;
  151. #define _TCHAR_DEFINED
  152. #endif
  153.  
  154. #define __T(x)        x
  155. #define _TEOF        EOF
  156.  
  157. #endif    /* UNDER_CE */
  158.  
  159.  
  160. #ifdef    UNDER_CE
  161.  
  162. #define _istlegal    (1)
  163.  
  164. #else    /* UNDER_CE */
  165.  
  166. #define _tprintf    printf
  167. #define _ftprintf    fprintf
  168. #define _stprintf    sprintf
  169. #define _sntprintf    _snprintf
  170. #define _vtprintf    vprintf
  171. #define _vftprintf    vfprintf
  172. #define _vstprintf    vsprintf
  173. #define _vsntprintf    _vsnprintf
  174. #define _tscanf        scanf
  175. #define _ftscanf    fscanf
  176. #define _stscanf    sscanf
  177.  
  178. #define _fgettc        fgetc
  179. #define _fgettchar    fgetchar
  180. #define _fgetts        fgets
  181. #define _fputtc        fputc
  182. #define _fputtchar    fputchar
  183. #define _fputts        fputs
  184. #define _gettc        getc
  185. #define _getts        gets
  186. #define _puttc        putc
  187. #define _putts        puts
  188. #define _ungettc    ungetc
  189.  
  190. #define _tcstod        strtod
  191. #define _tcstol        strtol
  192. #define _tcstoul    strtoul
  193.  
  194. #define _tcslwr        _strlwr
  195. #define _tcsupr        _strupr
  196. #define _tcsxfrm    strxfrm
  197. #define _tcscoll    strcoll
  198. #define _tcsicoll    _stricoll
  199.  
  200. #endif    /* UNDER_CE */
  201.  
  202.  
  203. #define _tcscat        strcat
  204. #define _tcschr        strchr
  205. #define _tcscmp        strcmp
  206. #define _tcscpy        strcpy
  207. #define _tcscspn    strcspn
  208. #define _tcslen        strlen
  209. #define _tcsncat    strncat
  210. #define _tcsncmp    strncmp
  211. #define _tcsncpy    strncpy
  212. #define _tcspbrk    strpbrk
  213. #define _tcsrchr    strrchr
  214. #define _tcsspn        strspn
  215. #define _tcsstr        strstr
  216. #define _tcstok        strtok
  217.  
  218. #define _tcsdup        _strdup
  219. #define _tcsicmp    _stricmp
  220. #define _tcsnicmp    _strnicmp
  221. #define _tcsnset    _strnset
  222. #define _tcsrev        _strrev
  223. #define _tcsset        _strset
  224.  
  225. /* ctype functions */
  226.  
  227. #define _istalpha    isalpha
  228. #define _istupper    isupper
  229. #define _istlower    islower
  230. #define _istdigit    isdigit
  231. #define _istxdigit    isxdigit
  232. #define _istspace    isspace
  233. #define _istpunct    ispunct
  234. #define _istalnum    isalnum
  235. #define _istprint    isprint
  236. #define _istgraph    isgraph
  237. #define _istcntrl    iscntrl
  238. #define _istascii    isascii
  239.  
  240. #define _totupper    toupper
  241. #define _totlower    tolower
  242.  
  243. #endif    /* _UNICODE */
  244.  
  245.  
  246. #ifdef UNDER_CE
  247.  
  248. typedef TCHAR * PTSTR;
  249. typedef PTSTR LPTSTR;
  250.  
  251. typedef const TCHAR * PCTSTR;
  252. typedef PCTSTR LPCTSTR;
  253.  
  254. #else
  255.  
  256. #define _T(x)        __T(x)
  257. #define _TEXT(x)    __T(x)
  258.  
  259. #endif    /* UNDER_CE */
  260.  
  261.  
  262. #ifdef __cplusplus
  263. }
  264. #endif
  265.  
  266. #define _INC_TCHAR
  267. #endif    /* _INC_TCHAR */
  268.