1/**
  2 * This file has no copyright assigned and is placed in the Public Domain.
  3 * This file is part of the mingw-w64 runtime package.
  4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5 */
  6#ifndef _INC_TCHAR_S
  7#define _INC_TCHAR_S
  8
  9#include <tchar.h>
 10
 11#ifdef __cplusplus
 12extern "C" {
 13#endif
 14
 15#ifdef _UNICODE
 16
 17#define _tprintf_s wprintf_s
 18#define _tprintf_s_l _wprintf_s_l
 19#define _tcprintf_s _cwprintf_s
 20#define _tcprintf_s_l _cwprintf_s_l
 21#define _vtcprintf_s _vcwprintf_s
 22#define _vtcprintf_s_l _vcwprintf_s_l
 23#define _ftprintf_s fwprintf_s
 24#define _ftprintf_s_l _fwprintf_s_l
 25#define _stprintf_s swprintf_s
 26#define _stprintf_s_l _swprintf_s_l
 27#define _sntprintf_s _snwprintf_s
 28#define _sntprintf_s_l _snwprintf_s_l
 29#define _vtprintf_s vwprintf_s
 30#define _vtprintf_s_l _vwprintf_s_l
 31#define _vftprintf_s vfwprintf_s
 32#define _vftprintf_s_l _vfwprintf_s_l
 33#define _vstprintf_s vswprintf_s
 34#define _vstprintf_s_l _vswprintf_s_l
 35#define _vsntprintf_s _vsnwprintf_s
 36#define _vsntprintf_s_l _vsnwprintf_s_l
 37
 38#define _tscanf_s wscanf_s
 39#define _tscanf_s_l _wscanf_s_l
 40#define _tcscanf_s _cwscanf_s
 41#define _tcscanf_s_l _cwscanf_s_l
 42#define _ftscanf_s fwscanf_s
 43#define _ftscanf_s_l _fwscanf_s_l
 44#define _stscanf_s swscanf_s
 45#define _stscanf_s_l _swscanf_s_l
 46#define _sntscanf_s _snwscanf_s
 47#define _sntscanf_s_l _snwscanf_s_l
 48#define _vtscanf_s vwscanf_s
 49#define _vftscanf_s vfwscanf_s
 50#define _vstscanf_s vswscanf_s
 51
 52#define _cgetts_s _cgetws_s
 53#define _getts_s _getws_s
 54
 55#define _itot_s _itow_s
 56#define _ltot_s _ltow_s
 57#define _ultot_s _ultow_s
 58#define _i64tot_s _i64tow_s
 59#define _ui64tot_s _ui64tow_s
 60
 61#define _tcscat_s wcscat_s
 62#define _tcscpy_s wcscpy_s
 63#define _tcsncat_s wcsncat_s
 64#define _tcsncat_s_l _wcsncat_s_l
 65#define _tcsncpy_s wcsncpy_s
 66#define _tcsncpy_s_l _wcsncpy_s_l
 67#define _tcstok_s wcstok_s
 68#define _tcstok_s_l _wcstok_s_l
 69#define _tcserror_s _wcserror_s
 70#define __tcserror_s __wcserror_s
 71
 72#define _tcsnset_s _wcsnset_s
 73#define _tcsnset_s_l _wcsnset_s_l
 74#define _tcsset_s _wcsset_s
 75#define _tcsset_s_l _wcsset_s_l
 76
 77#define _tasctime_s _wasctime_s
 78#define _tctime_s _wctime_s
 79#define _tctime32_s _wctime32_s
 80#define _tctime64_s _wctime64_s
 81#define _tstrdate_s _wstrdate_s
 82#define _tstrtime_s _wstrtime_s
 83
 84#define _tgetenv_s _wgetenv_s
 85#define _tdupenv_s _wdupenv_s
 86#define _tdupenv_s_dbg _wdupenv_s_dbg
 87#define _tmakepath_s _wmakepath_s
 88#define _tputenv_s _wputenv_s
 89#define _tsearchenv_s _wsearchenv_s
 90#define _tsplitpath_s _wsplitpath_s
 91
 92#define _tfopen_s _wfopen_s
 93#define _tfreopen_s _wfreopen_s
 94#define _ttmpnam_s _wtmpnam_s
 95#define _taccess_s _waccess_s
 96#define _tmktemp_s _wmktemp_s
 97#define _tsopen_s _wsopen_s
 98
 99#define _tcsnccat_s wcsncat_s
100#define _tcsnccat_s_l _wcsncat_s_l
101#define _tcsnccpy_s wcsncpy_s
102#define _tcsnccpy_s_l _wcsncpy_s_l
103#define _tcsncset_s _wcsnset_s
104#define _tcsncset_s_l _wcsnset_s_l
105
106#define _tcslwr_s _wcslwr_s
107#define _tcslwr_s_l _wcslwr_s_l
108#define _tcsupr_s _wcsupr_s
109#define _tcsupr_s_l _wcsupr_s_l
110
111#define _wcstok_s_l(_String,_Delimiters,_Current_position,_Locale) (wcstok_s(_String,_Delimiters,_Current_position))
112#define _wcsnset_s_l(_Destination,_Destination_size_chars,_Value,_Count,_Locale) (_wcsnset_s(_Destination,_Destination_size_chars,_Value,_Count))
113#define _wcsset_s_l(_Destination,_Destination_size_chars,_Value,_Locale) (_wcsset_s(_Destination,_Destination_size_chars,_Value))
114
115#else
116
117#define _tprintf_s printf_s
118#define _tprintf_s_l _printf_s_l
119#define _tcprintf_s _cprintf_s
120#define _tcprintf_s_l _cprintf_s_l
121#define _vtcprintf_s _vcprintf_s
122#define _vtcprintf_s_l _vcprintf_s_l
123#define _ftprintf_s fprintf_s
124#define _ftprintf_s_l _fprintf_s_l
125#define _stprintf_s sprintf_s
126#define _stprintf_s_l _sprintf_s_l
127#define _sntprintf_s _snprintf_s
128#define _sntprintf_s_l _snprintf_s_l
129#define _vtprintf_s vprintf_s
130#define _vtprintf_s_l _vprintf_s_l
131#define _vftprintf_s vfprintf_s
132#define _vftprintf_s_l _vfprintf_s_l
133#define _vstprintf_s vsprintf_s
134#define _vstprintf_s_l _vsprintf_s_l
135#define _vsntprintf_s _vsnprintf_s
136#define _vsntprintf_s_l _vsnprintf_s_l
137#define _tscanf_s scanf_s
138#define _tscanf_s_l _scanf_s_l
139#define _tcscanf_s _cscanf_s
140#define _tcscanf_s_l _cscanf_s_l
141#define _ftscanf_s fscanf_s
142#define _ftscanf_s_l _fscanf_s_l
143#define _stscanf_s sscanf_s
144#define _stscanf_s_l _sscanf_s_l
145#define _sntscanf_s _snscanf_s
146#define _sntscanf_s_l _snscanf_s_l
147#define _vtscanf_s vscanf_s
148#define _vftscanf_s vfscanf_s
149#define _vstscanf_s vsscanf_s
150
151#define _getts_s gets_s
152#define _cgetts_s _cgets_s
153#define _itot_s _itoa_s
154#define _ltot_s _ltoa_s
155#define _ultot_s _ultoa_s
156#define _i64tot_s _i64toa_s
157#define _ui64tot_s _ui64toa_s
158
159#define _tcscat_s strcat_s
160#define _tcscpy_s strcpy_s
161#define _tcserror_s strerror_s
162#define __tcserror_s _strerror_s
163
164#define _tasctime_s asctime_s
165#define _tctime_s ctime_s
166#define _tctime32_s _ctime32_s
167#define _tctime64_s _ctime64_s
168#define _tstrdate_s _strdate_s
169#define _tstrtime_s _strtime_s
170
171#define _tgetenv_s getenv_s
172#define _tdupenv_s _dupenv_s
173#define _tdupenv_s_dbg _dupenv_s_dbg
174#define _tmakepath_s _makepath_s
175#define _tputenv_s _putenv_s
176#define _tsearchenv_s _searchenv_s
177#define _tsplitpath_s _splitpath_s
178
179#define _tfopen_s fopen_s
180#define _tfreopen_s freopen_s
181#define _ttmpnam_s tmpnam_s
182#define _tmktemp_s _mktemp_s
183
184#ifndef _POSIX_
185#define _taccess_s _access_s
186#endif
187
188#define _tsopen_s _sopen_s
189
190#ifdef _MBCS
191
192#ifdef _MB_MAP_DIRECT
193
194#define _tcsncat_s _mbsnbcat_s
195#define _tcsncat_s_l _mbsnbcat_s_l
196#define _tcsncpy_s _mbsnbcpy_s
197#define _tcsncpy_s_l _mbsnbcpy_s_l
198#define _tcstok_s _mbstok_s
199#define _tcstok_s_l _mbstok_s_l
200
201#define _tcsnset_s _mbsnbset_s
202#define _tcsnset_s_l _mbsnbset_s_l
203#define _tcsset_s _mbsset_s
204#define _tcsset_s_l _mbsset_s_l
205
206#define _tcsnccat_s _mbsncat_s
207#define _tcsnccat_s_l _mbsncat_s_l
208#define _tcsnccpy_s _mbsncpy_s
209#define _tcsnccpy_s_l _mbsncpy_s_l
210#define _tcsncset_s _mbsnset_s
211#define _tcsncset_s_l _mbsnset_s_l
212
213#define _tcslwr_s _mbslwr_s
214#define _tcslwr_s_l _mbslwr_s_l
215#define _tcsupr_s _mbsupr_s
216#define _tcsupr_s_l _mbsupr_s_l
217
218#define _tccpy_s _mbccpy_s
219#define _tccpy_s_l _mbccpy_s_l
220#else
221
222  _CRTIMP char *__cdecl _tcsncat_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount);
223  _CRTIMP char *__cdecl _tcsncat_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale);
224  _CRTIMP char *__cdecl _tcsncpy_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount);
225  _CRTIMP char *__cdecl _tcsncpy_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale);
226  _CRTIMP char *__cdecl _tcstok_s(char *_Str,const char *_Delim,char **_Context);
227  _CRTIMP char *__cdecl _tcstok_s_l(char *_Str,const char *_Delim,char **_Context,_locale_t _Locale);
228  _CRTIMP errno_t __cdecl _tcsset_s(char *_Str,size_t _SizeInChars,unsigned int _Val);
229  _CRTIMP errno_t __cdecl _tcsset_s_l(char *_Str,size_t _SizeInChars,unsigned int,_locale_t _Locale);
230  _CRTIMP char *__cdecl _tcsnccat_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount);
231  _CRTIMP char *__cdecl _tcsnccat_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale);
232  _CRTIMP char *__cdecl _tcsnccpy_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount);
233  _CRTIMP char *__cdecl _tcsnccpy_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale);
234  _CRTIMP char *__cdecl _tcsncset_s(char *_Str,size_t _SizeInChars,unsigned int _Val,size_t _MaxCount);
235  _CRTIMP char *__cdecl _tcsncset_s_l(char *_Str,size_t _SizeInChars,unsigned int _Val,size_t _MaxCount,_locale_t _Locale);
236  _CRTIMP char *__cdecl _tcslwr_s(char *_Str,size_t _SizeInChars);
237  _CRTIMP char *__cdecl _tcslwr_s_l(char *_Str,size_t _SizeInChars,_locale_t _Locale);
238  _CRTIMP char *__cdecl _tcsupr_s(char *_Str,size_t _SizeInChars);
239  _CRTIMP char *__cdecl _tcsupr_s_l(char *_Str,size_t _SizeInChars,_locale_t _Locale);
240#endif
241
242#else
243
244#define _tcsncat_s strncat_s
245#define _tcsncat_s_l _strncat_s_l
246#define _tcsncpy_s strncpy_s
247#define _tcsncpy_s_l _strncpy_s_l
248#define _tcstok_s strtok_s
249#define _tcstok_s_l _strtok_s_l
250
251#define _tcsnset_s _strnset_s
252#define _tcsnset_s_l _strnset_s_l
253#define _tcsset_s _strset_s
254#define _tcsset_s _strset_s
255#define _tcsset_s_l _strset_s_l
256
257#define _tcsnccat_s strncat_s
258#define _tcsnccat_s_l _strncat_s_l
259#define _tcsnccpy_s strncpy_s
260#define _tcsnccpy_s_l _strncpy_s_l
261#define _tcsncset_s _strnset_s
262#define _tcsncset_s_l _strnset_s_l
263
264#define _tcslwr_s _strlwr_s
265#define _tcslwr_s_l _strlwr_s_l
266#define _tcsupr_s _strupr_s
267#define _tcsupr_s_l _strupr_s_l
268
269#define _strnset_s_l(_Destination,_Destination_size_chars,_Value,_Count,_Locale) (_strnset_s(_Destination,_Destination_size_chars,_Value,_Count))
270#define _strset_s_l(_Destination,_Destination_size_chars,_Value,_Locale) (_strset_s(_Destination,_Destination_size_chars,_Value))
271#endif
272#endif
273
274#ifdef __cplusplus
275}
276#endif
277#endif