- Provide lobby provider COM object header file and stub implementation
[wine.git] / include / tchar.h
blob475a5646986ee08dc76750baf2610f9e4bf298cc
1 #ifndef __WINE_TCHAR_H
2 #define __WINE_TCHAR_H
4 #include "windef.h"
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
10 /*****************************************************************************
11 * tchar routines
13 #define _strdec(start,current) (start<current?((char*)current)-1:NULL)
14 #define _strinc(current) (((char*)current)+1)
15 /* FIXME: _strncnt and strncnt are missing */
16 /* FIXME: _strspnp is not implemented */
19 /*****************************************************************************
20 * tchar mappings
22 #ifndef _UNICODE
23 #include <string.h>
24 #ifndef _MBCS
25 #define WINE_tchar_routine(std,mbcs,unicode) std
26 #else /* _MBCS defined */
27 #define WINE_tchar_routine(std,mbcs,unicode) mbcs
28 #endif
29 #else /* _UNICODE defined */
30 #define WINE_tchar_routine(std,mbcs,unicode) unicode
31 #endif
33 #define WINE_tchar_true(a) (1)
34 #define WINE_tchar_false(a) (0)
35 #define WINE_tchar_tclen(a) (1)
36 #define WINE_tchar_tccpy(a,b) do { *(a)=*(b); } while (0)
38 #define _fgettc WINE_tchar_routine(fgetc, fgetc, fgetwc)
39 #define _fgettchar WINE_tchar_routine(fgetchar, fgetchar, _fgetwchar)
40 #define _fgetts WINE_tchar_routine(fgets, fgets, fgetws)
41 #define _fputtc WINE_tchar_routine(fputc, fputc, fputwc)
42 #define _fputtchar WINE_tchar_routine(fputchar, fputchar, _fputwchar)
43 #define _fputts WINE_tchar_routine(fputs, fputs, fputws)
44 #define _ftprintf WINE_tchar_routine(fprintf, fprintf, fwprintf)
45 #define _ftscanf WINE_tchar_routine(fscanf, fscanf, fwscanf)
46 #define _gettc WINE_tchar_routine(getc, getc, getwc)
47 #define _gettchar WINE_tchar_routine(getchar, getchar, getwchar)
48 #define _getts WINE_tchar_routine(gets, gets, getws)
49 #define _isalnum WINE_tchar_routine(isalnum, _ismbcalnum, iswalnum)
50 #define _istalpha WINE_tchar_routine(isalpha, _ismbcalpha, iswalpha)
51 #define _istascii WINE_tchar_routine(__isascii, __isascii, iswascii)
52 #define _istcntrl WINE_tchar_routine(iscntrl, iscntrl, iswcntrl)
53 #define _istdigit WINE_tchar_routine(isdigit, _ismbcdigit, iswdigit)
54 #define _istgraph WINE_tchar_routine(isgraph, _ismbcgraph, iswgraph)
55 #define _istlead WINE_tchar_routine(WINE_tchar_false,_ismbblead, WINE_tchar_false)
56 #define _istleadbyte WINE_tchar_routine(WINE_tchar_false,isleadbyte, WINE_tchar_false)
57 #define _istlegal WINE_tchar_routine(WINE_tchar_true, _ismbclegal, WINE_tchar_true)
58 #define _istlower WINE_tchar_routine(islower, _ismbcslower,iswlower)
59 #define _istprint WINE_tchar_routine(isprint, _ismbcprint, iswprint)
60 #define _istpunct WINE_tchar_routine(ispunct, _ismbcpunct, iswpunct)
61 #define _istspace WINE_tchar_routine(isspace, _ismbcspace, iswspace)
62 #define _istupper WINE_tchar_routine(isupper, _ismbcupper, iswupper)
63 #define _istxdigit WINE_tchar_routine(isxdigit, isxdigit, iswxdigit)
64 #define _itot WINE_tchar_routine(_itoa, _itoa, _itow)
65 #define _ltot WINE_tchar_routine(_ltoa, _ltoa, _ltow)
66 #define _puttc WINE_tchar_routine(putc, putc, putwc)
67 #define _puttchar WINE_tchar_routine(putchar, putchar, putwchar)
68 #define _putts WINE_tchar_routine(puts, puts, putws)
69 #define _tmain WINE_tchar_routine(main, main, wmain)
70 #define _sntprintf WINE_tchar_routine(sprintf, sprintf, swprintf)
71 #define _stprintf WINE_tchar_routine(sprintf, sprintf, swprintf)
72 #define _stscanf WINE_tchar_routine(sscanf, sscanf, swscanf)
73 #define _taccess WINE_tchar_routine(_access, _access, _waccess)
74 #define _tasctime WINE_tchar_routine(asctime, asctime, _wasctime)
75 #define _tccpy WINE_tchar_routine(WINE_tchar_tccpy,_mbccpy, WINE_tchar_tccpy)
76 #define _tchdir WINE_tchar_routine(_chdir, _chdir, _wchdir)
77 #define _tclen WINE_tchar_routine(WINE_tchar_tclen,_mbclen, WINE_tchar_tclen)
78 #define _tchmod WINE_tchar_routine(_chmod, _chmod, _wchmod)
79 #define _tcreat WINE_tchar_routine(_creat, _creat, _wcreat)
80 #define _tcscat WINE_tchar_routine(strcat, _mbscat, wcscat)
81 #define _tcschr WINE_tchar_routine(strchr, _mbschr, wcschr)
82 #define _tcsclen WINE_tchar_routine(strlen, _mbslen, wcslen)
83 #define _tcscmp WINE_tchar_routine(strcmp, _mbscmp, wcscmp)
84 #define _tcscoll WINE_tchar_routine(strcoll, _mbscoll, wcscoll)
85 #define _tcscpy WINE_tchar_routine(strcpy, _mbscpy, wcscpy)
86 #define _tcscspn WINE_tchar_routine(strcspn, _mbscspn, wcscspn)
87 #define _tcsdec WINE_tchar_routine(_strdec, _mbsdec, _wcsdec)
88 #define _tcsdup WINE_tchar_routine(_strdup, _mbsdup, _wcsdup)
89 #define _tcsftime WINE_tchar_routine(strftime, strftime, wcsftime)
90 #define _tcsicmp WINE_tchar_routine(_stricmp, _mbsicmp, _wcsicmp)
91 #define _tcsicoll WINE_tchar_routine(_stricoll, _stricoll, _wcsicoll)
92 #define _tcsinc WINE_tchar_routine(_strinc, _mbsinc, _wcsinc)
93 #define _tcslen WINE_tchar_routine(strlen, strlen, wcslen)
94 #define _tcslwr WINE_tchar_routine(_strlwr, _mbslwr, _wcslwr)
95 #define _tcsnbcnt WINE_tchar_routine(_strncnt, _mbsnbcnt, _wcnscnt)
96 #define _tcsncat WINE_tchar_routine(strncat, _mbsnbcat, wcsncat)
97 #define _tcsnccat WINE_tchar_routine(strncat, _mbsncat, wcsncat)
98 #define _tcsncmp WINE_tchar_routine(strncmp, _mbsnbcmp, wcsncmp)
99 #define _tcsnccmp WINE_tchar_routine(strncmp, _mbsncmp, wcsncmp)
100 #define _tcsnccnt WINE_tchar_routine(_strncnt, _mbsnccnt, _wcsncnt)
101 #define _tcsnccpy WINE_tchar_routine(strncpy, _mbsncpy, wcsncpy)
102 #define _tcsncicmp WINE_tchar_routine(_strnicmp, _mbsnicmp, _wcsnicmp)
103 #define _tcsncpy WINE_tchar_routine(strncpy, _mbsnbcpy, wcsncpy)
104 #define _tcsncset WINE_tchar_routine(_strnset, _mbsnset, _wcsnset)
105 #define _tcsnextc WINE_tchar_routine(_strnextc, _mbsnextc, _wcsnextc)
106 #define _tcsnicmp WINE_tchar_routine(_strnicmp, _mbsnicmp, _wcsnicmp)
107 #define _tcsnicoll WINE_tchar_routine(_strnicoll, _strnicoll _wcsnicoll)
108 #define _tcsninc WINE_tchar_routine(_strninc, _mbsninc, _wcsninc)
109 #define _tcsnccnt WINE_tchar_routine(_strncnt, _mbsnccnt, _wcsncnt)
110 #define _tcsnset WINE_tchar_routine(_strnset, _mbsnbset, _wcsnset)
111 #define _tcspbrk WINE_tchar_routine(strpbrk, _mbspbrk, wcspbrk)
112 #define _tcsspnp WINE_tchar_routine(_strspnp, _mbsspnp, _wcsspnp)
113 #define _tcsrchr WINE_tchar_routine(strrchr, _mbsrchr, wcsrchr)
114 #define _tcsrev WINE_tchar_routine(_strrev, _mbsrev, _wcsrev)
115 #define _tcsset WINE_tchar_routine(_strset, _mbsset, _wcsset)
116 #define _tcsspn WINE_tchar_routine(strspn, _mbsspn, wcsspn)
117 #define _tcsstr WINE_tchar_routine(strstr, _mbsstr, wcsstr)
118 #define _tcstod WINE_tchar_routine(strtod, strtod, wcstod)
119 #define _tcstok WINE_tchar_routine(strtok, _mbstok, wcstok)
120 #define _tcstol WINE_tchar_routine(strtol, strtol, wcstol)
121 #define _tcstoul WINE_tchar_routine(strtoul, strtoul, wcstoul)
122 #define _tcsupr WINE_tchar_routine(_strupr, _mbsupr, _wcsupr)
123 #define _tcsxfrm WINE_tchar_routine(strxfrm, strxfrm, wcsxfrm)
124 #define _tctime WINE_tchar_routine(ctime, ctime, _wctime)
125 #define _texecl WINE_tchar_routine(_execl, _execl, _wexecl)
126 #define _texecle WINE_tchar_routine(_execle, _execle, _wexecle)
127 #define _texeclp WINE_tchar_routine(_execlp, _execlp, _wexeclp)
128 #define _texeclpe WINE_tchar_routine(_execlpe, _execlpe, _wexeclpe)
129 #define _texecv WINE_tchar_routine(_execv, _execv, _wexecv)
130 #define _texecve WINE_tchar_routine(_execve, _execve, _wexecve)
131 #define _texecvp WINE_tchar_routine(_execvp, _execvp, _wexecvp)
132 #define _texecvpe WINE_tchar_routine(_execvpe, _execvpe, _wexecvpe)
133 #define _tfdopen WINE_tchar_routine(_fdopen, _fdopen, _wfdopen)
134 #define _tfinddata_t WINE_tchar_routine(_finddata_t, _finddata_t, _wfinddata_t)
135 #define _tfinddatai64_t WINE_tchar_routine(_finddatai64_t,_finddatai64_t,_wfinddatai64_t)
136 #define _tfindfirst WINE_tchar_routine(_findfirst, _findfirst, _wfindfirst)
137 #define _tfindnext WINE_tchar_routine(_findnext, _findnext, _wfindnext)
138 #define _tfopen WINE_tchar_routine(fopen, fopen, _wfopen)
139 #define _tfreopen WINE_tchar_routine(freopen, freopen, _wfreopen)
140 #define _tfsopen WINE_tchar_routine(_fsopen, _fsopen, _wfsopen)
141 #define _tfullpath WINE_tchar_routine(_fullpath, _fullpath, _wfullpath)
142 #define _tgetcwd WINE_tchar_routine(_getcwd, _getcwd, _wgetcwd)
143 #define _tgetenv WINE_tchar_routine(getenv, getenv, _wgetenv)
144 #define _tmain WINE_tchar_routine(main, main, wmain)
145 #define _tmakepath WINE_tchar_routine(_makepath, _makepath, _wmakepath)
146 #define _tmkdir WINE_tchar_routine(_mkdir, _mkdir, _wmkdir)
147 #define _tmktemp WINE_tchar_routine(_mktemp, _mktemp, _wmktemp)
148 #define _tperror WINE_tchar_routine(perror, perror, _wperror)
149 #define _topen WINE_tchar_routine(_open, _open, _wopen)
150 #define _totlower WINE_tchar_routine(tolower, _mbctolower, towlower)
151 #define _totupper WINE_tchar_routine(toupper, _mbctoupper, towupper)
152 #define _tpopen WINE_tchar_routine(_popen, _popen, _wpopen)
153 #define _tprintf WINE_tchar_routine(printf, printf, wprintf)
154 #define _tremove WINE_tchar_routine(remove, remove, _wremove)
155 #define _trename WINE_tchar_routine(rename, rename, _wrename)
156 #define _trmdir WINE_tchar_routine(_rmdir, _rmdir, _wrmdir)
157 #define _tsearchenv WINE_tchar_routine(_searchenv, _searchenv, _wsearchenv)
158 #define _tscanf WINE_tchar_routine(scanf, scanf, wscanf)
159 #define _tsetlocale WINE_tchar_routine(setlocale, setlocale, _wsetlocale)
160 #define _tsopen WINE_tchar_routine(_sopen, _sopen, _wsopen)
161 #define _tspawnl WINE_tchar_routine(_spawnl, _spawnl, _wspawnl)
162 #define _tspawnle WINE_tchar_routine(_spawnle, _spawnle, _wspawnle)
163 #define _tspawnlp WINE_tchar_routine(_spawnlp, _spawnlp, _wspawnlp)
164 #define _tspawnlpe WINE_tchar_routine(_spawnlpe, _spawnlpe, _wspawnlpe)
165 #define _tspawnv WINE_tchar_routine(_spawnv, _spawnv, _wspawnv)
166 #define _tspawnve WINE_tchar_routine(_spawnve, _spawnve, _wspawnve)
167 #define _tspawnvp WINE_tchar_routine(_spawnvp, _spawnvp, _tspawnvp)
168 #define _tspawnvpe WINE_tchar_routine(_spawnvpe, _spawnvpe, _tspawnvpe)
169 #define _tsplitpath WINE_tchar_routine(_splitpath, _splitpath, _wsplitpath)
170 #define _tstat WINE_tchar_routine(_stat, _stat, _wstat)
171 #define _tstrdate WINE_tchar_routine(_strdate, _strdate, _wstrdate)
172 #define _tstrtime WINE_tchar_routine(_strtime, _strtime, _wstrtime)
173 #define _tsystem WINE_tchar_routine(system, system, _wsystem)
174 #define _ttempnam WINE_tchar_routine(_tempnam, _tempnam, _wtempnam)
175 #define _ttmpnam WINE_tchar_routine(tmpnam, tmpnam, _wtmpnam)
176 #define _ttoi WINE_tchar_routine(atoi, atoi, _wtoi)
177 #define _ttol WINE_tchar_routine(atol, atol, _wtol)
178 #define _tutime WINE_tchar_routine(_utime, _utime, _wutime)
179 #define _tWinMain WINE_tchar_routine(WinMain, WinMain, wWinMain)
180 #define _ultot WINE_tchar_routine(_ultoa, _ultoa, _ultow)
181 #define _ungettc WINE_tchar_routine(ungetc, ungetc, ungetwc)
182 #define _vftprintf WINE_tchar_routine(vfprintf, vfprintf, vfwprintf)
183 #define _vsntprintf WINE_tchar_routine(_vsnprintf, _vsnprintf, _vsnwprintf)
184 #define _vstprintf WINE_tchar_routine(vsprintf, vsprintf, vswprintf)
185 #define _vtprintf WINE_tchar_routine(vprintf, vprintf, vwprintf)
186 #define _TEOF WINE_tchar_routine(EOF, EOF, WEOF)
188 #define __T(x) __TEXT(x)
189 #define _T(x) __T(x)
190 #define _TEXT(x) __T(x)
192 typedef CHAR _TCHARA;
193 typedef WCHAR _TCHARW;
194 DECL_WINELIB_TYPE_AW(_TCHAR)
195 typedef UCHAR _TUCHARA;
196 typedef WCHAR _TUCHARW;
197 DECL_WINELIB_TYPE_AW(_TUCHAR)
199 #ifdef __cplusplus
200 } /* extern "C" */
201 #endif
203 #endif /* __WINE_TCHAR_H */