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