source: trunk/include/win/tchar.h@ 1036

Last change on this file since 1036 was 970, checked in by sandervl, 26 years ago

Header changes for win32 apps compiled in OS/2

File size: 15.2 KB
Line 
1/* $Id: tchar.h,v 1.2 1999-09-18 15:55:45 sandervl Exp $ */
2
3#ifndef __WINE_TCHAR_H
4#define __WINE_TCHAR_H
5
6#include "windef.h"
7
8#ifndef __WIN32OS2__
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14/* FIXME: this should be in direct.h but since it's a standard C library include (on some systems)... */
15#define _chdir chdir
16#define _rmdir rmdir
17
18/* FIXME: this should be in io.h but I believe it's a standard include on some systems... */
19/* would need unistd.h */
20#define _access access
21/* would need sys/stat.h */
22#define _chmod chmod
23/* would need fcntl.h */
24#define _creat creat
25#define _open open
26/* FIXME: we need _S_IWRITE, _O_CREAT ... */
27/* FIXME: _fsopen is not implemented */
28#define sopen _sopen
29/* FIXME: _sopen is not implemented */
30
31/* FIXME: this should be in stdio.h but since it's a standard C library include... */
32#define fgetchar getchar
33#define fputchar putchar
34#define _popen popen
35#define _tempnam tempnam
36#define _vsnprintf vsnprintf
37
38/* FIXME: this should be in stdlib.h but since it's a standard C library include... */
39/* FIXME: itoa and ltoa are missing */
40/* FIXME: _makepath is not implemented */
41/* FIXME: _searchenv is not implemented */
42/* FIXME: _splitpath is not implemented */
43
44/* FIXME: this should be in string.h but since it's a standard C library include... */
45#define _stricmp strcasecmp
46#define _strcmpi strcasecmp
47#define strcmpi strcasecmp
48#define _strnicmp strncasecmp
49#define strnicmp strncasecmp
50#define _strdup strdup
51/* FIXME: stricoll is not implemented but strcasecmp is probably close enough in most cases */
52#define _stricoll strcasecmp
53#define stricoll _stricoll
54#define strlwr _strlwr
55char *_strlwr(char *string);
56#define strnset _strnset
57/* FIXME: _strnset is not implemented */
58#define strrev _strrev
59char *_strrev(char *string);
60#define strset _strset
61/* FIXME: _strset is not implemented */
62#define strupr _strupr
63char *_strupr(char *string);
64#define ultoa _ultoa
65/* FIXME: _ultoa is not implemented */
66
67/* FIXME: this should be in sys/stat.h but since it's a standard C library include... */
68#define _stat stat
69
70/* FIXME: this should be in time.h but since it's a standard C library include... */
71/* FIXME: _strdate is not implemented */
72/* FIXME: _strtime is not implemented */
73
74/* FIXME: this should be in utime.h but since it's a standard C library include... */
75#define _utime utime
76
77
78/*****************************************************************************
79 * tchar routines
80 */
81#define _strdec(start,current) (start<current?(current)-1:NULL)
82#define _strinc(current) ((current)+1)
83/* FIXME: _strncnt ans strncnt are missing */
84/* FIXME: _strspnp is not implemented */
85
86
87/*****************************************************************************
88 * tchar mappings
89 */
90#ifndef _UNICODE
91#include <string.h>
92#ifndef _MBCS
93#define WINE_tchar_routine(std,mbcs,unicode) std
94#else /* _MBCS defined */
95#define WINE_tchar_routine(std,mbcs,unicode) mbcs
96#endif
97#else /* _UNICODE defined */
98#define WINE_tchar_routine(std,mbcs,unicode) unicode
99#endif
100
101#define WINE_tchar_true(a) (1)
102#define WINE_tchar_false(a) (0)
103#define WINE_tchar_tclen(a) (1)
104#define WINE_tchar_tccpy(a,b) do { *(a)=*(b); } while (0)
105
106#define _fgettc WINE_tchar_routine(fgetc, fgetc, fgetwc)
107#define _fgettchar WINE_tchar_routine(fgetchar, fgetchar, _fgetwchar)
108#define _fgetts WINE_tchar_routine(fgets, fgets, fgetws)
109#define _fputtc WINE_tchar_routine(fputc, fputc, fputwc)
110#define _fputtchar WINE_tchar_routine(fputchar, fputchar, _fputwchar)
111#define _fputts WINE_tchar_routine(fputs, fputs, fputws)
112#define _ftprintf WINE_tchar_routine(fprintf, fprintf, fwprintf)
113#define _ftscanf WINE_tchar_routine(fscanf, fscanf, fwscanf)
114#define _gettc WINE_tchar_routine(getc, getc, getwc)
115#define _gettchar WINE_tchar_routine(getchar, getchar, getwchar)
116#define _getts WINE_tchar_routine(gets, gets, getws)
117#define _isalnum WINE_tchar_routine(isalnum, _ismbcalnum, iswalnum)
118#define _istalpha WINE_tchar_routine(isalpha, _ismbcalpha, iswalpha)
119#define _istascii WINE_tchar_routine(__isascii, __isascii, iswascii)
120#define _istcntrl WINE_tchar_routine(iscntrl, iscntrl, iswcntrl)
121#define _istdigit WINE_tchar_routine(isdigit, _ismbcdigit, iswdigit)
122#define _istgraph WINE_tchar_routine(isgraph, _ismbcgraph, iswgraph)
123#define _istlead WINE_tchar_routine(WINE_tchar_false,_ismbblead, WINE_tchar_false)
124#define _istleadbyte WINE_tchar_routine(WINE_tchar_false,isleadbyte, WINE_tchar_false)
125#define _istlegal WINE_tchar_routine(WINE_tchar_true, _ismbclegal, WINE_tchar_true)
126#define _istlower WINE_tchar_routine(islower, _ismbcslower,iswlower)
127#define _istprint WINE_tchar_routine(isprint, _ismbcprint, iswprint)
128#define _istpunct WINE_tchar_routine(ispunct, _ismbcpunct, iswpunct)
129#define _istspace WINE_tchar_routine(isspace, _ismbcspace, iswspace)
130#define _istupper WINE_tchar_routine(isupper, _ismbcupper, iswupper)
131#define _istxdigit WINE_tchar_routine(isxdigit, isxdigit, iswxdigit)
132#define _itot WINE_tchar_routine(_itoa, _itoa, _itow)
133#define _ltot WINE_tchar_routine(_ltoa, _ltoa, _ltow)
134#define _puttc WINE_tchar_routine(putc, putc, putwc)
135#define _puttchar WINE_tchar_routine(putchar, putchar, putwchar)
136#define _putts WINE_tchar_routine(puts, puts, putws)
137#define _tmain WINE_tchar_routine(main, main, wmain)
138#define _sntprintf WINE_tchar_routine(sprintf, sprintf, swprintf)
139#define _stprintf WINE_tchar_routine(sprintf, sprintf, swprintf)
140#define _stscanf WINE_tchar_routine(sscanf, sscanf, swscanf)
141#define _taccess WINE_tchar_routine(_access, _access, _waccess)
142#define _tasctime WINE_tchar_routine(asctime, asctime, _wasctime)
143#define _tccpy WINE_tchar_routine(WINE_tchar_tccpy,_mbccpy, WINE_tchar_tccpy)
144#define _tchdir WINE_tchar_routine(_chdir, _chdir, _wchdir)
145#define _tclen WINE_tchar_routine(WINE_tchar_tclen,_mbclen, WINE_tchar_tclen)
146#define _tchmod WINE_tchar_routine(_chmod, _chmod, _wchmod)
147#define _tcreat WINE_tchar_routine(_creat, _creat, _wcreat)
148#define _tcscat WINE_tchar_routine(strcat, _mbscat, wcscat)
149#define _tcschr WINE_tchar_routine(strchr, _mbschr, wcschr)
150#define _tcsclen WINE_tchar_routine(strlen, _mbslen, wcslen)
151#define _tcscmp WINE_tchar_routine(strcmp, _mbscmp, wcscmp)
152#define _tcscoll WINE_tchar_routine(strcoll, _mbscoll, wcscoll)
153#define _tcscpy WINE_tchar_routine(strcpy, _mbscpy, wcscpy)
154#define _tcscspn WINE_tchar_routine(strcspn, _mbscspn, wcscspn)
155#define _tcsdec WINE_tchar_routine(_strdec, _mbsdec, _wcsdec)
156#define _tcsdup WINE_tchar_routine(_strdup, _mbsdup, _wcsdup)
157#define _tcsftime WINE_tchar_routine(strftime, strftime, wcsftime)
158#define _tcsicmp WINE_tchar_routine(_stricmp, _mbsicmp, _wcsicmp)
159#define _tcsicoll WINE_tchar_routine(_stricoll, _stricoll, _wcsicoll)
160#define _tcsinc WINE_tchar_routine(_strinc, _mbsinc, _wcsinc)
161#define _tcslen WINE_tchar_routine(strlen, strlen, wcslen)
162#define _tcslwr WINE_tchar_routine(_strlwr, _mbslwr, _wcslwr)
163#define _tcsnbcnt WINE_tchar_routine(_strncnt, _mbsnbcnt, _wcnscnt)
164#define _tcsncat WINE_tchar_routine(strncat, _mbsnbcat, wcsncat)
165#define _tcsnccat WINE_tchar_routine(strncat, _mbsncat, wcsncat)
166#define _tcsncmp WINE_tchar_routine(strncmp, _mbsnbcmp, wcsncmp)
167#define _tcsnccmp WINE_tchar_routine(strncmp, _mbsncmp, wcsncmp)
168#define _tcsnccnt WINE_tchar_routine(_strncnt, _mbsnccnt, _wcsncnt)
169#define _tcsnccpy WINE_tchar_routine(strncpy, _mbsncpy, wcsncpy)
170#define _tcsncicmp WINE_tchar_routine(_strnicmp, _mbsnicmp, _wcsnicmp)
171#define _tcsncpy WINE_tchar_routine(strncpy, _mbsnbcpy, wcsncpy)
172#define _tcsncset WINE_tchar_routine(_strnset, _mbsnset, _wcsnset)
173#define _tcsnextc WINE_tchar_routine(_strnextc, _mbsnextc, _wcsnextc)
174#define _tcsnicmp WINE_tchar_routine(_strnicmp, _mbsnicmp, _wcsnicmp)
175#define _tcsnicoll WINE_tchar_routine(_strnicoll, _strnicoll _wcsnicoll)
176#define _tcsninc WINE_tchar_routine(_strninc, _mbsninc, _wcsninc)
177#define _tcsnccnt WINE_tchar_routine(_strncnt, _mbsnccnt, _wcsncnt)
178#define _tcsnset WINE_tchar_routine(_strnset, _mbsnbset, _wcsnset)
179#define _tcspbrk WINE_tchar_routine(strpbrk, _mbspbrk, wcspbrk)
180#define _tcsspnp WINE_tchar_routine(_strspnp, _mbsspnp, _wcsspnp)
181#define _tcsrchr WINE_tchar_routine(strrchr, _mbsrchr, wcsrchr)
182#define _tcsrev WINE_tchar_routine(_strrev, _mbsrev, _wcsrev)
183#define _tcsset WINE_tchar_routine(_strset, _mbsset, _wcsset)
184#define _tcsspn WINE_tchar_routine(strspn, _mbsspn, wcsspn)
185#define _tcsstr WINE_tchar_routine(strstr, _mbsstr, wcsstr)
186#define _tcstod WINE_tchar_routine(strtod, strtod, wcstod)
187#define _tcstok WINE_tchar_routine(strtok, _mbstok, wcstok)
188#define _tcstol WINE_tchar_routine(strtol, strtol, wcstol)
189#define _tcstoul WINE_tchar_routine(strtoul, strtoul, wcstoul)
190#define _tcsupr WINE_tchar_routine(_strupr, _mbsupr, _wcsupr)
191#define _tcsxfrm WINE_tchar_routine(strxfrm, strxfrm, wcsxfrm)
192#define _tctime WINE_tchar_routine(ctime, ctime, _wctime)
193#define _texecl WINE_tchar_routine(_execl, _execl, _wexecl)
194#define _texecle WINE_tchar_routine(_execle, _execle, _wexecle)
195#define _texeclp WINE_tchar_routine(_execlp, _execlp, _wexeclp)
196#define _texeclpe WINE_tchar_routine(_execlpe, _execlpe, _wexeclpe)
197#define _texecv WINE_tchar_routine(_execv, _execv, _wexecv)
198#define _texecve WINE_tchar_routine(_execve, _execve, _wexecve)
199#define _texecvp WINE_tchar_routine(_execvp, _execvp, _wexecvp)
200#define _texecvpe WINE_tchar_routine(_execvpe, _execvpe, _wexecvpe)
201#define _tfdopen WINE_tchar_routine(_fdopen, _fdopen, _wfdopen)
202#define _tfindfirst WINE_tchar_routine(_findfirst, _findfirst, _wfindfirst)
203#define _tfindnext WINE_tchar_routine(_findnext, _findnext, _wfindnext)
204#define _tfopen WINE_tchar_routine(fopen, fopen, _wfopen)
205#define _tfreopen WINE_tchar_routine(freopen, freopen, _wfreopen)
206#define _tfsopen WINE_tchar_routine(_fsopen, _fsopen, _wfsopen)
207#define _tfullpath WINE_tchar_routine(_fullpath, _fullpath, _wfullpath)
208#define _tgetcwd WINE_tchar_routine(_getcwd, _getcwd, _wgetcwd)
209#define _tgetenv WINE_tchar_routine(getenv, getenv, _wgetenv)
210#define _tmain WINE_tchar_routine(main, main, wmain)
211#define _tmakepath WINE_tchar_routine(_makepath, _makepath, _wmakepath)
212#define _tmkdir WINE_tchar_routine(_mkdir, _mkdir, _wmkdir)
213#define _tmktemp WINE_tchar_routine(_mktemp, _mktemp, _wmktemp)
214#define _tperror WINE_tchar_routine(perror, perror, _wperror)
215#define _topen WINE_tchar_routine(_open, _open, _wopen)
216#define _totlower WINE_tchar_routine(tolower, _mbctolower, towlower)
217#define _totupper WINE_tchar_routine(toupper, _mbctoupper, towupper)
218#define _tpopen WINE_tchar_routine(_popen, _popen, _wpopen)
219#define _tprintf WINE_tchar_routine(printf, printf, wprintf)
220#define _tremove WINE_tchar_routine(remove, remove, _wremove)
221#define _trename WINE_tchar_routine(rename, rename, _wrename)
222#define _trmdir WINE_tchar_routine(_rmdir, _rmdir, _wrmdir)
223#define _tsearchenv WINE_tchar_routine(_searchenv, _searchenv, _wsearchenv)
224#define _tscanf WINE_tchar_routine(scanf, scanf, wscanf)
225#define _tsetlocale WINE_tchar_routine(setlocale, setlocale, _wsetlocale)
226#define _tsopen WINE_tchar_routine(_sopen, _sopen, _wsopen)
227#define _tspawnl WINE_tchar_routine(_spawnl, _spawnl, _wspawnl)
228#define _tspawnle WINE_tchar_routine(_spawnle, _spawnle, _wspawnle)
229#define _tspawnlp WINE_tchar_routine(_spawnlp, _spawnlp, _wspawnlp)
230#define _tspawnlpe WINE_tchar_routine(_spawnlpe, _spawnlpe, _wspawnlpe)
231#define _tspawnv WINE_tchar_routine(_spawnv, _spawnv, _wspawnv)
232#define _tspawnve WINE_tchar_routine(_spawnve, _spawnve, _wspawnve)
233#define _tspawnvp WINE_tchar_routine(_spawnvp, _spawnvp, _tspawnvp)
234#define _tspawnvpe WINE_tchar_routine(_spawnvpe, _spawnvpe, _tspawnvpe)
235#define _tsplitpath WINE_tchar_routine(_splitpath, _splitpath, _wsplitpath)
236#define _tstat WINE_tchar_routine(_stat, _stat, _wstat)
237#define _tstrdate WINE_tchar_routine(_strdate, _strdate, _wstrdate)
238#define _tstrtime WINE_tchar_routine(_strtime, _strtime, _wstrtime)
239#define _tsystem WINE_tchar_routine(system, system, _wsystem)
240#define _ttempnam WINE_tchar_routine(_tempnam, _tempnam, _wtempnam)
241#define _ttmpnam WINE_tchar_routine(tmpnam, tmpnam, _wtmpnam)
242#define _ttoi WINE_tchar_routine(atoi, atoi, _wtoi)
243#define _ttol WINE_tchar_routine(atol, atol, _wtol)
244#define _tutime WINE_tchar_routine(_utime, _utime, _wutime)
245#define _tWinMain WINE_tchar_routine(WinMain, WinMain, wWinMain)
246#define _ultot WINE_tchar_routine(_ultoa, _ultoa, _ultow)
247#define _ungettc WINE_tchar_routine(ungetc, ungetc, ungetwc)
248#define _vftprintf WINE_tchar_routine(vfprintf, vfprintf, vfwprintf)
249#define _vsntprintf WINE_tchar_routine(_vsnprintf, _vsnprintf, _vsnwprintf)
250#define _vstprintf WINE_tchar_routine(vsprintf, vsprintf, vswprintf)
251#define _vtprintf WINE_tchar_routine(vprintf, vprintf, vwprintf)
252
253#define _T(x) __T(x)
254#define _TEXT(x) __T(x)
255#define __T(x) x
256
257#endif //__WIN32OS2__
258
259typedef CHAR _TCHARA;
260typedef WCHAR _TCHARW;
261DECL_WINELIB_TYPE_AW (_TCHAR)
262typedef UCHAR _TUCHARA;
263typedef WCHAR _TUCHARW;
264DECL_WINELIB_TYPE_AW (_TUCHAR)
265typedef CHAR TCHARA, *PTCHARA;
266typedef WCHAR TCHARW, *PTCHARW;
267DECL_WINELIB_TYPE_AW (TCHAR)
268DECL_WINELIB_TYPE_AW (PTCHAR)
269typedef LPWSTR PTSTRW, LPTSTRW;
270typedef LPSTR PTSTRA, LPTSTRA;
271DECL_WINELIB_TYPE_AW (PTSTR)
272//DECL_WINELIB_TYPE_AW (LPTSTR)
273
274#ifdef __cplusplus
275} /* extern "C" */
276#endif
277
278#endif /* __WINE_TCHAR_H */
Note: See TracBrowser for help on using the repository browser.