xref: /reactos/sdk/include/crt/sec_api/tchar_s.h (revision 4561998a)
1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the w64 mingw-runtime package.
4  * No warranty is given; refer to the file DISCLAIMER within this package.
5  */
6 
7 #ifndef _INC_TCHAR_S
8 #define _INC_TCHAR_S
9 
10 #include <tchar.h>
11 
12 #if defined(MINGW_HAS_SECURE_API)
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #ifdef _UNICODE
19 
20 #define _tprintf_s wprintf_s
21 #define _tprintf_s_l _wprintf_s_l
22 #define _tcprintf_s _cwprintf_s
23 #define _tcprintf_s_l _cwprintf_s_l
24 #define _vtcprintf_s _vcwprintf_s
25 #define _vtcprintf_s_l _vcwprintf_s_l
26 #define _ftprintf_s fwprintf_s
27 #define _ftprintf_s_l _fwprintf_s_l
28 #define _stprintf_s swprintf_s
29 #define _stprintf_s_l _swprintf_s_l
30 #define _sntprintf_s _snwprintf_s
31 #define _sntprintf_s_l _snwprintf_s_l
32 #define _vtprintf_s vwprintf_s
33 #define _vtprintf_s_l _vwprintf_s_l
34 #define _vftprintf_s vfwprintf_s
35 #define _vftprintf_s_l _vfwprintf_s_l
36 #define _vstprintf_s vswprintf_s
37 #define _vstprintf_s_l _vswprintf_s_l
38 #define _vsntprintf_s _vsnwprintf_s
39 #define _vsntprintf_s_l _vsnwprintf_s_l
40 
41 #define _tscanf_s wscanf_s
42 #define _tscanf_s_l _wscanf_s_l
43 #define _tcscanf_s _cwscanf_s
44 #define _tcscanf_s_l _cwscanf_s_l
45 #define _ftscanf_s fwscanf_s
46 #define _ftscanf_s_l _fwscanf_s_l
47 #define _stscanf_s swscanf_s
48 #define _stscanf_s_l _swscanf_s_l
49 #define _sntscanf_s _snwscanf_s
50 #define _sntscanf_s_l _snwscanf_s_l
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 _tmakepath_s _wmakepath_s
87 #define _tputenv_s _wputenv_s
88 #define _tsearchenv_s _wsearchenv_s
89 #define _tsplitpath_s _wsplitpath_s
90 
91 #define _tfopen_s _wfopen_s
92 #define _tfreopen_s _wfreopen_s
93 #define _ttmpnam_s _wtmpnam_s
94 #define _taccess_s _waccess_s
95 #define _tmktemp_s _wmktemp_s
96 
97 #define _tcsnccat_s wcsncat_s
98 #define _tcsnccat_s_l _wcsncat_s_l
99 #define _tcsnccpy_s wcsncpy_s
100 #define _tcsnccpy_s_l _wcsncpy_s_l
101 
102 #define _tcslwr_s _wcslwr_s
103 #define _tcslwr_s_l _wcslwr_s_l
104 #define _tcsupr_s _wcsupr_s
105 #define _tcsupr_s_l _wcsupr_s_l
106 
107 #define _wcstok_s_l(_String,_Delimiters,_Current_position,_Locale) (wcstok_s(_String,_Delimiters,_Current_position))
108 #define _wcsnset_s_l(_Destination,_Destination_size_chars,_Value,_Count,_Locale) (_wcsnset_s(_Destination,_Destination_size_chars,_Value,_Count))
109 #define _wcsset_s_l(_Destination,_Destination_size_chars,_Value,_Locale) (_wcsset_s(_Destination,_Destination_size_chars,_Value))
110 
111 #else /* _UNICODE */
112 
113 #define _tprintf_s printf_s
114 #define _tprintf_s_l _printf_s_l
115 #define _tcprintf_s _cprintf_s
116 #define _tcprintf_s_l _cprintf_s_l
117 #define _vtcprintf_s _vcprintf_s
118 #define _vtcprintf_s_l _vcprintf_s_l
119 #define _ftprintf_s fprintf_s
120 #define _ftprintf_s_l _fprintf_s_l
121 #define _stprintf_s sprintf_s
122 #define _stprintf_s_l _sprintf_s_l
123 #define _sntprintf_s _snprintf_s
124 #define _sntprintf_s_l _snprintf_s_l
125 #define _vtprintf_s vprintf_s
126 #define _vtprintf_s_l _vprintf_s_l
127 #define _vftprintf_s vfprintf_s
128 #define _vftprintf_s_l _vfprintf_s_l
129 #define _vstprintf_s vsprintf_s
130 #define _vstprintf_s_l _vsprintf_s_l
131 #define _vsntprintf_s _vsnprintf_s
132 #define _vsntprintf_s_l _vsnprintf_s_l
133 #define _tscanf_s scanf_s
134 #define _tscanf_s_l _scanf_s_l
135 #define _tcscanf_s _cscanf_s
136 #define _tcscanf_s_l _cscanf_s_l
137 #define _ftscanf_s fscanf_s
138 #define _ftscanf_s_l _fscanf_s_l
139 #define _stscanf_s sscanf_s
140 #define _stscanf_s_l _sscanf_s_l
141 #define _sntscanf_s _snscanf_s
142 #define _sntscanf_s_l _snscanf_s_l
143 
144 #define _getts_s gets_s
145 #define _cgetts_s _cgets_s
146 #define _itot_s _itoa_s
147 #define _ltot_s _ltoa_s
148 #define _ultot_s _ultoa_s
149 #define _i64tot_s _i64toa_s
150 #define _ui64tot_s _ui64toa_s
151 
152 #define _tcscat_s strcat_s
153 #define _tcscpy_s strcpy_s
154 #define _tcserror_s strerror_s
155 #define __tcserror_s _strerror_s
156 
157 #define _tasctime_s asctime_s
158 #define _tctime_s ctime_s
159 #define _tctime32_s _ctime32_s
160 #define _tctime64_s _ctime64_s
161 #define _tstrdate_s _strdate_s
162 #define _tstrtime_s _strtime_s
163 
164 #define _tgetenv_s getenv_s
165 #define _tdupenv_s _dupenv_s
166 #define _tmakepath_s _makepath_s
167 #define _tputenv_s _putenv_s
168 #define _tsearchenv_s _searchenv_s
169 #define _tsplitpath_s _splitpath_s
170 
171 #define _tfopen_s fopen_s
172 #define _tfreopen_s freopen_s
173 #define _ttmpnam_s tmpnam_s
174 #define _tmktemp_s _mktemp_s
175 
176 #ifndef _POSIX_
177 #define _taccess_s _access_s
178 #endif
179 
180 #define _tsopen_s _sopen_s
181 
182 #ifdef _MBCS
183 
184 #ifdef _MB_MAP_DIRECT
185 
186 #define _tcsncat_s _mbsnbcat_s
187 #define _tcsncat_s_l _mbsnbcat_s_l
188 #define _tcsncpy_s _mbsnbcpy_s
189 #define _tcsncpy_s_l _mbsnbcpy_s_l
190 #define _tcstok_s _mbstok_s
191 #define _tcstok_s_l _mbstok_s_l
192 
193 #define _tcsnset_s _mbsnbset_s
194 #define _tcsnset_s_l _mbsnbset_s_l
195 #define _tcsset_s _mbsset_s
196 #define _tcsset_s_l _mbsset_s_l
197 
198 #define _tcsnccat_s _mbsncat_s
199 #define _tcsnccat_s_l _mbsncat_s_l
200 #define _tcsnccpy_s _mbsncpy_s
201 #define _tcsnccpy_s_l _mbsncpy_s_l
202 #define _tcsncset_s _mbsnset_s
203 #define _tcsncset_s_l _mbsnset_s_l
204 
205 #define _tcslwr_s _mbslwr_s
206 #define _tcslwr_s_l _mbslwr_s_l
207 #define _tcsupr_s _mbsupr_s
208 #define _tcsupr_s_l _mbsupr_s_l
209 
210 #define _tccpy_s _mbccpy_s
211 #define _tccpy_s_l _mbccpy_s_l
212 
213 #else /* _MB_MAP_DIRECT */
214 
215   _CRTIMP
216   char *
217   __cdecl
218   _tcsncat_s(
219     _Inout_updates_z_(_DstSizeInChars) char *_Dst,
220     _In_ size_t _DstSizeInChars,
221     _In_z_ const char *_Src,
222     _In_ size_t _MaxCount);
223 
224   _CRTIMP
225   char *
226   __cdecl
227   _tcsncat_s_l(
228     _Inout_updates_z_(_DstSizeInChars) char *_Dst,
229     _In_ size_t _DstSizeInChars,
230     _In_z_ const char *_Src,
231     _In_ size_t _MaxCount,
232     _In_opt_ _locale_t _Locale);
233 
234   _CRTIMP
235   char *
236   __cdecl
237   _tcsncpy_s(
238     _Out_writes_(_DstSizeInChars) char *_Dst,
239     _In_ size_t _DstSizeInChars,
240     _In_z_ const char *_Src,
241     _In_ size_t _MaxCount);
242 
243   _CRTIMP
244   char *
245   __cdecl
246   _tcsncpy_s_l(
247     _Out_writes_(_DstSizeInChars) char *_Dst,
248     _In_ size_t _DstSizeInChars,
249     _In_z_ const char *_Src,
250     _In_ size_t _MaxCount,
251     _In_opt_ _locale_t _Locale);
252 
253   _Check_return_
254   _CRTIMP
255   char *
256   __cdecl
257   _tcstok_s(
258     _Inout_opt_ char *_Str,
259     _In_z_ const char *_Delim,
260     _Inout_ _Deref_prepost_opt_z_ char **_Context);
261 
262   _Check_return_
263   _CRTIMP
264   char *
265   __cdecl
266   _tcstok_s_l(
267     _Inout_opt_ char *_Str,
268     _In_z_ const char *_Delim,
269     _Inout_ _Deref_prepost_opt_z_ char **_Context,
270     _In_opt_ _locale_t _Locale);
271 
272   _Check_return_wat_
273   _CRTIMP
274   errno_t
275   __cdecl
276   _tcsset_s(
277     _Inout_updates_z_(_SizeInChars) char *_Str,
278     _In_ size_t _SizeInChars,
279     _In_ unsigned int _Val);
280 
281   _Check_return_wat_
282   _CRTIMP
283   errno_t
284   __cdecl
285   _tcsset_s_l(
286     _Inout_updates_z_(_SizeInChars) char *_Str,
287     _In_ size_t _SizeInChars,
288     _In_ unsigned int,
289     _In_opt_ _locale_t _Locale);
290 
291   _CRTIMP
292   char *
293   __cdecl
294   _tcsnccat_s(
295     _Inout_updates_z_(_DstSizeInChars) char *_Dst,
296     _In_ size_t _DstSizeInChars,
297     _In_z_ const char *_Src,
298     _In_ size_t _MaxCount);
299 
300   _CRTIMP
301   char *
302   __cdecl
303   _tcsnccat_s_l(
304     _Inout_updates_z_(_DstSizeInChars) char *_Dst,
305     _In_ size_t _DstSizeInChars,
306     _In_z_ const char *_Src,
307     _In_ size_t _MaxCount,
308     _In_opt_ _locale_t _Locale);
309 
310   _CRTIMP
311   char *
312   __cdecl
313   _tcsnccpy_s(
314     _Out_writes_(_DstSizeInChars) char *_Dst,
315     _In_ size_t _DstSizeInChars,
316     _In_z_ const char *_Src,
317     _In_ size_t _MaxCount);
318 
319   _CRTIMP
320   char *
321   __cdecl
322   _tcsnccpy_s_l(
323     _Out_writes_(_DstSizeInChars) char *_Dst,
324     _In_ size_t _DstSizeInChars,
325     _In_z_ const char *_Src,
326     _In_ size_t _MaxCount,
327     _In_opt_ _locale_t _Locale);
328 
329   _CRTIMP
330   char *
331   __cdecl
332   _tcslwr_s(
333     _Inout_updates_z_(_SizeInChars) char *_Str,
334     _In_ size_t _SizeInChars);
335 
336   _CRTIMP
337   char *
338   __cdecl
339   _tcslwr_s_l(
340     _Inout_updates_z_(_SizeInChars) char *_Str,
341     _In_ size_t _SizeInChars,
342     _In_opt_ _locale_t _Locale);
343 
344   _CRTIMP
345   char *
346   __cdecl
347   _tcsupr_s(
348     _Inout_updates_z_(_SizeInChars) char *_Str,
349     _In_ size_t _SizeInChars);
350 
351   _CRTIMP
352   char *
353   __cdecl
354   _tcsupr_s_l(
355     _Inout_updates_z_(_SizeInChars) char *_Str,
356     _In_ size_t _SizeInChars,
357     _In_opt_ _locale_t _Locale);
358 
359 #endif /* _MB_MAP_DIRECT */
360 
361 #else /* _MBCS */
362 
363 #define _tcsncat_s strncat_s
364 #define _tcsncat_s_l _strncat_s_l
365 #define _tcsncpy_s strncpy_s
366 #define _tcsncpy_s_l _strncpy_s_l
367 #define _tcstok_s strtok_s
368 #define _tcstok_s_l _strtok_s_l
369 
370 #define _tcsnset_s _strnset_s
371 #define _tcsnset_s_l _strnset_s_l
372 #define _tcsset_s _strset_s
373 #define _tcsset_s _strset_s
374 #define _tcsset_s_l _strset_s_l
375 
376 #define _tcsnccat_s strncat_s
377 #define _tcsnccat_s_l _strncat_s_l
378 #define _tcsnccpy_s strncpy_s
379 #define _tcsnccpy_s_l _strncpy_s_l
380 
381 #define _tcslwr_s _strlwr_s
382 #define _tcslwr_s_l _strlwr_s_l
383 #define _tcsupr_s _strupr_s
384 #define _tcsupr_s_l _strupr_s_l
385 
386 #define _strnset_s_l(_Destination,_Destination_size_chars,_Value,_Count,_Locale) (_strnset_s(_Destination,_Destination_size_chars,_Value,_Count))
387 #define _strset_s_l(_Destination,_Destination_size_chars,_Value,_Locale) (_strset_s(_Destination,_Destination_size_chars,_Value))
388 
389 #endif /* _MBCS */
390 
391 #endif /* _UNICODE */
392 
393 #ifdef __cplusplus
394 }
395 #endif
396 
397 #endif /* MINGW_HAS_SECURE_API */
398 
399 #endif /* _INC_TCHAR_S */
400