3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) 1998 Francois Gouget
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef __WINE_TCHAR_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __WINE_TCHAR_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef __WINESRC__
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#error Wine should not include tchar.h internally
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(_UNICODE) || defined(_MBCS)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#error You must use msvcrt when building in Unicode/MBCS mode
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef __cplusplus
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncextern "C" {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * tchar routines
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _strdec(start,current) ((start)<(current) ? ((char*)(current))-1 : NULL)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _strinc(current) (((char*)(current))+1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _strncnt(str,max) (strlen(str)>(max) ? (max) : strlen(str))
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _strnextc(str) ((unsigned int)*(str))
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _strninc(str,n) (((char*)(str))+(n))
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _strspnp(s1,s2) (*((s1)+=strspn((s1),(s2))) ? (s1) : NULL)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * tchar mappings
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef _UNICODE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# ifndef _MBCS
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# include <string.h>
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define WINE_tchar_routine(std,mbcs,unicode) std
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# include <mbstring.h>
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define WINE_tchar_routine(std,mbcs,unicode) mbcs
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else /* _UNICODE */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# include <wchar.h>
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define WINE_tchar_routine(std,mbcs,unicode) unicode
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WINE_tchar_true(a) (1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WINE_tchar_false(a) (0)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WINE_tchar_tclen(a) (1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WINE_tchar_tccpy(a,b) do { *(a)=*(b); } while (0)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __targv WINE_tchar_routine(__argv, __argv, __wargv)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _fgettc WINE_tchar_routine(fgetc, fgetc, fgetwc)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _fgettchar WINE_tchar_routine(fgetchar, fgetchar, _fgetwchar)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _fgetts WINE_tchar_routine(fgets, fgets, fgetws)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _fputtc WINE_tchar_routine(fputc, fputc, fputwc)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _fputtchar WINE_tchar_routine(fputchar, fputchar, _fputwchar)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _fputts WINE_tchar_routine(fputs, fputs, fputws)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _ftprintf WINE_tchar_routine(fprintf, fprintf, fwprintf)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _ftscanf WINE_tchar_routine(fscanf, fscanf, fwscanf)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _gettc WINE_tchar_routine(getc, getc, getwc)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _gettchar WINE_tchar_routine(getchar, getchar, getwchar)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _getts WINE_tchar_routine(gets, gets, getws)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _isalnum WINE_tchar_routine(isalnum, _ismbcalnum, iswalnum)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istalpha WINE_tchar_routine(isalpha, _ismbcalpha, iswalpha)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istascii WINE_tchar_routine(isascii, __isascii, iswascii)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istcntrl WINE_tchar_routine(iscntrl, iscntrl, iswcntrl)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istdigit WINE_tchar_routine(isdigit, _ismbcdigit, iswdigit)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istgraph WINE_tchar_routine(isgraph, _ismbcgraph, iswgraph)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istlead WINE_tchar_routine(WINE_tchar_false,_ismbblead, WINE_tchar_false)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istleadbyte WINE_tchar_routine(WINE_tchar_false,isleadbyte, WINE_tchar_false)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istlegal WINE_tchar_routine(WINE_tchar_true, _ismbclegal, WINE_tchar_true)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istlower WINE_tchar_routine(islower, _ismbcslower,iswlower)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istprint WINE_tchar_routine(isprint, _ismbcprint, iswprint)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istpunct WINE_tchar_routine(ispunct, _ismbcpunct, iswpunct)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istspace WINE_tchar_routine(isspace, _ismbcspace, iswspace)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istupper WINE_tchar_routine(isupper, _ismbcupper, iswupper)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _istxdigit WINE_tchar_routine(isxdigit, isxdigit, iswxdigit)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _itot WINE_tchar_routine(_itoa, _itoa, _itow)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _ltot WINE_tchar_routine(_ltoa, _ltoa, _ltow)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _puttc WINE_tchar_routine(putc, putc, putwc)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _puttchar WINE_tchar_routine(putchar, putchar, putwchar)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _putts WINE_tchar_routine(puts, puts, putws)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _sntprintf WINE_tchar_routine(snprintf, snprintf, snwprintf)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _stprintf WINE_tchar_routine(sprintf, sprintf, swprintf)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _stscanf WINE_tchar_routine(sscanf, sscanf, swscanf)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _taccess WINE_tchar_routine(access, _access, _waccess)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tasctime WINE_tchar_routine(asctime, asctime, _wasctime)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tccpy WINE_tchar_routine(WINE_tchar_tccpy,_mbccpy, WINE_tchar_tccpy)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tchdir WINE_tchar_routine(chdir, _chdir, _wchdir)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tclen WINE_tchar_routine(WINE_tchar_tclen,_mbclen, WINE_tchar_tclen)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tchmod WINE_tchar_routine(chmod, _chmod, _wchmod)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcreat WINE_tchar_routine(creat, _creat, _wcreat)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcscat WINE_tchar_routine(strcat, _mbscat, wcscat)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcschr WINE_tchar_routine(strchr, _mbschr, wcschr)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsclen WINE_tchar_routine(strlen, _mbslen, wcslen)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcscmp WINE_tchar_routine(strcmp, _mbscmp, wcscmp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcscoll WINE_tchar_routine(strcoll, _mbscoll, wcscoll)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcscpy WINE_tchar_routine(strcpy, _mbscpy, wcscpy)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcscspn WINE_tchar_routine(strcspn, _mbscspn, wcscspn)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsdec WINE_tchar_routine(_strdec, _mbsdec, _wcsdec)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsdup WINE_tchar_routine(strdup, _mbsdup, _wcsdup)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsftime WINE_tchar_routine(strftime, strftime, wcsftime)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsicmp WINE_tchar_routine(strcasecmp, _mbsicmp, _wcsicmp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsicoll WINE_tchar_routine(_stricoll, _stricoll, _wcsicoll)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsinc WINE_tchar_routine(_strinc, _mbsinc, _wcsinc)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcslen WINE_tchar_routine(strlen, strlen, wcslen)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcslwr WINE_tchar_routine(_strlwr, _mbslwr, _wcslwr)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsnbcnt WINE_tchar_routine(_strncnt, _mbsnbcnt, _wcnscnt)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsncat WINE_tchar_routine(strncat, _mbsnbcat, wcsncat)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsnccat WINE_tchar_routine(strncat, _mbsncat, wcsncat)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsncmp WINE_tchar_routine(strncmp, _mbsnbcmp, wcsncmp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsnccmp WINE_tchar_routine(strncmp, _mbsncmp, wcsncmp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsnccnt WINE_tchar_routine(_strncnt, _mbsnccnt, _wcsncnt)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsnccpy WINE_tchar_routine(strncpy, _mbsncpy, wcsncpy)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsncicmp WINE_tchar_routine(_strnicmp, _mbsnicmp, _wcsnicmp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsncpy WINE_tchar_routine(strncpy, _mbsnbcpy, wcsncpy)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsncset WINE_tchar_routine(_strnset, _mbsnset, _wcsnset)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsnextc WINE_tchar_routine(_strnextc, _mbsnextc, _wcsnextc)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsnicmp WINE_tchar_routine(_strnicmp, _mbsnicmp, _wcsnicmp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsnicoll WINE_tchar_routine(_strnicoll, _strnicoll _wcsnicoll)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsninc WINE_tchar_routine(_strninc, _mbsninc, _wcsninc)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsnccnt WINE_tchar_routine(_strncnt, _mbsnccnt, _wcsncnt)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsnset WINE_tchar_routine(_strnset, _mbsnbset, _wcsnset)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcspbrk WINE_tchar_routine(strpbrk, _mbspbrk, wcspbrk)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsspnp WINE_tchar_routine(_strspnp, _mbsspnp, _wcsspnp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsrchr WINE_tchar_routine(strrchr, _mbsrchr, wcsrchr)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsrev WINE_tchar_routine(_strrev, _mbsrev, _wcsrev)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsset WINE_tchar_routine(_strset, _mbsset, _wcsset)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsspn WINE_tchar_routine(strspn, _mbsspn, wcsspn)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsstr WINE_tchar_routine(strstr, _mbsstr, wcsstr)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcstod WINE_tchar_routine(strtod, strtod, wcstod)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcstok WINE_tchar_routine(strtok, _mbstok, wcstok)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcstol WINE_tchar_routine(strtol, strtol, wcstol)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcstoul WINE_tchar_routine(strtoul, strtoul, wcstoul)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsupr WINE_tchar_routine(_strupr, _mbsupr, _wcsupr)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tcsxfrm WINE_tchar_routine(strxfrm, strxfrm, wcsxfrm)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tctime WINE_tchar_routine(ctime, ctime, _wctime)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tenviron WINE_tchar_routine(_environ, _environ, _wenviron)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _texecl WINE_tchar_routine(execl, _execl, _wexecl)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _texecle WINE_tchar_routine(execle, _execle, _wexecle)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _texeclp WINE_tchar_routine(execlp, _execlp, _wexeclp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _texeclpe WINE_tchar_routine(execlpe, _execlpe, _wexeclpe)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _texecv WINE_tchar_routine(execv, _execv, _wexecv)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _texecve WINE_tchar_routine(execve, _execve, _wexecve)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _texecvp WINE_tchar_routine(execvp, _execvp, _wexecvp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _texecvpe WINE_tchar_routine(execvpe, _execvpe, _wexecvpe)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tfdopen WINE_tchar_routine(fdopen, _fdopen, _wfdopen)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tfinddata_t WINE_tchar_routine(_finddata_t, _finddata_t, _wfinddata_t)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tfinddatai64_t WINE_tchar_routine(_finddatai64_t,_finddatai64_t,_wfinddatai64_t)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tfindfirst WINE_tchar_routine(_findfirst, _findfirst, _wfindfirst)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tfindnext WINE_tchar_routine(_findnext, _findnext, _wfindnext)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tfopen WINE_tchar_routine(fopen, fopen, _wfopen)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tfreopen WINE_tchar_routine(freopen, freopen, _wfreopen)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tfsopen WINE_tchar_routine(_fsopen, _fsopen, _wfsopen)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tfullpath WINE_tchar_routine(_fullpath, _fullpath, _wfullpath)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tgetcwd WINE_tchar_routine(getcwd, _getcwd, _wgetcwd)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tgetenv WINE_tchar_routine(getenv, getenv, _wgetenv)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tmain WINE_tchar_routine(main, main, wmain)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tmakepath WINE_tchar_routine(_makepath, _makepath, _wmakepath)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tmkdir WINE_tchar_routine(mkdir, _mkdir, _wmkdir)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tmktemp WINE_tchar_routine(mktemp, _mktemp, _wmktemp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tperror WINE_tchar_routine(perror, perror, _wperror)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _topen WINE_tchar_routine(open, _open, _wopen)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _totlower WINE_tchar_routine(tolower, _mbctolower, towlower)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _totupper WINE_tchar_routine(toupper, _mbctoupper, towupper)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tpopen WINE_tchar_routine(popen, _popen, _wpopen)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tprintf WINE_tchar_routine(printf, printf, wprintf)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tremove WINE_tchar_routine(remove, remove, _wremove)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _trename WINE_tchar_routine(rename, rename, _wrename)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _trmdir WINE_tchar_routine(rmdir, _rmdir, _wrmdir)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tsearchenv WINE_tchar_routine(_searchenv, _searchenv, _wsearchenv)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tscanf WINE_tchar_routine(scanf, scanf, wscanf)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tsetlocale WINE_tchar_routine(setlocale, setlocale, _wsetlocale)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tsopen WINE_tchar_routine(_sopen, _sopen, _wsopen)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tspawnl WINE_tchar_routine(_spawnl, _spawnl, _wspawnl)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tspawnle WINE_tchar_routine(_spawnle, _spawnle, _wspawnle)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tspawnlp WINE_tchar_routine(_spawnlp, _spawnlp, _wspawnlp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tspawnlpe WINE_tchar_routine(_spawnlpe, _spawnlpe, _wspawnlpe)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tspawnv WINE_tchar_routine(_spawnv, _spawnv, _wspawnv)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tspawnve WINE_tchar_routine(_spawnve, _spawnve, _wspawnve)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tspawnvp WINE_tchar_routine(_spawnvp, _spawnvp, _tspawnvp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tspawnvpe WINE_tchar_routine(_spawnvpe, _spawnvpe, _tspawnvpe)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tsplitpath WINE_tchar_routine(_splitpath, _splitpath, _wsplitpath)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tstat WINE_tchar_routine(_stat, _stat, _wstat)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tstrdate WINE_tchar_routine(_strdate, _strdate, _wstrdate)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tstrtime WINE_tchar_routine(_strtime, _strtime, _wstrtime)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tsystem WINE_tchar_routine(system, system, _wsystem)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _ttempnam WINE_tchar_routine(tempnam, _tempnam, _wtempnam)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _ttmpnam WINE_tchar_routine(tmpnam, tmpnam, _wtmpnam)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _ttoi WINE_tchar_routine(atoi, atoi, _wtoi)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _ttol WINE_tchar_routine(atol, atol, _wtol)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tutime WINE_tchar_routine(utime, _utime, _wutime)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tWinMain WINE_tchar_routine(WinMain, WinMain, wWinMain)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _ultot WINE_tchar_routine(_ultoa, _ultoa, _ultow)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _ungettc WINE_tchar_routine(ungetc, ungetc, ungetwc)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _vftprintf WINE_tchar_routine(vfprintf, vfprintf, vfwprintf)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _vsntprintf WINE_tchar_routine(vsnprintf, _vsnprintf, _vsnwprintf)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _vstprintf WINE_tchar_routine(vsprintf, vsprintf, vswprintf)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _vtprintf WINE_tchar_routine(vprintf, vprintf, vwprintf)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _TEOF WINE_tchar_routine(EOF, EOF, WEOF)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __T(x) __TEXT(x)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _T(x) __T(x)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _TEXT(x) __T(x)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef _UNICODE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if !defined(_WINT_T_DEFINED) && !defined(__WINT_TYPE__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef unsigned short wint_t;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef _WCTYPE_T_DEFINED
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef unsigned short wctype_t;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _WCTYPE_T_DEFINED
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef __TCHAR_DEFINED
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef WINE_UNICODE_NATIVE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef wchar_t _TCHAR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef unsigned short _TCHAR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef _TCHAR _TUCHAR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef _TCHAR _TSCHAR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef _TCHAR _TXCHAR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef _TCHAR _TINT;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __TCHAR_DEFINED
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else /* _UNICODE */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef __TCHAR_DEFINED
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef char _TCHAR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef unsigned char _TUCHAR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef signed char _TSCHAR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef _MBCS
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef unsigned char _TXCHAR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef int _TINT;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef char _TXCHAR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef unsigned int _TINT;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef _TCHAR_DEFINED
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef _TCHAR TCHAR, *PTCHAR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _TCHAR_DEFINED
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef __cplusplus
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} /* extern "C" */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* __WINE_TCHAR_H */