1 | /*
|
---|
2 | * tchar.h
|
---|
3 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
4 | * This file is a part of the mingw-runtime package.
|
---|
5 | * No warranty is given; refer to the file DISCLAIMER within the package.
|
---|
6 | *
|
---|
7 | * Unicode mapping layer for the standard C library. By including this
|
---|
8 | * file and using the 't' names for string functions
|
---|
9 | * (eg. _tprintf) you can make code which can be easily adapted to both
|
---|
10 | * Unicode and non-unicode environments. In a unicode enabled compile define
|
---|
11 | * _UNICODE before including tchar.h, otherwise the standard non-unicode
|
---|
12 | * library functions will be used.
|
---|
13 | *
|
---|
14 | * Note that you still need to include string.h or stdlib.h etc. to define
|
---|
15 | * the appropriate functions. Also note that there are several defines
|
---|
16 | * included for non-ANSI functions which are commonly available (but using
|
---|
17 | * the convention of prepending an underscore to non-ANSI library function
|
---|
18 | * names).
|
---|
19 | *
|
---|
20 | */
|
---|
21 |
|
---|
22 | #ifndef _TCHAR_H_
|
---|
23 | #define _TCHAR_H_
|
---|
24 |
|
---|
25 | /* All the headers include this file. */
|
---|
26 | #include <_mingw.h>
|
---|
27 |
|
---|
28 | /*
|
---|
29 | * NOTE: This tests _UNICODE, which is different from the UNICODE define
|
---|
30 | * used to differentiate Win32 API calls.
|
---|
31 | */
|
---|
32 | #ifdef _UNICODE
|
---|
33 |
|
---|
34 | /*
|
---|
35 | * Include <wchar.h> for wchar_t and WEOF if _UNICODE.
|
---|
36 | */
|
---|
37 | #include <wchar.h>
|
---|
38 |
|
---|
39 | /*
|
---|
40 | * Use TCHAR instead of char or wchar_t. It will be appropriately translated
|
---|
41 | * if _UNICODE is correctly defined (or not).
|
---|
42 | */
|
---|
43 | #ifndef _TCHAR_DEFINED
|
---|
44 | #ifndef RC_INVOKED
|
---|
45 | typedef wchar_t TCHAR;
|
---|
46 | typedef wchar_t _TCHAR;
|
---|
47 | #endif /* Not RC_INVOKED */
|
---|
48 | #define _TCHAR_DEFINED
|
---|
49 | #endif
|
---|
50 |
|
---|
51 | /*
|
---|
52 | * Use _TEOF instead of EOF or WEOF. It will be appropriately translated if
|
---|
53 | * _UNICODE is correctly defined (or not).
|
---|
54 | */
|
---|
55 | #define _TEOF WEOF
|
---|
56 |
|
---|
57 | /*
|
---|
58 | * __TEXT is a private macro whose specific use is to force the expansion of a
|
---|
59 | * macro passed as an argument to the macros _T or _TEXT. DO NOT use this
|
---|
60 | * macro within your programs. It's name and function could change without
|
---|
61 | * notice.
|
---|
62 | */
|
---|
63 | #define __TEXT(q) L##q
|
---|
64 |
|
---|
65 | /* for porting from other Windows compilers */
|
---|
66 | #if 0 /* no wide startup module */
|
---|
67 | #define _tmain wmain
|
---|
68 | #define _tWinMain wWinMain
|
---|
69 | #define _tenviron _wenviron
|
---|
70 | #define __targv __wargv
|
---|
71 | #endif
|
---|
72 |
|
---|
73 | /*
|
---|
74 | * Unicode functions
|
---|
75 | */
|
---|
76 | #define _tprintf wprintf
|
---|
77 | #define _ftprintf fwprintf
|
---|
78 | #define _stprintf swprintf
|
---|
79 | #define _sntprintf _snwprintf
|
---|
80 | #define _vtprintf vwprintf
|
---|
81 | #define _vftprintf vfwprintf
|
---|
82 | #define _vstprintf vswprintf
|
---|
83 | #define _vsntprintf _vsnwprintf
|
---|
84 | #define _vsctprintf _vscwprintf
|
---|
85 | #define _tscanf wscanf
|
---|
86 | #define _ftscanf fwscanf
|
---|
87 | #define _stscanf swscanf
|
---|
88 | #define _fgettc fgetwc
|
---|
89 | #define _fgettchar _fgetwchar
|
---|
90 | #define _fgetts fgetws
|
---|
91 | #define _fputtc fputwc
|
---|
92 | #define _fputtchar _fputwchar
|
---|
93 | #define _fputts fputws
|
---|
94 | #define _gettc getwc
|
---|
95 | #define _getts _getws
|
---|
96 | #define _puttc putwc
|
---|
97 | #define _puttchar putwchar
|
---|
98 | #define _putts _putws
|
---|
99 | #define _ungettc ungetwc
|
---|
100 | #define _tcstod wcstod
|
---|
101 | #define _tcstol wcstol
|
---|
102 | #define _tcstoul wcstoul
|
---|
103 | #define _itot _itow
|
---|
104 | #define _ltot _ltow
|
---|
105 | #define _ultot _ultow
|
---|
106 | #define _ttoi _wtoi
|
---|
107 | #define _ttol _wtol
|
---|
108 | #define _tcscat wcscat
|
---|
109 | #define _tcschr wcschr
|
---|
110 | #define _tcscmp wcscmp
|
---|
111 | #define _tcscpy wcscpy
|
---|
112 | #define _tcscspn wcscspn
|
---|
113 | #define _tcslen wcslen
|
---|
114 | #define _tcsncat wcsncat
|
---|
115 | #define _tcsncmp wcsncmp
|
---|
116 | #define _tcsncpy wcsncpy
|
---|
117 | #define _tcspbrk wcspbrk
|
---|
118 | #define _tcsrchr wcsrchr
|
---|
119 | #define _tcsspn wcsspn
|
---|
120 | #define _tcsstr wcsstr
|
---|
121 | #define _tcstok wcstok
|
---|
122 | #define _tcsdup _wcsdup
|
---|
123 | #define _tcsicmp _wcsicmp
|
---|
124 | #define _tcsnicmp _wcsnicmp
|
---|
125 | #define _tcsnset _wcsnset
|
---|
126 | #define _tcsrev _wcsrev
|
---|
127 | #define _tcsset _wcsset
|
---|
128 | #define _tcslwr _wcslwr
|
---|
129 | #define _tcsupr _wcsupr
|
---|
130 | #define _tcsxfrm wcsxfrm
|
---|
131 | #define _tcscoll wcscoll
|
---|
132 | #define _tcsicoll _wcsicoll
|
---|
133 | #define _istalpha iswalpha
|
---|
134 | #define _istupper iswupper
|
---|
135 | #define _istlower iswlower
|
---|
136 | #define _istdigit iswdigit
|
---|
137 | #define _istxdigit iswxdigit
|
---|
138 | #define _istspace iswspace
|
---|
139 | #define _istpunct iswpunct
|
---|
140 | #define _istalnum iswalnum
|
---|
141 | #define _istprint iswprint
|
---|
142 | #define _istgraph iswgraph
|
---|
143 | #define _istcntrl iswcntrl
|
---|
144 | #define _istascii iswascii
|
---|
145 | #define _totupper towupper
|
---|
146 | #define _totlower towlower
|
---|
147 | #define _tcsftime wcsftime
|
---|
148 | /* Macro functions */
|
---|
149 | #define _tcsdec _wcsdec
|
---|
150 | #define _tcsinc _wcsinc
|
---|
151 | #define _tcsnbcnt _wcsncnt
|
---|
152 | #define _tcsnccnt _wcsncnt
|
---|
153 | #define _tcsnextc _wcsnextc
|
---|
154 | #define _tcsninc _wcsninc
|
---|
155 | #define _tcsspnp _wcsspnp
|
---|
156 | #define _wcsdec(_wcs1, _wcs2) ((_wcs1)>=(_wcs2) ? NULL : (_wcs2)-1)
|
---|
157 | #define _wcsinc(_wcs) ((_wcs)+1)
|
---|
158 | #define _wcsnextc(_wcs) ((unsigned int) *(_wcs))
|
---|
159 | #define _wcsninc(_wcs, _inc) (((_wcs)+(_inc)))
|
---|
160 | #define _wcsncnt(_wcs, _cnt) ((wcslen(_wcs)>_cnt) ? _count : wcslen(_wcs))
|
---|
161 | #define _wcsspnp(_wcs1, _wcs2) ((*((_wcs1)+wcsspn(_wcs1,_wcs2))) ? ((_wcs1)+wcsspn(_wcs1,_wcs2)) : NULL)
|
---|
162 |
|
---|
163 | #if 1 /* defined __MSVCRT__ */
|
---|
164 | /*
|
---|
165 | * These wide functions not in crtdll.dll.
|
---|
166 | * Define macros anyway so that _wfoo rather than _tfoo is undefined
|
---|
167 | */
|
---|
168 | #define _ttoi64 _wtoi64
|
---|
169 | #define _i64tot _i64tow
|
---|
170 | #define _ui64tot _ui64tow
|
---|
171 | #define _tasctime _wasctime
|
---|
172 | #define _tctime _wctime
|
---|
173 | #if __MSVCRT_VERSION__ >= 0x0800
|
---|
174 | #define _tctime32 _wctime32
|
---|
175 | #define _tctime64 _wctime64
|
---|
176 | #endif /* __MSVCRT_VERSION__ >= 0x0800 */
|
---|
177 | #define _tstrdate _wstrdate
|
---|
178 | #define _tstrtime _wstrtime
|
---|
179 | #define _tutime _wutime
|
---|
180 | #if __MSVCRT_VERSION__ >= 0x0800
|
---|
181 | #define _tutime64 _wutime64
|
---|
182 | #define _tutime32 _wutime32
|
---|
183 | #endif /* __MSVCRT_VERSION__ > 0x0800 */
|
---|
184 | #define _tcsnccoll _wcsncoll
|
---|
185 | #define _tcsncoll _wcsncoll
|
---|
186 | #define _tcsncicoll _wcsnicoll
|
---|
187 | #define _tcsnicoll _wcsnicoll
|
---|
188 | #define _taccess _waccess
|
---|
189 | #define _tchmod _wchmod
|
---|
190 | #define _tcreat _wcreat
|
---|
191 | #define _tfindfirst _wfindfirst
|
---|
192 | #define _tfindnext _wfindnext
|
---|
193 | #if __MSVCRT_VERSION__ >= 0x0800
|
---|
194 | #define _tfindfirst64 _wfindfirst64
|
---|
195 | #define _tfindfirst32 _wfindfirst32
|
---|
196 | #define _tfindnext64 _wfindnext64
|
---|
197 | #define _tfindnext32 _wfindnext32
|
---|
198 | #endif /* __MSVCRT_VERSION__ > 0x0800 */
|
---|
199 | #define _tfdopen _wfdopen
|
---|
200 | #define _tfopen _wfopen
|
---|
201 | #define _tfreopen _wfreopen
|
---|
202 | #define _tfsopen _wfsopen
|
---|
203 | #define _tgetenv _wgetenv
|
---|
204 | #define _tputenv _wputenv
|
---|
205 | #define _tsearchenv _wsearchenv
|
---|
206 | #define _tsystem _wsystem
|
---|
207 | #define _tmakepath _wmakepath
|
---|
208 | #define _tsplitpath _wsplitpath
|
---|
209 | #define _tfullpath _wfullpath
|
---|
210 | #define _tmktemp _wmktemp
|
---|
211 | #define _topen _wopen
|
---|
212 | #define _tremove _wremove
|
---|
213 | #define _trename _wrename
|
---|
214 | #define _tsopen _wsopen
|
---|
215 | #define _tsetlocale _wsetlocale
|
---|
216 | #define _tunlink _wunlink
|
---|
217 | #define _tfinddata_t _wfinddata_t
|
---|
218 | #define _tfindfirsti64 _wfindfirsti64
|
---|
219 | #define _tfindnexti64 _wfindnexti64
|
---|
220 | #define _tfinddatai64_t _wfinddatai64_t
|
---|
221 | #if __MSVCRT_VERSION__ >= 0x0601
|
---|
222 | #define _tfinddata64_t _wfinddata64_t
|
---|
223 | #endif
|
---|
224 | #if __MSVCRT_VERSION__ >= 0x0800
|
---|
225 | #define _tfinddata32_t _wfinddata32_t
|
---|
226 | #define _tfinddata32i64_t _wfinddata32i64_t
|
---|
227 | #define _tfinddata64i32_t _wfinddata64i32_t
|
---|
228 | #define _tfindfirst32i64 _wfindfirst32i64
|
---|
229 | #define _tfindfirst64i32 _wfindfirst64i32
|
---|
230 | #define _tfindnext32i64 _wfindnext32i64
|
---|
231 | #define _tfindnext64i32 _wfindnext64i32
|
---|
232 | #endif /* __MSVCRT_VERSION__ > 0x0800 */
|
---|
233 | #define _tchdir _wchdir
|
---|
234 | #define _tgetcwd _wgetcwd
|
---|
235 | #define _tgetdcwd _wgetdcwd
|
---|
236 | #define _tmkdir _wmkdir
|
---|
237 | #define _trmdir _wrmdir
|
---|
238 | #define _tstat _wstat
|
---|
239 | #define _tstati64 _wstati64
|
---|
240 | #define _tstat64 _wstat64
|
---|
241 | #if __MSVCRT_VERSION__ >= 0x0800
|
---|
242 | #define _tstat32 _wstat32
|
---|
243 | #define _tstat32i64 _wstat32i64
|
---|
244 | #define _tstat64i32 _wstat64i32
|
---|
245 | #endif /* __MSVCRT_VERSION__ > 0x0800 */
|
---|
246 | #endif /* __MSVCRT__ */
|
---|
247 |
|
---|
248 | /* dirent structures and functions */
|
---|
249 | #define _tdirent _wdirent
|
---|
250 | #define _TDIR _WDIR
|
---|
251 | #define _topendir _wopendir
|
---|
252 | #define _tclosedir _wclosedir
|
---|
253 | #define _treaddir _wreaddir
|
---|
254 | #define _trewinddir _wrewinddir
|
---|
255 | #define _ttelldir _wtelldir
|
---|
256 | #define _tseekdir _wseekdir
|
---|
257 |
|
---|
258 | #else /* Not _UNICODE */
|
---|
259 |
|
---|
260 | /*
|
---|
261 | * TCHAR, the type you should use instead of char.
|
---|
262 | */
|
---|
263 | #ifndef _TCHAR_DEFINED
|
---|
264 | #ifndef RC_INVOKED
|
---|
265 | typedef char TCHAR;
|
---|
266 | typedef char _TCHAR;
|
---|
267 | #endif
|
---|
268 | #define _TCHAR_DEFINED
|
---|
269 | #endif
|
---|
270 |
|
---|
271 | /*
|
---|
272 | * _TEOF, the constant you should use instead of EOF.
|
---|
273 | */
|
---|
274 | #define _TEOF EOF
|
---|
275 |
|
---|
276 | /*
|
---|
277 | * __TEXT is a private macro whose specific use is to force the expansion of a
|
---|
278 | * macro passed as an argument to the macros _T or _TEXT. DO NOT use this
|
---|
279 | * macro within your programs. It's name and function could change without
|
---|
280 | * notice.
|
---|
281 | */
|
---|
282 | #define __TEXT(q) q
|
---|
283 |
|
---|
284 | /* for porting from other Windows compilers */
|
---|
285 | #define _tmain main
|
---|
286 | #define _tWinMain WinMain
|
---|
287 | #define _tenviron _environ
|
---|
288 | #define __targv __argv
|
---|
289 |
|
---|
290 | /*
|
---|
291 | * Non-unicode (standard) functions
|
---|
292 | */
|
---|
293 |
|
---|
294 | #define _tprintf printf
|
---|
295 | #define _ftprintf fprintf
|
---|
296 | #define _stprintf sprintf
|
---|
297 | #define _sntprintf _snprintf
|
---|
298 | #define _vtprintf vprintf
|
---|
299 | #define _vftprintf vfprintf
|
---|
300 | #define _vstprintf vsprintf
|
---|
301 | #define _vsntprintf _vsnprintf
|
---|
302 | #define _vsctprintf _vscprintf
|
---|
303 | #define _tscanf scanf
|
---|
304 | #define _ftscanf fscanf
|
---|
305 | #define _stscanf sscanf
|
---|
306 | #define _fgettc fgetc
|
---|
307 | #define _fgettchar _fgetchar
|
---|
308 | #define _fgetts fgets
|
---|
309 | #define _fputtc fputc
|
---|
310 | #define _fputtchar _fputchar
|
---|
311 | #define _fputts fputs
|
---|
312 | #define _tfdopen _fdopen
|
---|
313 | #define _tfopen fopen
|
---|
314 | #define _tfreopen freopen
|
---|
315 | #define _tfsopen _fsopen
|
---|
316 | #define _tgetenv getenv
|
---|
317 | #define _tputenv _putenv
|
---|
318 | #define _tsearchenv _searchenv
|
---|
319 | #define _tsystem system
|
---|
320 | #define _tmakepath _makepath
|
---|
321 | #define _tsplitpath _splitpath
|
---|
322 | #define _tfullpath _fullpath
|
---|
323 | #define _gettc getc
|
---|
324 | #define _getts gets
|
---|
325 | #define _puttc putc
|
---|
326 | #define _puttchar putchar
|
---|
327 | #define _putts puts
|
---|
328 | #define _ungettc ungetc
|
---|
329 | #define _tcstod strtod
|
---|
330 | #define _tcstol strtol
|
---|
331 | #define _tcstoul strtoul
|
---|
332 | #define _itot _itoa
|
---|
333 | #define _ltot _ltoa
|
---|
334 | #define _ultot _ultoa
|
---|
335 | #define _ttoi atoi
|
---|
336 | #define _ttol atol
|
---|
337 | #define _tcscat strcat
|
---|
338 | #define _tcschr strchr
|
---|
339 | #define _tcscmp strcmp
|
---|
340 | #define _tcscpy strcpy
|
---|
341 | #define _tcscspn strcspn
|
---|
342 | #define _tcslen strlen
|
---|
343 | #define _tcsncat strncat
|
---|
344 | #define _tcsncmp strncmp
|
---|
345 | #define _tcsncpy strncpy
|
---|
346 | #define _tcspbrk strpbrk
|
---|
347 | #define _tcsrchr strrchr
|
---|
348 | #define _tcsspn strspn
|
---|
349 | #define _tcsstr strstr
|
---|
350 | #define _tcstok strtok
|
---|
351 | #define _tcsdup _strdup
|
---|
352 | #define _tcsicmp _stricmp
|
---|
353 | #define _tcsnicmp _strnicmp
|
---|
354 | #define _tcsnset _strnset
|
---|
355 | #define _tcsrev _strrev
|
---|
356 | #define _tcsset _strset
|
---|
357 | #define _tcslwr _strlwr
|
---|
358 | #define _tcsupr _strupr
|
---|
359 | #define _tcsxfrm strxfrm
|
---|
360 | #define _tcscoll strcoll
|
---|
361 | #define _tcsicoll _stricoll
|
---|
362 | #define _istalpha isalpha
|
---|
363 | #define _istupper isupper
|
---|
364 | #define _istlower islower
|
---|
365 | #define _istdigit isdigit
|
---|
366 | #define _istxdigit isxdigit
|
---|
367 | #define _istspace isspace
|
---|
368 | #define _istpunct ispunct
|
---|
369 | #define _istalnum isalnum
|
---|
370 | #define _istprint isprint
|
---|
371 | #define _istgraph isgraph
|
---|
372 | #define _istcntrl iscntrl
|
---|
373 | #define _istascii isascii
|
---|
374 | #define _totupper toupper
|
---|
375 | #define _totlower tolower
|
---|
376 | #define _tasctime asctime
|
---|
377 | #define _tctime ctime
|
---|
378 | #if __MSVCRT_VERSION__ >= 0x0800
|
---|
379 | #define _tctime32 _ctime32
|
---|
380 | #define _tctime64 _ctime64
|
---|
381 | #endif /* __MSVCRT_VERSION__ >= 0x0800 */
|
---|
382 | #define _tstrdate _strdate
|
---|
383 | #define _tstrtime _strtime
|
---|
384 | #define _tutime _utime
|
---|
385 | #if __MSVCRT_VERSION__ >= 0x0800
|
---|
386 | #define _tutime64 _utime64
|
---|
387 | #define _tutime32 _utime32
|
---|
388 | #endif /* __MSVCRT_VERSION__ > 0x0800 */
|
---|
389 | #define _tcsftime strftime
|
---|
390 | /* Macro functions */
|
---|
391 | #define _tcsdec _strdec
|
---|
392 | #define _tcsinc _strinc
|
---|
393 | #define _tcsnbcnt _strncnt
|
---|
394 | #define _tcsnccnt _strncnt
|
---|
395 | #define _tcsnextc _strnextc
|
---|
396 | #define _tcsninc _strninc
|
---|
397 | #define _tcsspnp _strspnp
|
---|
398 | #define _strdec(_str1, _str2) ((_str1)>=(_str2) ? NULL : (_str2)-1)
|
---|
399 | #define _strinc(_str) ((_str)+1)
|
---|
400 | #define _strnextc(_str) ((unsigned int) *(_str))
|
---|
401 | #define _strninc(_str, _inc) (((_str)+(_inc)))
|
---|
402 | #define _strncnt(_str, _cnt) ((strlen(_str)>_cnt) ? _count : strlen(_str))
|
---|
403 | #define _strspnp(_str1, _str2) ((*((_str1)+strspn(_str1,_str2))) ? ((_str1)+strspn(_str1,_str2)) : NULL)
|
---|
404 |
|
---|
405 | #define _tchmod _chmod
|
---|
406 | #define _tcreat _creat
|
---|
407 | #define _tfindfirst _findfirst
|
---|
408 | #define _tfindnext _findnext
|
---|
409 | #if __MSVCRT_VERSION__ >= 0x0800
|
---|
410 | #define _tfindfirst64 _findfirst64
|
---|
411 | #define _tfindfirst32 _findfirst32
|
---|
412 | #define _tfindnext64 _findnext64
|
---|
413 | #define _tfindnext32 _findnext32
|
---|
414 | #endif /* __MSVCRT_VERSION__ > 0x0800 */
|
---|
415 | #define _tmktemp _mktemp
|
---|
416 | #define _topen _open
|
---|
417 | #define _taccess _access
|
---|
418 | #define _tremove remove
|
---|
419 | #define _trename rename
|
---|
420 | #define _tsopen _sopen
|
---|
421 | #define _tsetlocale setlocale
|
---|
422 | #define _tunlink _unlink
|
---|
423 | #define _tfinddata_t _finddata_t
|
---|
424 | #define _tchdir _chdir
|
---|
425 | #define _tgetcwd _getcwd
|
---|
426 | #define _tgetdcwd _getdcwd
|
---|
427 | #define _tmkdir _mkdir
|
---|
428 | #define _trmdir _rmdir
|
---|
429 | #define _tstat _stat
|
---|
430 |
|
---|
431 | #if 1 /* defined __MSVCRT__ */
|
---|
432 | /* Not in crtdll.dll. Define macros anyway? */
|
---|
433 | #define _ttoi64 _atoi64
|
---|
434 | #define _i64tot _i64toa
|
---|
435 | #define _ui64tot _ui64toa
|
---|
436 | #define _tcsnccoll _strncoll
|
---|
437 | #define _tcsncoll _strncoll
|
---|
438 | #define _tcsncicoll _strnicoll
|
---|
439 | #define _tcsnicoll _strnicoll
|
---|
440 | #define _tfindfirsti64 _findfirsti64
|
---|
441 | #define _tfindnexti64 _findnexti64
|
---|
442 | #define _tfinddatai64_t _finddatai64_t
|
---|
443 | #if __MSVCRT_VERSION__ >= 0x0601
|
---|
444 | #define _tfinddata64_t _finddata64_t
|
---|
445 | #endif
|
---|
446 | #if __MSVCRT_VERSION__ >= 0x0800
|
---|
447 | #define _tfinddata32_t _finddata32_t
|
---|
448 | #define _tfinddata32i64_t _finddata32i64_t
|
---|
449 | #define _tfinddata64i32_t _finddata64i32_t
|
---|
450 | #define _tfindfirst32i64 _findfirst32i64
|
---|
451 | #define _tfindfirst64i32 _findfirst64i32
|
---|
452 | #define _tfindnext32i64 _findnext32i64
|
---|
453 | #define _tfindnext64i32 _findnext64i32
|
---|
454 | #endif /* __MSVCRT_VERSION__ > 0x0800 */
|
---|
455 | #define _tstati64 _stati64
|
---|
456 | #define _tstat64 _stat64
|
---|
457 | #if __MSVCRT_VERSION__ >= 0x0800
|
---|
458 | #define _tstat32 _stat32
|
---|
459 | #define _tstat32i64 _stat32i64
|
---|
460 | #define _tstat64i32 _stat64i32
|
---|
461 | #endif /* __MSVCRT_VERSION__ > 0x0800 */
|
---|
462 | #endif /* __MSVCRT__ */
|
---|
463 |
|
---|
464 | /* dirent structures and functions */
|
---|
465 | #define _tdirent dirent
|
---|
466 | #define _TDIR DIR
|
---|
467 | #define _topendir opendir
|
---|
468 | #define _tclosedir closedir
|
---|
469 | #define _treaddir readdir
|
---|
470 | #define _trewinddir rewinddir
|
---|
471 | #define _ttelldir telldir
|
---|
472 | #define _tseekdir seekdir
|
---|
473 |
|
---|
474 | #endif /* Not _UNICODE */
|
---|
475 |
|
---|
476 | /*
|
---|
477 | * UNICODE a constant string when _UNICODE is defined else returns the string
|
---|
478 | * unmodified. Also defined in w32api/winnt.h.
|
---|
479 | */
|
---|
480 | #define _TEXT(x) __TEXT(x)
|
---|
481 | #define _T(x) __TEXT(x)
|
---|
482 |
|
---|
483 | #endif /* Not _TCHAR_H_ */
|
---|
484 |
|
---|