| 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_WCHAR |
| 7 |
#define _INC_WCHAR |
| 8 |
|
| 9 |
#include <corecrt.h> |
| 10 |
#include <corecrt_stdio_config.h> |
| 11 |
#include <corecrt_wstdlib.h> |
| 12 |
|
| 13 |
#if __USE_MINGW_ANSI_STDIO && !defined (__USE_MINGW_STRTOX) && !defined(_CRTBLD) |
| 14 |
#define __USE_MINGW_STRTOX 1 |
| 15 |
#endif |
| 16 |
|
| 17 |
#if defined(__LIBMSVCRT__) |
| 18 |
/* When building mingw-w64, this should be blank. */ |
| 19 |
#define _SECIMP |
| 20 |
#else |
| 21 |
#ifndef _SECIMP |
| 22 |
#define _SECIMP __declspec(dllimport) |
| 23 |
#endif /* _SECIMP */ |
| 24 |
#endif /* defined(_CRTBLD) || defined(__LIBMSVCRT__) */ |
| 25 |
|
| 26 |
#pragma pack(push,_CRT_PACKING) |
| 27 |
|
| 28 |
#ifdef __cplusplus |
| 29 |
extern "C" { |
| 30 |
#endif |
| 31 |
|
| 32 |
#ifndef WCHAR_MIN /* also in stdint.h */ |
| 33 |
#define WCHAR_MIN 0U |
| 34 |
#define WCHAR_MAX 0xffffU |
| 35 |
#endif |
| 36 |
|
| 37 |
#ifndef WEOF |
| 38 |
#define WEOF (wint_t)(0xFFFF) |
| 39 |
#endif |
| 40 |
|
| 41 |
#ifndef _FILE_DEFINED |
| 42 |
struct _iobuf { |
| 43 |
char *_ptr; |
| 44 |
int _cnt; |
| 45 |
char *_base; |
| 46 |
int _flag; |
| 47 |
int _file; |
| 48 |
int _charbuf; |
| 49 |
int _bufsiz; |
| 50 |
char *_tmpfname; |
| 51 |
}; |
| 52 |
typedef struct _iobuf FILE; |
| 53 |
#define _FILE_DEFINED |
| 54 |
#endif |
| 55 |
|
| 56 |
_CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); |
| 57 |
#ifndef _STDIO_DEFINED |
| 58 |
#ifdef _WIN64 |
| 59 |
_CRTIMP FILE *__cdecl __iob_func(void); |
| 60 |
#define _iob __iob_func() |
| 61 |
#else |
| 62 |
#ifdef _MSVCRT_ |
| 63 |
extern FILE _iob[]; /* A pointer to an array of FILE */ |
| 64 |
#define __iob_func() (_iob) |
| 65 |
#else |
| 66 |
extern FILE (* __MINGW_IMP_SYMBOL(_iob))[]; /* A pointer to an array of FILE */ |
| 67 |
#define __iob_func() (* __MINGW_IMP_SYMBOL(_iob)) |
| 68 |
#endif |
| 69 |
#endif |
| 70 |
|
| 71 |
#define _iob __iob_func() |
| 72 |
#endif |
| 73 |
|
| 74 |
#ifndef _STDSTREAM_DEFINED |
| 75 |
#define stdin (__acrt_iob_func(0)) |
| 76 |
#define stdout (__acrt_iob_func(1)) |
| 77 |
#define stderr (__acrt_iob_func(2)) |
| 78 |
#define _STDSTREAM_DEFINED |
| 79 |
#endif |
| 80 |
|
| 81 |
#ifndef _FSIZE_T_DEFINED |
| 82 |
typedef unsigned long _fsize_t; |
| 83 |
#define _FSIZE_T_DEFINED |
| 84 |
#endif |
| 85 |
|
| 86 |
#ifndef _WFINDDATA_T_DEFINED |
| 87 |
struct _wfinddata32_t { |
| 88 |
unsigned attrib; |
| 89 |
__time32_t time_create; |
| 90 |
__time32_t time_access; |
| 91 |
__time32_t time_write; |
| 92 |
_fsize_t size; |
| 93 |
wchar_t name[260]; |
| 94 |
}; |
| 95 |
|
| 96 |
struct _wfinddata32i64_t { |
| 97 |
unsigned attrib; |
| 98 |
__time32_t time_create; |
| 99 |
__time32_t time_access; |
| 100 |
__time32_t time_write; |
| 101 |
__MINGW_EXTENSION __int64 size; |
| 102 |
wchar_t name[260]; |
| 103 |
}; |
| 104 |
|
| 105 |
struct _wfinddata64i32_t { |
| 106 |
unsigned attrib; |
| 107 |
__time64_t time_create; |
| 108 |
__time64_t time_access; |
| 109 |
__time64_t time_write; |
| 110 |
_fsize_t size; |
| 111 |
wchar_t name[260]; |
| 112 |
}; |
| 113 |
|
| 114 |
struct _wfinddata64_t { |
| 115 |
unsigned attrib; |
| 116 |
__time64_t time_create; |
| 117 |
__time64_t time_access; |
| 118 |
__time64_t time_write; |
| 119 |
__MINGW_EXTENSION __int64 size; |
| 120 |
wchar_t name[260]; |
| 121 |
}; |
| 122 |
/* #endif */ |
| 123 |
|
| 124 |
#ifdef _USE_32BIT_TIME_T |
| 125 |
#define _wfinddata_t _wfinddata32_t |
| 126 |
#define _wfinddatai64_t _wfinddata32i64_t |
| 127 |
|
| 128 |
#define _wfindfirst _wfindfirst32 |
| 129 |
#define _wfindnext _wfindnext32 |
| 130 |
#define _wfindfirst32i64 _wfindfirsti64 |
| 131 |
#define _wfindnext32i64 _wfindnexti64 |
| 132 |
#else |
| 133 |
#define _wfinddata_t _wfinddata64i32_t |
| 134 |
#define _wfinddatai64_t _wfinddata64_t |
| 135 |
|
| 136 |
#define _wfindfirst _wfindfirst64i32 |
| 137 |
#define _wfindnext _wfindnext64i32 |
| 138 |
#define _wfindfirsti64 _wfindfirst64 |
| 139 |
#define _wfindnexti64 _wfindnext64 |
| 140 |
#endif |
| 141 |
|
| 142 |
#define _WFINDDATA_T_DEFINED |
| 143 |
#endif |
| 144 |
|
| 145 |
#ifndef NULL |
| 146 |
#ifdef __cplusplus |
| 147 |
#ifndef _WIN64 |
| 148 |
#define NULL 0 |
| 149 |
#else |
| 150 |
#define NULL 0LL |
| 151 |
#endif /* W64 */ |
| 152 |
#else |
| 153 |
#define NULL ((void *)0) |
| 154 |
#endif |
| 155 |
#endif |
| 156 |
|
| 157 |
#ifndef _CONST_RETURN |
| 158 |
#define _CONST_RETURN |
| 159 |
#endif |
| 160 |
|
| 161 |
#define _WConst_return _CONST_RETURN |
| 162 |
|
| 163 |
#ifndef _CRT_CTYPEDATA_DEFINED |
| 164 |
#define _CRT_CTYPEDATA_DEFINED |
| 165 |
#ifndef _CTYPE_DISABLE_MACROS |
| 166 |
|
| 167 |
#ifndef __PCTYPE_FUNC |
| 168 |
#define __PCTYPE_FUNC __pctype_func() |
| 169 |
#ifdef _MSVCRT_ |
| 170 |
#define __pctype_func() (_pctype) |
| 171 |
#else |
| 172 |
#ifdef _UCRT |
| 173 |
_CRTIMP unsigned short* __pctype_func(void); |
| 174 |
#else |
| 175 |
#define __pctype_func() (* __MINGW_IMP_SYMBOL(_pctype)) |
| 176 |
#endif |
| 177 |
#endif |
| 178 |
#endif |
| 179 |
|
| 180 |
#ifndef _pctype |
| 181 |
#ifdef _MSVCRT_ |
| 182 |
extern unsigned short *_pctype; |
| 183 |
#else |
| 184 |
#ifdef _UCRT |
| 185 |
#define _pctype (__pctype_func()) |
| 186 |
#else |
| 187 |
extern unsigned short ** __MINGW_IMP_SYMBOL(_pctype); |
| 188 |
#define _pctype (* __MINGW_IMP_SYMBOL(_pctype)) |
| 189 |
#endif |
| 190 |
#endif |
| 191 |
#endif |
| 192 |
#endif |
| 193 |
#endif |
| 194 |
|
| 195 |
#ifndef _CRT_WCTYPEDATA_DEFINED |
| 196 |
#define _CRT_WCTYPEDATA_DEFINED |
| 197 |
#ifndef _CTYPE_DISABLE_MACROS |
| 198 |
#if !defined(_wctype) && defined(_CRT_USE_WINAPI_FAMILY_DESKTOP_APP) |
| 199 |
#ifdef _MSVCRT_ |
| 200 |
extern unsigned short *_wctype; |
| 201 |
#else |
| 202 |
extern unsigned short ** __MINGW_IMP_SYMBOL(_wctype); |
| 203 |
#define _wctype (* __MINGW_IMP_SYMBOL(_wctype)) |
| 204 |
#endif |
| 205 |
#endif |
| 206 |
|
| 207 |
#ifdef _MSVCRT_ |
| 208 |
#define __pwctype_func() (_pwctype) |
| 209 |
#else |
| 210 |
#define __pwctype_func() (* __MINGW_IMP_SYMBOL(_pwctype)) |
| 211 |
#endif |
| 212 |
|
| 213 |
#ifndef _pwctype |
| 214 |
#ifdef _MSVCRT_ |
| 215 |
extern unsigned short *_pwctype; |
| 216 |
#else |
| 217 |
extern unsigned short ** __MINGW_IMP_SYMBOL(_pwctype); |
| 218 |
#define _pwctype (* __MINGW_IMP_SYMBOL(_pwctype)) |
| 219 |
#endif |
| 220 |
#endif |
| 221 |
|
| 222 |
#endif |
| 223 |
#endif |
| 224 |
|
| 225 |
#define _UPPER 0x1 |
| 226 |
#define _LOWER 0x2 |
| 227 |
#define _DIGIT 0x4 |
| 228 |
#define _SPACE 0x8 |
| 229 |
|
| 230 |
#define _PUNCT 0x10 |
| 231 |
#define _CONTROL 0x20 |
| 232 |
#define _BLANK 0x40 |
| 233 |
#define _HEX 0x80 |
| 234 |
|
| 235 |
#define _LEADBYTE 0x8000 |
| 236 |
#define _ALPHA (0x0100|_UPPER|_LOWER) |
| 237 |
|
| 238 |
#ifndef _WCTYPE_DEFINED |
| 239 |
#define _WCTYPE_DEFINED |
| 240 |
|
| 241 |
int __cdecl iswalpha(wint_t _C); |
| 242 |
_CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale); |
| 243 |
int __cdecl iswupper(wint_t _C); |
| 244 |
_CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale); |
| 245 |
int __cdecl iswlower(wint_t _C); |
| 246 |
_CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale); |
| 247 |
int __cdecl iswdigit(wint_t _C); |
| 248 |
_CRTIMP int __cdecl _iswdigit_l(wint_t _C,_locale_t _Locale); |
| 249 |
int __cdecl iswxdigit(wint_t _C); |
| 250 |
_CRTIMP int __cdecl _iswxdigit_l(wint_t _C,_locale_t _Locale); |
| 251 |
int __cdecl iswspace(wint_t _C); |
| 252 |
_CRTIMP int __cdecl _iswspace_l(wint_t _C,_locale_t _Locale); |
| 253 |
int __cdecl iswpunct(wint_t _C); |
| 254 |
_CRTIMP int __cdecl _iswpunct_l(wint_t _C,_locale_t _Locale); |
| 255 |
int __cdecl iswalnum(wint_t _C); |
| 256 |
_CRTIMP int __cdecl _iswalnum_l(wint_t _C,_locale_t _Locale); |
| 257 |
int __cdecl iswprint(wint_t _C); |
| 258 |
_CRTIMP int __cdecl _iswprint_l(wint_t _C,_locale_t _Locale); |
| 259 |
int __cdecl iswgraph(wint_t _C); |
| 260 |
_CRTIMP int __cdecl _iswgraph_l(wint_t _C,_locale_t _Locale); |
| 261 |
int __cdecl iswcntrl(wint_t _C); |
| 262 |
_CRTIMP int __cdecl _iswcntrl_l(wint_t _C,_locale_t _Locale); |
| 263 |
int __cdecl iswascii(wint_t _C); |
| 264 |
#ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP |
| 265 |
int __cdecl isleadbyte(int _C); |
| 266 |
_CRTIMP int __cdecl _isleadbyte_l(int _C,_locale_t _Locale); |
| 267 |
#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ |
| 268 |
wint_t __cdecl towupper(wint_t _C); |
| 269 |
_CRTIMP wint_t __cdecl _towupper_l(wint_t _C,_locale_t _Locale); |
| 270 |
wint_t __cdecl towlower(wint_t _C); |
| 271 |
_CRTIMP wint_t __cdecl _towlower_l(wint_t _C,_locale_t _Locale); |
| 272 |
int __cdecl iswctype(wint_t _C,wctype_t _Type); |
| 273 |
#if __MSVCRT_VERSION__ >= 0x800 |
| 274 |
_CRTIMP int __cdecl _iswctype_l(wint_t _C,wctype_t _Type,_locale_t _Locale); |
| 275 |
_CRTIMP int __cdecl __iswcsymf(wint_t _C); |
| 276 |
_CRTIMP int __cdecl _iswcsymf_l(wint_t _C,_locale_t _Locale); |
| 277 |
_CRTIMP int __cdecl __iswcsym(wint_t _C); |
| 278 |
_CRTIMP int __cdecl _iswcsym_l(wint_t _C,_locale_t _Locale); |
| 279 |
#endif |
| 280 |
#ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP |
| 281 |
int __cdecl is_wctype(wint_t _C,wctype_t _Type); |
| 282 |
#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ |
| 283 |
|
| 284 |
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES) || defined (__cplusplus) |
| 285 |
int __cdecl iswblank(wint_t _C); |
| 286 |
#endif |
| 287 |
|
| 288 |
#endif |
| 289 |
|
| 290 |
#ifndef _WDIRECT_DEFINED |
| 291 |
#define _WDIRECT_DEFINED |
| 292 |
|
| 293 |
_CRTIMP wchar_t *__cdecl _wgetcwd(wchar_t *_DstBuf,int _SizeInWords); |
| 294 |
_CRTIMP wchar_t *__cdecl _wgetdcwd(int _Drive,wchar_t *_DstBuf,int _SizeInWords); |
| 295 |
#if __MSVCRT_VERSION__ >= 0x800 |
| 296 |
wchar_t *__cdecl _wgetdcwd_nolock(int _Drive,wchar_t *_DstBuf,int _SizeInWords); |
| 297 |
#endif |
| 298 |
_CRTIMP int __cdecl _wchdir(const wchar_t *_Path); |
| 299 |
_CRTIMP int __cdecl _wmkdir(const wchar_t *_Path); |
| 300 |
_CRTIMP int __cdecl _wrmdir(const wchar_t *_Path); |
| 301 |
#endif |
| 302 |
|
| 303 |
#ifndef _WIO_DEFINED |
| 304 |
#define _WIO_DEFINED |
| 305 |
|
| 306 |
_CRTIMP int __cdecl _waccess(const wchar_t *_Filename,int _AccessMode); |
| 307 |
_CRTIMP int __cdecl _wchmod(const wchar_t *_Filename,int _Mode); |
| 308 |
_CRTIMP int __cdecl _wcreat(const wchar_t *_Filename,int _PermissionMode) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 309 |
_CRTIMP intptr_t __cdecl _wfindfirst32(const wchar_t *_Filename,struct _wfinddata32_t *_FindData); |
| 310 |
_CRTIMP int __cdecl _wfindnext32(intptr_t _FindHandle,struct _wfinddata32_t *_FindData); |
| 311 |
_CRTIMP int __cdecl _wunlink(const wchar_t *_Filename); |
| 312 |
_CRTIMP int __cdecl _wrename(const wchar_t *_OldFilename,const wchar_t *_NewFilename); |
| 313 |
_CRTIMP wchar_t *__cdecl _wmktemp(wchar_t *_TemplateName) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 314 |
_CRTIMP intptr_t __cdecl _wfindfirst32i64(const wchar_t *_Filename,struct _wfinddata32i64_t *_FindData); |
| 315 |
intptr_t __cdecl _wfindfirst64i32(const wchar_t *_Filename,struct _wfinddata64i32_t *_FindData); |
| 316 |
_CRTIMP intptr_t __cdecl _wfindfirst64(const wchar_t *_Filename,struct _wfinddata64_t *_FindData); |
| 317 |
_CRTIMP int __cdecl _wfindnext32i64(intptr_t _FindHandle,struct _wfinddata32i64_t *_FindData); |
| 318 |
int __cdecl _wfindnext64i32(intptr_t _FindHandle,struct _wfinddata64i32_t *_FindData); |
| 319 |
_CRTIMP int __cdecl _wfindnext64(intptr_t _FindHandle,struct _wfinddata64_t *_FindData); |
| 320 |
_CRTIMP errno_t __cdecl _wsopen_s(int *_FileHandle,const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,int _PermissionFlag); |
| 321 |
_CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 322 |
_CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 323 |
#endif |
| 324 |
|
| 325 |
#ifndef _WLOCALE_DEFINED |
| 326 |
#define _WLOCALE_DEFINED |
| 327 |
_CRTIMP wchar_t *__cdecl _wsetlocale(int _Category,const wchar_t *_Locale); |
| 328 |
#endif |
| 329 |
|
| 330 |
#ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP |
| 331 |
#ifndef _WEXEC_DEFINED |
| 332 |
#define _WEXEC_DEFINED |
| 333 |
_CRTIMP intptr_t __cdecl _wexecl(const wchar_t *_Filename,const wchar_t *_ArgList,...); |
| 334 |
_CRTIMP intptr_t __cdecl _wexecle(const wchar_t *_Filename,const wchar_t *_ArgList,...); |
| 335 |
_CRTIMP intptr_t __cdecl _wexeclp(const wchar_t *_Filename,const wchar_t *_ArgList,...); |
| 336 |
_CRTIMP intptr_t __cdecl _wexeclpe(const wchar_t *_Filename,const wchar_t *_ArgList,...); |
| 337 |
_CRTIMP intptr_t __cdecl _wexecv(const wchar_t *_Filename,const wchar_t *const *_ArgList); |
| 338 |
_CRTIMP intptr_t __cdecl _wexecve(const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); |
| 339 |
_CRTIMP intptr_t __cdecl _wexecvp(const wchar_t *_Filename,const wchar_t *const *_ArgList); |
| 340 |
_CRTIMP intptr_t __cdecl _wexecvpe(const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); |
| 341 |
#endif |
| 342 |
|
| 343 |
#ifndef _WSPAWN_DEFINED |
| 344 |
#define _WSPAWN_DEFINED |
| 345 |
_CRTIMP intptr_t __cdecl _wspawnl(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); |
| 346 |
_CRTIMP intptr_t __cdecl _wspawnle(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); |
| 347 |
_CRTIMP intptr_t __cdecl _wspawnlp(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); |
| 348 |
_CRTIMP intptr_t __cdecl _wspawnlpe(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); |
| 349 |
_CRTIMP intptr_t __cdecl _wspawnv(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList); |
| 350 |
_CRTIMP intptr_t __cdecl _wspawnve(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); |
| 351 |
_CRTIMP intptr_t __cdecl _wspawnvp(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList); |
| 352 |
_CRTIMP intptr_t __cdecl _wspawnvpe(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); |
| 353 |
#endif |
| 354 |
|
| 355 |
#ifndef _CRT_WSYSTEM_DEFINED |
| 356 |
#define _CRT_WSYSTEM_DEFINED |
| 357 |
_CRTIMP int __cdecl _wsystem(const wchar_t *_Command); |
| 358 |
#endif |
| 359 |
#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ |
| 360 |
|
| 361 |
#ifndef _WCTYPE_INLINE_DEFINED |
| 362 |
#undef _CRT_WCTYPE_NOINLINE |
| 363 |
#if !defined(__cplusplus) || defined(_CRT_WCTYPE_NOINLINE) |
| 364 |
#define iswalpha(_c) (iswctype(_c,_ALPHA)) |
| 365 |
#define iswupper(_c) (iswctype(_c,_UPPER)) |
| 366 |
#define iswlower(_c) (iswctype(_c,_LOWER)) |
| 367 |
#define iswdigit(_c) (iswctype(_c,_DIGIT)) |
| 368 |
#define iswxdigit(_c) (iswctype(_c,_HEX)) |
| 369 |
#define iswspace(_c) (iswctype(_c,_SPACE)) |
| 370 |
#define iswpunct(_c) (iswctype(_c,_PUNCT)) |
| 371 |
#define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT)) |
| 372 |
#define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT)) |
| 373 |
#define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) |
| 374 |
#define iswcntrl(_c) (iswctype(_c,_CONTROL)) |
| 375 |
#define iswascii(_c) ((unsigned)(_c) < 0x80) |
| 376 |
|
| 377 |
#define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p)) |
| 378 |
#define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p)) |
| 379 |
#define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p)) |
| 380 |
#define _iswdigit_l(_c,_p) (_iswctype_l(_c,_DIGIT,_p)) |
| 381 |
#define _iswxdigit_l(_c,_p) (_iswctype_l(_c,_HEX,_p)) |
| 382 |
#define _iswspace_l(_c,_p) (_iswctype_l(_c,_SPACE,_p)) |
| 383 |
#define _iswpunct_l(_c,_p) (_iswctype_l(_c,_PUNCT,_p)) |
| 384 |
#define _iswalnum_l(_c,_p) (_iswctype_l(_c,_ALPHA|_DIGIT,_p)) |
| 385 |
#define _iswprint_l(_c,_p) (_iswctype_l(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT,_p)) |
| 386 |
#define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p)) |
| 387 |
#define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p)) |
| 388 |
#if !defined(_CTYPE_DISABLE_MACROS) && defined(_CRT_USE_WINAPI_FAMILY_DESKTOP_APP) |
| 389 |
#define isleadbyte(_c) (__PCTYPE_FUNC[(unsigned char)(_c)] & _LEADBYTE) |
| 390 |
#endif |
| 391 |
#endif |
| 392 |
#define _WCTYPE_INLINE_DEFINED |
| 393 |
#endif |
| 394 |
|
| 395 |
#if !defined(_POSIX_) || defined(__GNUC__) |
| 396 |
#ifndef _INO_T_DEFINED |
| 397 |
#define _INO_T_DEFINED |
| 398 |
typedef unsigned short _ino_t; |
| 399 |
#ifndef NO_OLDNAMES |
| 400 |
typedef unsigned short ino_t; |
| 401 |
#endif |
| 402 |
#endif |
| 403 |
|
| 404 |
#ifndef _DEV_T_DEFINED |
| 405 |
#define _DEV_T_DEFINED |
| 406 |
typedef unsigned int _dev_t; |
| 407 |
#ifndef NO_OLDNAMES |
| 408 |
typedef unsigned int dev_t; |
| 409 |
#endif |
| 410 |
#endif |
| 411 |
|
| 412 |
#include <_mingw_off_t.h> |
| 413 |
#include <_mingw_stat64.h> |
| 414 |
|
| 415 |
#ifndef _WSTAT_DEFINED |
| 416 |
#define _WSTAT_DEFINED |
| 417 |
|
| 418 |
_CRTIMP int __cdecl _wstat32(const wchar_t *_Name,struct _stat32 *_Stat); |
| 419 |
_CRTIMP int __cdecl _wstat32i64(const wchar_t *_Name,struct _stat32i64 *_Stat); |
| 420 |
int __cdecl _wstat64i32(const wchar_t *_Name,struct _stat64i32 *_Stat); |
| 421 |
_CRTIMP int __cdecl _wstat64(const wchar_t *_Name,struct _stat64 *_Stat); |
| 422 |
#endif |
| 423 |
#endif |
| 424 |
|
| 425 |
#ifndef _WCONIO_DEFINED |
| 426 |
#define _WCONIO_DEFINED |
| 427 |
|
| 428 |
#ifndef WEOF |
| 429 |
#define WEOF (wint_t)(0xFFFF) |
| 430 |
#endif |
| 431 |
|
| 432 |
_CRTIMP wchar_t *_cgetws(wchar_t *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 433 |
_CRTIMP wint_t __cdecl _getwch(void); |
| 434 |
_CRTIMP wint_t __cdecl _getwche(void); |
| 435 |
_CRTIMP wint_t __cdecl _putwch(wchar_t _WCh); |
| 436 |
_CRTIMP wint_t __cdecl _ungetwch(wint_t _WCh); |
| 437 |
_CRTIMP int __cdecl _cputws(const wchar_t *_String); |
| 438 |
_CRTIMP int __cdecl _cwprintf(const wchar_t * __restrict__ _Format,...); |
| 439 |
_CRTIMP int __cdecl _cwscanf(const wchar_t * __restrict__ _Format,...); |
| 440 |
_CRTIMP int __cdecl _cwscanf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 441 |
_CRTIMP int __cdecl _vcwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 442 |
_CRTIMP int __cdecl _cwprintf_p(const wchar_t * __restrict__ _Format,...); |
| 443 |
_CRTIMP int __cdecl _vcwprintf_p(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 444 |
|
| 445 |
_CRTIMP int __cdecl _cwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 446 |
_CRTIMP int __cdecl _vcwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); |
| 447 |
_CRTIMP int __cdecl _cwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 448 |
_CRTIMP int __cdecl _vcwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); |
| 449 |
#if __MSVCRT_VERSION__ >= 0x800 |
| 450 |
wint_t __cdecl _putwch_nolock(wchar_t _WCh); |
| 451 |
wint_t __cdecl _getwch_nolock(void); |
| 452 |
wint_t __cdecl _getwche_nolock(void); |
| 453 |
wint_t __cdecl _ungetwch_nolock(wint_t _WCh); |
| 454 |
#endif |
| 455 |
#endif |
| 456 |
|
| 457 |
#ifdef _UCRT |
| 458 |
int __cdecl __stdio_common_vswprintf_p(unsigned __int64 _Options, wchar_t *_Str, size_t _Len, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList); |
| 459 |
int __cdecl __stdio_common_vfwprintf_p(unsigned __int64 _Options, FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList); |
| 460 |
#endif |
| 461 |
|
| 462 |
#ifndef _WSTDIO_DEFINED |
| 463 |
#define _WSTDIO_DEFINED |
| 464 |
|
| 465 |
/* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 466 |
int __cdecl __mingw_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); |
| 467 |
/* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) |
| 468 |
int __cdecl __mingw_vswscanf (const wchar_t * __restrict__ _Str,const wchar_t * __restrict__ Format,va_list argp); |
| 469 |
/* __attribute__((__format__ (gnu_wscanf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) |
| 470 |
int __cdecl __mingw_wscanf(const wchar_t * __restrict__ _Format,...); |
| 471 |
/* __attribute__((__format__ (gnu_wscanf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) |
| 472 |
int __cdecl __mingw_vwscanf(const wchar_t * __restrict__ Format, va_list argp); |
| 473 |
/* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 474 |
int __cdecl __mingw_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); |
| 475 |
/* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) |
| 476 |
int __cdecl __mingw_vfwscanf (FILE * __restrict__ fp, const wchar_t * __restrict__ Format,va_list argp); |
| 477 |
|
| 478 |
|
| 479 |
/* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 480 |
int __cdecl __mingw_fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); |
| 481 |
/* __attribute__((__format__ (gnu_wprintf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) |
| 482 |
int __cdecl __mingw_wprintf(const wchar_t * __restrict__ _Format,...); |
| 483 |
/* __attribute__((__format__ (gnu_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) |
| 484 |
int __cdecl __mingw_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 485 |
/* __attribute__((__format__ (gnu_printf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) |
| 486 |
int __cdecl __mingw_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 487 |
/* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) |
| 488 |
int __cdecl __mingw_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); |
| 489 |
/* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) |
| 490 |
int __cdecl __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); |
| 491 |
/* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 492 |
int __cdecl __mingw_swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...); |
| 493 |
/* __attribute__((__format__ (gnu_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) |
| 494 |
int __cdecl __mingw_vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list); |
| 495 |
|
| 496 |
/* __attribute__((__format__ (ms_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 497 |
int __cdecl __ms_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); |
| 498 |
/* __attribute__((__format__ (ms_wscanf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) |
| 499 |
int __cdecl __ms_wscanf(const wchar_t * __restrict__ _Format,...); |
| 500 |
/* __attribute__((__format__ (ms_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 501 |
int __cdecl __ms_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); |
| 502 |
|
| 503 |
/* __attribute__((__format__ (ms_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 504 |
int __cdecl __ms_fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); |
| 505 |
/* __attribute__((__format__ (ms_wprintf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) |
| 506 |
int __cdecl __ms_wprintf(const wchar_t * __restrict__ _Format,...); |
| 507 |
/* __attribute__((__format__ (ms_wprintf, 2, 0))) */__MINGW_ATTRIB_NONNULL(2) |
| 508 |
int __cdecl __ms_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 509 |
/*__attribute__((__format__ (ms_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) |
| 510 |
int __cdecl __ms_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 511 |
/* __attribute__((__format__ (ms_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 512 |
int __cdecl __ms_swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...); |
| 513 |
/* __attribute__((__format__ (ms_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) |
| 514 |
int __cdecl __ms_vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list); |
| 515 |
|
| 516 |
#ifdef _UCRT |
| 517 |
int __cdecl __stdio_common_vswprintf(unsigned __int64 options, wchar_t *str, size_t len, const wchar_t *format, _locale_t locale, va_list valist); |
| 518 |
int __cdecl __stdio_common_vfwprintf(unsigned __int64 options, FILE *file, const wchar_t *format, _locale_t locale, va_list valist); |
| 519 |
int __cdecl __stdio_common_vswscanf(unsigned __int64 options, const wchar_t *input, size_t length, const wchar_t *format, _locale_t locale, va_list valist); |
| 520 |
int __cdecl __stdio_common_vfwscanf(unsigned __int64 options, FILE *file, const wchar_t *format, _locale_t locale, va_list valist); |
| 521 |
#endif |
| 522 |
|
| 523 |
#undef __mingw_ovr |
| 524 |
#if defined (__GNUC__) |
| 525 |
#define __mingw_ovr static __attribute__ ((__unused__)) __inline__ __cdecl |
| 526 |
#ifdef __mingw_static_ovr |
| 527 |
#undef __mingw_static_ovr |
| 528 |
#define __mingw_static_ovr __mingw_ovr |
| 529 |
#endif |
| 530 |
#elif defined(__cplusplus) |
| 531 |
#define __mingw_ovr inline __cdecl |
| 532 |
#else |
| 533 |
#define __mingw_ovr static __cdecl |
| 534 |
#endif |
| 535 |
|
| 536 |
#if __USE_MINGW_ANSI_STDIO |
| 537 |
|
| 538 |
/* |
| 539 |
* User has expressed a preference for C99 conformance... |
| 540 |
*/ |
| 541 |
__mingw_ovr |
| 542 |
/* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 543 |
int swscanf(const wchar_t *__source, const wchar_t *__format, ...) |
| 544 |
{ |
| 545 |
int __retval; |
| 546 |
__builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); |
| 547 |
__retval = __mingw_vswscanf( __source, __format, __local_argv ); |
| 548 |
__builtin_va_end( __local_argv ); |
| 549 |
return __retval; |
| 550 |
} |
| 551 |
|
| 552 |
__mingw_ovr |
| 553 |
/* __attribute__((__format__ (gnu_wscanf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) |
| 554 |
int wscanf(const wchar_t *__format, ...) |
| 555 |
{ |
| 556 |
int __retval; |
| 557 |
__builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); |
| 558 |
__retval = __mingw_vfwscanf( stdin, __format, __local_argv ); |
| 559 |
__builtin_va_end( __local_argv ); |
| 560 |
return __retval; |
| 561 |
} |
| 562 |
|
| 563 |
__mingw_ovr |
| 564 |
/* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 565 |
int fwscanf(FILE *__stream, const wchar_t *__format, ...) |
| 566 |
{ |
| 567 |
int __retval; |
| 568 |
__builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); |
| 569 |
__retval = __mingw_vfwscanf( __stream, __format, __local_argv ); |
| 570 |
__builtin_va_end( __local_argv ); |
| 571 |
return __retval; |
| 572 |
} |
| 573 |
|
| 574 |
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ |
| 575 |
__mingw_ovr |
| 576 |
/* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) |
| 577 |
int vswscanf (const wchar_t *__source, const wchar_t *__format, __builtin_va_list __local_argv) |
| 578 |
{ |
| 579 |
return __mingw_vswscanf( __source, __format, __local_argv ); |
| 580 |
} |
| 581 |
|
| 582 |
__mingw_ovr |
| 583 |
/* __attribute__((__format__ (gnu_wscanf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) |
| 584 |
int vwscanf(const wchar_t *__format, __builtin_va_list __local_argv) |
| 585 |
{ |
| 586 |
return __mingw_vfwscanf( stdin, __format, __local_argv ); |
| 587 |
} |
| 588 |
|
| 589 |
__mingw_ovr |
| 590 |
/* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) |
| 591 |
int vfwscanf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv) |
| 592 |
{ |
| 593 |
return __mingw_vfwscanf( __stream, __format, __local_argv ); |
| 594 |
} |
| 595 |
#endif /* __NO_ISOCEXT */ |
| 596 |
|
| 597 |
|
| 598 |
|
| 599 |
__mingw_ovr |
| 600 |
/* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 601 |
int fwprintf (FILE *__stream, const wchar_t *__format, ...) |
| 602 |
{ |
| 603 |
int __retval; |
| 604 |
__builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); |
| 605 |
__retval = __mingw_vfwprintf( __stream, __format, __local_argv ); |
| 606 |
__builtin_va_end( __local_argv ); |
| 607 |
return __retval; |
| 608 |
} |
| 609 |
|
| 610 |
__mingw_ovr |
| 611 |
/* __attribute__((__format__ (gnu_wprintf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) |
| 612 |
int wprintf (const wchar_t *__format, ...) |
| 613 |
{ |
| 614 |
int __retval; |
| 615 |
__builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); |
| 616 |
__retval = __mingw_vfwprintf( stdout, __format, __local_argv ); |
| 617 |
__builtin_va_end( __local_argv ); |
| 618 |
return __retval; |
| 619 |
} |
| 620 |
|
| 621 |
__mingw_ovr |
| 622 |
/* __attribute__((__format__ (gnu_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) |
| 623 |
int vfwprintf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv) |
| 624 |
{ |
| 625 |
return __mingw_vfwprintf( __stream, __format, __local_argv ); |
| 626 |
} |
| 627 |
|
| 628 |
__mingw_ovr |
| 629 |
/* __attribute__((__format__ (gnu_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) |
| 630 |
int vwprintf (const wchar_t *__format, __builtin_va_list __local_argv) |
| 631 |
{ |
| 632 |
return __mingw_vfwprintf( stdout, __format, __local_argv ); |
| 633 |
} |
| 634 |
|
| 635 |
/*#ifndef __NO_ISOCEXT */ /* externs in libmingwex.a */ |
| 636 |
__mingw_ovr |
| 637 |
/* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) |
| 638 |
int snwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, ...) |
| 639 |
{ |
| 640 |
int __retval; |
| 641 |
__builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); |
| 642 |
__retval = __mingw_vsnwprintf( __stream, __n, __format, __local_argv ); |
| 643 |
__builtin_va_end( __local_argv ); |
| 644 |
return __retval; |
| 645 |
} |
| 646 |
|
| 647 |
__mingw_ovr |
| 648 |
/* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) |
| 649 |
int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builtin_va_list __local_argv) |
| 650 |
{ |
| 651 |
return __mingw_vsnwprintf( __stream, __n, __format, __local_argv ); |
| 652 |
} |
| 653 |
/* #endif */ /* __NO_ISOCEXT */ |
| 654 |
#else /* !__USE_MINGW_ANSI_STDIO */ |
| 655 |
|
| 656 |
#ifdef _UCRT |
| 657 |
__mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN |
| 658 |
int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) |
| 659 |
{ |
| 660 |
__builtin_va_list __ap; |
| 661 |
int __ret; |
| 662 |
__builtin_va_start(__ap, _Format); |
| 663 |
__ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _File, _Format, NULL, __ap); |
| 664 |
__builtin_va_end(__ap); |
| 665 |
return __ret; |
| 666 |
} |
| 667 |
__mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN |
| 668 |
int __cdecl swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) |
| 669 |
{ |
| 670 |
__builtin_va_list __ap; |
| 671 |
int __ret; |
| 672 |
__builtin_va_start(__ap, _Format); |
| 673 |
__ret = __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, (size_t)-1, _Format, NULL, __ap); |
| 674 |
__builtin_va_end(__ap); |
| 675 |
return __ret; |
| 676 |
} |
| 677 |
__mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN |
| 678 |
int __cdecl wscanf(const wchar_t * __restrict__ _Format,...) |
| 679 |
{ |
| 680 |
__builtin_va_list __ap; |
| 681 |
int __ret; |
| 682 |
__builtin_va_start(__ap, _Format); |
| 683 |
__ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, _Format, NULL, __ap); |
| 684 |
__builtin_va_end(__ap); |
| 685 |
return __ret; |
| 686 |
} |
| 687 |
__mingw_ovr |
| 688 |
__MINGW_ATTRIB_NONNULL(2) |
| 689 |
int vfwscanf (FILE *__stream, const wchar_t *__format, va_list __local_argv) |
| 690 |
{ |
| 691 |
return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, __stream, __format, NULL, __local_argv); |
| 692 |
} |
| 693 |
|
| 694 |
__mingw_ovr |
| 695 |
__MINGW_ATTRIB_NONNULL(2) |
| 696 |
int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, va_list __local_argv) |
| 697 |
{ |
| 698 |
return __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, __source, (size_t)-1, __format, NULL, __local_argv); |
| 699 |
} |
| 700 |
__mingw_ovr |
| 701 |
__MINGW_ATTRIB_NONNULL(1) |
| 702 |
int vwscanf(const wchar_t *__format, va_list __local_argv) |
| 703 |
{ |
| 704 |
return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, __format, NULL, __local_argv); |
| 705 |
} |
| 706 |
|
| 707 |
__mingw_static_ovr |
| 708 |
int __cdecl fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) |
| 709 |
{ |
| 710 |
__builtin_va_list __ap; |
| 711 |
int __ret; |
| 712 |
__builtin_va_start(__ap, _Format); |
| 713 |
__ret = __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, NULL, __ap); |
| 714 |
__builtin_va_end(__ap); |
| 715 |
return __ret; |
| 716 |
} |
| 717 |
__mingw_ovr |
| 718 |
int __cdecl wprintf(const wchar_t * __restrict__ _Format,...) |
| 719 |
{ |
| 720 |
__builtin_va_list __ap; |
| 721 |
int __ret; |
| 722 |
__builtin_va_start(__ap, _Format); |
| 723 |
__ret = __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, _Format, NULL, __ap); |
| 724 |
__builtin_va_end(__ap); |
| 725 |
return __ret; |
| 726 |
} |
| 727 |
__mingw_ovr |
| 728 |
int __cdecl vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList) |
| 729 |
{ |
| 730 |
return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, NULL, _ArgList); |
| 731 |
} |
| 732 |
__mingw_ovr |
| 733 |
int __cdecl vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList) |
| 734 |
{ |
| 735 |
return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, _Format, NULL, _ArgList); |
| 736 |
} |
| 737 |
#else |
| 738 |
|
| 739 |
int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 740 |
int __cdecl swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 741 |
int __cdecl wscanf(const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 742 |
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ |
| 743 |
int __cdecl __ms_vwscanf (const wchar_t * __restrict__ , va_list); |
| 744 |
int __cdecl __ms_vfwscanf (FILE * __restrict__ ,const wchar_t * __restrict__ ,va_list); |
| 745 |
int __cdecl __ms_vswscanf (const wchar_t * __restrict__ ,const wchar_t * __restrict__ ,va_list); |
| 746 |
|
| 747 |
__mingw_ovr |
| 748 |
__MINGW_ATTRIB_NONNULL(2) |
| 749 |
int vfwscanf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv) |
| 750 |
{ |
| 751 |
return __ms_vfwscanf (__stream, __format, __local_argv); |
| 752 |
} |
| 753 |
|
| 754 |
__mingw_ovr |
| 755 |
__MINGW_ATTRIB_NONNULL(2) |
| 756 |
int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, __builtin_va_list __local_argv) |
| 757 |
{ |
| 758 |
return __ms_vswscanf( __source, __format, __local_argv ); |
| 759 |
} |
| 760 |
__mingw_ovr |
| 761 |
__MINGW_ATTRIB_NONNULL(1) |
| 762 |
int vwscanf(const wchar_t *__format, __builtin_va_list __local_argv) |
| 763 |
{ |
| 764 |
return __ms_vwscanf (__format, __local_argv); |
| 765 |
} |
| 766 |
|
| 767 |
#endif /* __NO_ISOCEXT */ |
| 768 |
|
| 769 |
int __cdecl fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); |
| 770 |
int __cdecl wprintf(const wchar_t * __restrict__ _Format,...); |
| 771 |
int __cdecl vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 772 |
int __cdecl vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 773 |
#endif /* _UCRT */ |
| 774 |
#endif /* __USE_MINGW_ANSI_STDIO */ |
| 775 |
|
| 776 |
|
| 777 |
#ifndef WEOF |
| 778 |
#define WEOF (wint_t)(0xFFFF) |
| 779 |
#endif |
| 780 |
|
| 781 |
#ifdef _POSIX_ |
| 782 |
_CRTIMP FILE *__cdecl _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode); |
| 783 |
#else |
| 784 |
_CRTIMP FILE *__cdecl _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode,int _ShFlag); |
| 785 |
#endif |
| 786 |
|
| 787 |
wint_t __cdecl fgetwc(FILE *_File); |
| 788 |
_CRTIMP wint_t __cdecl _fgetwchar(void); |
| 789 |
wint_t __cdecl fputwc(wchar_t _Ch,FILE *_File); |
| 790 |
_CRTIMP wint_t __cdecl _fputwchar(wchar_t _Ch); |
| 791 |
wint_t __cdecl getwc(FILE *_File); |
| 792 |
wint_t __cdecl getwchar(void); |
| 793 |
wint_t __cdecl putwc(wchar_t _Ch,FILE *_File); |
| 794 |
wint_t __cdecl putwchar(wchar_t _Ch); |
| 795 |
wint_t __cdecl ungetwc(wint_t _Ch,FILE *_File); |
| 796 |
wchar_t *__cdecl fgetws(wchar_t * __restrict__ _Dst,int _SizeInWords,FILE * __restrict__ _File); |
| 797 |
int __cdecl fputws(const wchar_t * __restrict__ _Str,FILE * __restrict__ _File); |
| 798 |
_CRTIMP wchar_t *__cdecl _getws(wchar_t *_String) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 799 |
_CRTIMP int __cdecl _putws(const wchar_t *_Str); |
| 800 |
|
| 801 |
#ifdef _UCRT |
| 802 |
__mingw_ovr |
| 803 |
int __cdecl _scwprintf(const wchar_t * __restrict__ _Format,...) |
| 804 |
{ |
| 805 |
__builtin_va_list __ap; |
| 806 |
int __ret; |
| 807 |
__builtin_va_start(__ap, _Format); |
| 808 |
__ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, NULL, 0, _Format, NULL, __ap); |
| 809 |
__builtin_va_end(__ap); |
| 810 |
return __ret; |
| 811 |
} |
| 812 |
__mingw_static_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN |
| 813 |
int __cdecl _snwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) |
| 814 |
{ |
| 815 |
__builtin_va_list __ap; |
| 816 |
int __ret; |
| 817 |
__builtin_va_start(__ap, _Format); |
| 818 |
__ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, _Dest, _Count, _Format, NULL, __ap); |
| 819 |
__builtin_va_end(__ap); |
| 820 |
return __ret; |
| 821 |
} |
| 822 |
__mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN |
| 823 |
int __cdecl _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) |
| 824 |
{ |
| 825 |
return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, _Dest, _Count, _Format, NULL, _Args); |
| 826 |
} |
| 827 |
|
| 828 |
#if __USE_MINGW_ANSI_STDIO == 0 |
| 829 |
__mingw_ovr |
| 830 |
int snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) |
| 831 |
{ |
| 832 |
__builtin_va_list __ap; |
| 833 |
int __ret; |
| 834 |
__builtin_va_start(__ap, format); |
| 835 |
__ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, s, n, format, NULL, __ap); |
| 836 |
__builtin_va_end(__ap); |
| 837 |
return __ret; |
| 838 |
} |
| 839 |
__mingw_ovr |
| 840 |
int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) |
| 841 |
{ |
| 842 |
int __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, s, n, format, NULL, arg); |
| 843 |
return __ret < 0 ? -1 : __ret; |
| 844 |
} |
| 845 |
#endif |
| 846 |
|
| 847 |
#else |
| 848 |
_CRTIMP int __cdecl _scwprintf(const wchar_t * __restrict__ _Format,...); |
| 849 |
_CRTIMP int __cdecl _swprintf_l(wchar_t * __restrict__ ,size_t _SizeInWords,const wchar_t * __restrict__ _Format,_locale_t _Locale,... ) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 850 |
_CRTIMP int __cdecl _swprintf_c(wchar_t * __restrict__ _DstBuf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,...); |
| 851 |
_CRTIMP int __cdecl _vswprintf_c(wchar_t * __restrict__ _DstBuf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 852 |
_CRTIMP int __cdecl _snwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 853 |
_CRTIMP int __cdecl _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 854 |
|
| 855 |
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ |
| 856 |
|
| 857 |
#if __USE_MINGW_ANSI_STDIO == 0 |
| 858 |
#pragma push_macro("snwprintf") |
| 859 |
#pragma push_macro("vsnwprintf") |
| 860 |
# undef snwprintf |
| 861 |
# undef vsnwprintf |
| 862 |
int __cdecl __ms_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); |
| 863 |
int __cdecl __ms_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); |
| 864 |
__mingw_ovr |
| 865 |
int snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) |
| 866 |
{ |
| 867 |
int r; |
| 868 |
va_list argp; |
| 869 |
__builtin_va_start (argp, format); |
| 870 |
r = _vsnwprintf (s, n, format, argp); |
| 871 |
__builtin_va_end (argp); |
| 872 |
return r; |
| 873 |
} |
| 874 |
__mingw_ovr |
| 875 |
int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) |
| 876 |
{ |
| 877 |
return _vsnwprintf(s,n,format,arg); |
| 878 |
} |
| 879 |
#pragma pop_macro ("vsnwprintf") |
| 880 |
#pragma pop_macro ("snwprintf") |
| 881 |
#endif |
| 882 |
|
| 883 |
#endif /* _UCRT */ |
| 884 |
|
| 885 |
#endif /* _WSTDIO_DEFINED */ |
| 886 |
|
| 887 |
|
| 888 |
#ifdef _UCRT |
| 889 |
__mingw_ovr int __cdecl _vfwscanf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 890 |
{ |
| 891 |
return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _File, _Format, _Locale, _ArgList); |
| 892 |
} |
| 893 |
__mingw_ovr int __cdecl _fwscanf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) |
| 894 |
{ |
| 895 |
__builtin_va_list _ArgList; |
| 896 |
int _Ret; |
| 897 |
__builtin_va_start(_ArgList, _Locale); |
| 898 |
_Ret = _vfwscanf_l(_File, _Format, _Locale, _ArgList); |
| 899 |
__builtin_va_end(_ArgList); |
| 900 |
return _Ret; |
| 901 |
} |
| 902 |
__mingw_ovr int __cdecl _wscanf_l(const wchar_t *_Format, _locale_t _Locale, ...) |
| 903 |
{ |
| 904 |
__builtin_va_list _ArgList; |
| 905 |
int _Ret; |
| 906 |
__builtin_va_start(_ArgList, _Locale); |
| 907 |
_Ret = _vfwscanf_l(stdin, _Format, _Locale, _ArgList); |
| 908 |
__builtin_va_end(_ArgList); |
| 909 |
return _Ret; |
| 910 |
} |
| 911 |
|
| 912 |
__mingw_ovr int __cdecl _vsnwscanf_l(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 913 |
{ |
| 914 |
return __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, _MaxCount, _Format, _Locale, _ArgList); |
| 915 |
} |
| 916 |
__mingw_ovr int __cdecl _snwscanf_l(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) |
| 917 |
{ |
| 918 |
__builtin_va_list _ArgList; |
| 919 |
int _Ret; |
| 920 |
__builtin_va_start(_ArgList, _Locale); |
| 921 |
_Ret = _vsnwscanf_l(_Src, _MaxCount, _Format, _Locale, _ArgList); |
| 922 |
__builtin_va_end(_ArgList); |
| 923 |
return _Ret; |
| 924 |
} |
| 925 |
__mingw_ovr int __cdecl _snwscanf(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, ...) |
| 926 |
{ |
| 927 |
__builtin_va_list _ArgList; |
| 928 |
int _Ret; |
| 929 |
__builtin_va_start(_ArgList, _Format); |
| 930 |
_Ret = _vsnwscanf_l(_Src, _MaxCount, _Format, NULL, _ArgList); |
| 931 |
__builtin_va_end(_ArgList); |
| 932 |
return _Ret; |
| 933 |
} |
| 934 |
|
| 935 |
__mingw_ovr int __cdecl _vswscanf_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 936 |
{ |
| 937 |
return __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, (size_t)-1, _Format, _Locale, _ArgList); |
| 938 |
} |
| 939 |
__mingw_ovr int __cdecl _swscanf_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, ...) |
| 940 |
{ |
| 941 |
__builtin_va_list _ArgList; |
| 942 |
int _Ret; |
| 943 |
__builtin_va_start(_ArgList, _Locale); |
| 944 |
_Ret = _vswscanf_l(_Src, _Format, _Locale, _ArgList); |
| 945 |
__builtin_va_end(_ArgList); |
| 946 |
return _Ret; |
| 947 |
} |
| 948 |
|
| 949 |
__mingw_ovr int __cdecl _vfwprintf_p_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 950 |
{ |
| 951 |
return __stdio_common_vfwprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, _Locale, _ArgList); |
| 952 |
} |
| 953 |
__mingw_ovr int __cdecl _vwprintf_p_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 954 |
{ |
| 955 |
return _vfwprintf_p_l(stdout, _Format, _Locale, _ArgList); |
| 956 |
} |
| 957 |
__mingw_ovr int __cdecl _vfwprintf_p(FILE *_File, const wchar_t *_Format, va_list _ArgList) |
| 958 |
{ |
| 959 |
return _vfwprintf_p_l(_File, _Format, NULL, _ArgList); |
| 960 |
} |
| 961 |
__mingw_ovr int __cdecl _vwprintf_p(const wchar_t *_Format, va_list _ArgList) |
| 962 |
{ |
| 963 |
return _vfwprintf_p_l(stdout, _Format, NULL, _ArgList); |
| 964 |
} |
| 965 |
__mingw_ovr int __cdecl _fwprintf_p_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) |
| 966 |
{ |
| 967 |
__builtin_va_list _ArgList; |
| 968 |
int _Ret; |
| 969 |
__builtin_va_start(_ArgList, _Locale); |
| 970 |
_Ret = _vfwprintf_p_l(_File, _Format, _Locale, _ArgList); |
| 971 |
__builtin_va_end(_ArgList); |
| 972 |
return _Ret; |
| 973 |
} |
| 974 |
__mingw_ovr int __cdecl _wprintf_p_l(const wchar_t *_Format, _locale_t _Locale, ...) |
| 975 |
{ |
| 976 |
__builtin_va_list _ArgList; |
| 977 |
int _Ret; |
| 978 |
__builtin_va_start(_ArgList, _Locale); |
| 979 |
_Ret = _vfwprintf_p_l(stdout, _Format, _Locale, _ArgList); |
| 980 |
__builtin_va_end(_ArgList); |
| 981 |
return _Ret; |
| 982 |
} |
| 983 |
__mingw_ovr int __cdecl _fwprintf_p(FILE *_File, const wchar_t *_Format, ...) |
| 984 |
{ |
| 985 |
__builtin_va_list _ArgList; |
| 986 |
int _Ret; |
| 987 |
__builtin_va_start(_ArgList, _Format); |
| 988 |
_Ret = _vfwprintf_p_l(_File, _Format, NULL, _ArgList); |
| 989 |
__builtin_va_end(_ArgList); |
| 990 |
return _Ret; |
| 991 |
} |
| 992 |
__mingw_ovr int __cdecl _wprintf_p(const wchar_t *_Format, ...) |
| 993 |
{ |
| 994 |
__builtin_va_list _ArgList; |
| 995 |
int _Ret; |
| 996 |
__builtin_va_start(_ArgList, _Format); |
| 997 |
_Ret = _vfwprintf_p_l(stdout, _Format, NULL, _ArgList); |
| 998 |
__builtin_va_end(_ArgList); |
| 999 |
return _Ret; |
| 1000 |
} |
| 1001 |
|
| 1002 |
__mingw_ovr int __cdecl _vfwprintf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 1003 |
{ |
| 1004 |
return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, _Locale, _ArgList); |
| 1005 |
} |
| 1006 |
__mingw_ovr int __cdecl _vwprintf_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 1007 |
{ |
| 1008 |
return _vfwprintf_l(stdout, _Format, _Locale, _ArgList); |
| 1009 |
} |
| 1010 |
__mingw_ovr int __cdecl _fwprintf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) |
| 1011 |
{ |
| 1012 |
__builtin_va_list _ArgList; |
| 1013 |
int _Ret; |
| 1014 |
__builtin_va_start(_ArgList, _Locale); |
| 1015 |
_Ret = _vfwprintf_l(_File, _Format, _Locale, _ArgList); |
| 1016 |
__builtin_va_end(_ArgList); |
| 1017 |
return _Ret; |
| 1018 |
} |
| 1019 |
__mingw_ovr int __cdecl _wprintf_l(const wchar_t *_Format, _locale_t _Locale, ...) |
| 1020 |
{ |
| 1021 |
__builtin_va_list _ArgList; |
| 1022 |
int _Ret; |
| 1023 |
__builtin_va_start(_ArgList, _Locale); |
| 1024 |
_Ret = _vfwprintf_l(stdout, _Format, _Locale, _ArgList); |
| 1025 |
__builtin_va_end(_ArgList); |
| 1026 |
return _Ret; |
| 1027 |
} |
| 1028 |
|
| 1029 |
__mingw_ovr int __cdecl _vswprintf_p_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 1030 |
{ |
| 1031 |
return __stdio_common_vswprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); |
| 1032 |
} |
| 1033 |
__mingw_ovr int __cdecl _vswprintf_p(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, va_list _ArgList) |
| 1034 |
{ |
| 1035 |
return _vswprintf_p_l(_DstBuf, _MaxCount, _Format, NULL, _ArgList); |
| 1036 |
} |
| 1037 |
__mingw_ovr int __cdecl _swprintf_p_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) |
| 1038 |
{ |
| 1039 |
__builtin_va_list _ArgList; |
| 1040 |
int _Ret; |
| 1041 |
__builtin_va_start(_ArgList, _Locale); |
| 1042 |
_Ret = _vswprintf_p_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); |
| 1043 |
__builtin_va_end(_ArgList); |
| 1044 |
return _Ret; |
| 1045 |
} |
| 1046 |
__mingw_ovr int __cdecl _swprintf_p(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, ...) |
| 1047 |
{ |
| 1048 |
__builtin_va_list _ArgList; |
| 1049 |
int _Ret; |
| 1050 |
__builtin_va_start(_ArgList, _Format); |
| 1051 |
_Ret = _vswprintf_p_l(_DstBuf, _MaxCount, _Format, NULL, _ArgList); |
| 1052 |
__builtin_va_end(_ArgList); |
| 1053 |
return _Ret; |
| 1054 |
} |
| 1055 |
|
| 1056 |
__mingw_ovr int __cdecl _vsnwprintf_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 1057 |
{ |
| 1058 |
return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); |
| 1059 |
} |
| 1060 |
__mingw_ovr int __cdecl _snwprintf_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) |
| 1061 |
{ |
| 1062 |
__builtin_va_list _ArgList; |
| 1063 |
int _Ret; |
| 1064 |
__builtin_va_start(_ArgList, _Locale); |
| 1065 |
_Ret = _vsnwprintf_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); |
| 1066 |
__builtin_va_end(_ArgList); |
| 1067 |
return _Ret; |
| 1068 |
} |
| 1069 |
|
| 1070 |
__mingw_ovr int __cdecl _vscwprintf_p_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 1071 |
{ |
| 1072 |
return __stdio_common_vswprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, NULL, 0, _Format, _Locale, _ArgList); |
| 1073 |
} |
| 1074 |
__mingw_ovr int __cdecl _vscwprintf_p(const wchar_t *_Format, va_list _ArgList) |
| 1075 |
{ |
| 1076 |
return _vscwprintf_p_l(_Format, NULL, _ArgList); |
| 1077 |
} |
| 1078 |
__mingw_ovr int __cdecl _scwprintf_p_l(const wchar_t *_Format, _locale_t _Locale, ...) |
| 1079 |
{ |
| 1080 |
__builtin_va_list _ArgList; |
| 1081 |
int _Ret; |
| 1082 |
__builtin_va_start(_ArgList, _Locale); |
| 1083 |
_Ret = _vscwprintf_p_l(_Format, _Locale, _ArgList); |
| 1084 |
__builtin_va_end(_ArgList); |
| 1085 |
return _Ret; |
| 1086 |
} |
| 1087 |
__mingw_ovr int __cdecl _scwprintf_p(const wchar_t *_Format, ...) |
| 1088 |
{ |
| 1089 |
__builtin_va_list _ArgList; |
| 1090 |
int _Ret; |
| 1091 |
__builtin_va_start(_ArgList, _Format); |
| 1092 |
_Ret = _vscwprintf_p_l(_Format, NULL, _ArgList); |
| 1093 |
__builtin_va_end(_ArgList); |
| 1094 |
return _Ret; |
| 1095 |
} |
| 1096 |
|
| 1097 |
__mingw_ovr int __cdecl _vscwprintf_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 1098 |
{ |
| 1099 |
return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, NULL, 0, _Format, _Locale, _ArgList); |
| 1100 |
} |
| 1101 |
__mingw_ovr int __cdecl _vscwprintf(const wchar_t *_Format, va_list _ArgList) |
| 1102 |
{ |
| 1103 |
return _vscwprintf_l(_Format, NULL, _ArgList); |
| 1104 |
} |
| 1105 |
__mingw_ovr int __cdecl _scwprintf_l(const wchar_t *_Format, _locale_t _Locale, ...) |
| 1106 |
{ |
| 1107 |
__builtin_va_list _ArgList; |
| 1108 |
int _Ret; |
| 1109 |
__builtin_va_start(_ArgList, _Locale); |
| 1110 |
_Ret = _vscwprintf_l(_Format, _Locale, _ArgList); |
| 1111 |
__builtin_va_end(_ArgList); |
| 1112 |
return _Ret; |
| 1113 |
} |
| 1114 |
|
| 1115 |
__mingw_ovr int __cdecl _vswprintf_c_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 1116 |
{ |
| 1117 |
return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); |
| 1118 |
} |
| 1119 |
__mingw_ovr int __cdecl __vswprintf_l(wchar_t *_DstBuf, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 1120 |
{ |
| 1121 |
return _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, _Locale, _ArgList); |
| 1122 |
} |
| 1123 |
__mingw_ovr int __cdecl _vswprintf_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) |
| 1124 |
{ |
| 1125 |
return _vswprintf_c_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); |
| 1126 |
} |
| 1127 |
__mingw_ovr int __cdecl _vswprintf(wchar_t *_DstBuf, const wchar_t *_Format, va_list _ArgList) |
| 1128 |
{ |
| 1129 |
return _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, NULL, _ArgList); |
| 1130 |
} |
| 1131 |
__mingw_ovr int __cdecl _swprintf_c_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) |
| 1132 |
{ |
| 1133 |
__builtin_va_list _ArgList; |
| 1134 |
int _Ret; |
| 1135 |
__builtin_va_start(_ArgList, _Locale); |
| 1136 |
_Ret = _vswprintf_c_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); |
| 1137 |
__builtin_va_end(_ArgList); |
| 1138 |
return _Ret; |
| 1139 |
} |
| 1140 |
__mingw_ovr int __cdecl __swprintf_l(wchar_t *_DstBuf, const wchar_t *_Format, _locale_t _Locale, ...) |
| 1141 |
{ |
| 1142 |
__builtin_va_list _ArgList; |
| 1143 |
int _Ret; |
| 1144 |
__builtin_va_start(_ArgList, _Locale); |
| 1145 |
_Ret = _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, _Locale, _ArgList); |
| 1146 |
__builtin_va_end(_ArgList); |
| 1147 |
return _Ret; |
| 1148 |
} |
| 1149 |
__mingw_ovr int __cdecl _swprintf(wchar_t *_DstBuf, const wchar_t *_Format, ...) |
| 1150 |
{ |
| 1151 |
__builtin_va_list _ArgList; |
| 1152 |
int _Ret; |
| 1153 |
__builtin_va_start(_ArgList, _Format); |
| 1154 |
_Ret = _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, NULL, _ArgList); |
| 1155 |
__builtin_va_end(_ArgList); |
| 1156 |
return _Ret; |
| 1157 |
} |
| 1158 |
#else /* _UCRT */ |
| 1159 |
_CRTIMP int __cdecl _fwprintf_p(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); |
| 1160 |
_CRTIMP int __cdecl _wprintf_p(const wchar_t * __restrict__ _Format,...); |
| 1161 |
_CRTIMP int __cdecl _vfwprintf_p(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 1162 |
_CRTIMP int __cdecl _vwprintf_p(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 1163 |
_CRTIMP int __cdecl _swprintf_p(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,...); |
| 1164 |
_SECIMP int __cdecl _vswprintf_p(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 1165 |
_CRTIMP int __cdecl _scwprintf_p(const wchar_t * __restrict__ _Format,...); |
| 1166 |
_SECIMP int __cdecl _vscwprintf_p(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 1167 |
_CRTIMP int __cdecl _wprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 1168 |
_CRTIMP int __cdecl _wprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 1169 |
_CRTIMP int __cdecl _vwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); |
| 1170 |
_CRTIMP int __cdecl _vwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); |
| 1171 |
_CRTIMP int __cdecl _fwprintf_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 1172 |
_CRTIMP int __cdecl _fwprintf_p_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 1173 |
_CRTIMP int __cdecl _vfwprintf_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); |
| 1174 |
_CRTIMP int __cdecl _vfwprintf_p_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); |
| 1175 |
_CRTIMP int __cdecl _swprintf_c_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 1176 |
_CRTIMP int __cdecl _swprintf_p_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 1177 |
_CRTIMP int __cdecl _vswprintf_c_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); |
| 1178 |
_CRTIMP int __cdecl _vswprintf_p_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); |
| 1179 |
_CRTIMP int __cdecl _scwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 1180 |
_CRTIMP int __cdecl _scwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 1181 |
_CRTIMP int __cdecl _vscwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); |
| 1182 |
_CRTIMP int __cdecl _snwprintf_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 1183 |
_CRTIMP int __cdecl _vsnwprintf_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1184 |
_CRTIMP int __cdecl _swprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,...); |
| 1185 |
_CRTIMP int __cdecl _vswprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,va_list _Args); |
| 1186 |
_CRTIMP int __cdecl __swprintf_l(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,_locale_t _Plocinfo,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1187 |
_CRTIMP int __cdecl _vswprintf_l(wchar_t * __restrict__ _Dest,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1188 |
_CRTIMP int __cdecl __vswprintf_l(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,_locale_t _Plocinfo,va_list _Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1189 |
#endif /* !_UCRT */ |
| 1190 |
|
| 1191 |
#ifndef RC_INVOKED |
| 1192 |
#include <swprintf.inl> |
| 1193 |
#endif |
| 1194 |
|
| 1195 |
#ifdef _CRT_NON_CONFORMING_SWPRINTFS |
| 1196 |
#ifndef __cplusplus |
| 1197 |
#define _swprintf_l __swprintf_l |
| 1198 |
#define _vswprintf_l __vswprintf_l |
| 1199 |
#endif |
| 1200 |
#endif |
| 1201 |
|
| 1202 |
_CRTIMP wchar_t *__cdecl _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix); |
| 1203 |
#ifndef _UCRT |
| 1204 |
_CRTIMP int __cdecl _vscwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 1205 |
_CRTIMP int __cdecl _vscwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); |
| 1206 |
_CRTIMP int __cdecl _fwscanf_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1207 |
_CRTIMP int __cdecl _swscanf_l(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,_locale_t _Locale,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1208 |
_CRTIMP int __cdecl _snwscanf(const wchar_t * __restrict__ _Src,size_t _MaxCount,const wchar_t * __restrict__ _Format,...); |
| 1209 |
_CRTIMP int __cdecl _snwscanf_l(const wchar_t * __restrict__ _Src,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); |
| 1210 |
_CRTIMP int __cdecl _wscanf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1211 |
#endif /* !_UCRT */ |
| 1212 |
_CRTIMP FILE *__cdecl _wfdopen(int _FileHandle ,const wchar_t *_Mode); |
| 1213 |
_CRTIMP FILE *__cdecl _wfopen(const wchar_t * __restrict__ _Filename,const wchar_t * __restrict__ _Mode) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1214 |
_CRTIMP FILE *__cdecl _wfreopen(const wchar_t * __restrict__ _Filename,const wchar_t * __restrict__ _Mode,FILE * __restrict__ _OldFile) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1215 |
|
| 1216 |
#ifndef _CRT_WPERROR_DEFINED |
| 1217 |
#define _CRT_WPERROR_DEFINED |
| 1218 |
_CRTIMP void __cdecl _wperror(const wchar_t *_ErrMsg); |
| 1219 |
#endif |
| 1220 |
_CRTIMP FILE *__cdecl _wpopen(const wchar_t *_Command,const wchar_t *_Mode); |
| 1221 |
#if !defined(NO_OLDNAMES) && !defined(wpopen) |
| 1222 |
#define wpopen _wpopen |
| 1223 |
#endif |
| 1224 |
_CRTIMP int __cdecl _wremove(const wchar_t *_Filename); |
| 1225 |
_CRTIMP wchar_t *__cdecl _wtmpnam(wchar_t *_Buffer); |
| 1226 |
#if __MSVCRT_VERSION__ >= 0x800 |
| 1227 |
_CRTIMP wint_t __cdecl _fgetwc_nolock(FILE *_File); |
| 1228 |
_CRTIMP wint_t __cdecl _fputwc_nolock(wchar_t _Ch,FILE *_File); |
| 1229 |
_CRTIMP wint_t __cdecl _ungetwc_nolock(wint_t _Ch,FILE *_File); |
| 1230 |
#endif |
| 1231 |
|
| 1232 |
#undef _CRT_GETPUTWCHAR_NOINLINE |
| 1233 |
|
| 1234 |
#if !defined(__cplusplus) || defined(_CRT_GETPUTWCHAR_NOINLINE) || defined (__CRT__NO_INLINE) |
| 1235 |
#define getwchar() fgetwc(stdin) |
| 1236 |
#define putwchar(_c) fputwc((_c),stdout) |
| 1237 |
#else |
| 1238 |
__CRT_INLINE wint_t __cdecl getwchar() {return (fgetwc(stdin)); } |
| 1239 |
__CRT_INLINE wint_t __cdecl putwchar(wchar_t _C) {return (fputwc(_C,stdout)); } |
| 1240 |
#endif |
| 1241 |
|
| 1242 |
#define getwc(_stm) fgetwc(_stm) |
| 1243 |
#define putwc(_c,_stm) fputwc(_c,_stm) |
| 1244 |
#if __MSVCRT_VERSION__ >= 0x800 |
| 1245 |
#define _putwc_nolock(_c,_stm) _fputwc_nolock(_c,_stm) |
| 1246 |
#define _getwc_nolock(_c) _fgetwc_nolock(_c) |
| 1247 |
#endif |
| 1248 |
#endif |
| 1249 |
|
| 1250 |
#ifndef _WSTDLIB_DEFINED |
| 1251 |
#define _WSTDLIB_DEFINED |
| 1252 |
|
| 1253 |
_CRTIMP wchar_t *__cdecl _itow(int _Value,wchar_t *_Dest,int _Radix) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1254 |
_CRTIMP wchar_t *__cdecl _ltow(long _Value,wchar_t *_Dest,int _Radix) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1255 |
_CRTIMP wchar_t *__cdecl _ultow(unsigned long _Value,wchar_t *_Dest,int _Radix) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1256 |
_CRTIMP double __cdecl _wcstod_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,_locale_t _Locale); |
| 1257 |
|
| 1258 |
double __cdecl __mingw_wcstod(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr); |
| 1259 |
float __cdecl __mingw_wcstof(const wchar_t * __restrict__ nptr, wchar_t ** __restrict__ endptr); |
| 1260 |
long double __cdecl __mingw_wcstold(const wchar_t * __restrict__, wchar_t ** __restrict__); |
| 1261 |
|
| 1262 |
#if __USE_MINGW_STRTOX |
| 1263 |
__mingw_ovr |
| 1264 |
double __cdecl wcstod(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr){ |
| 1265 |
return __mingw_wcstod(_Str,_EndPtr); |
| 1266 |
} |
| 1267 |
__mingw_ovr |
| 1268 |
float __cdecl wcstof(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr){ |
| 1269 |
return __mingw_wcstof(_Str,_EndPtr); |
| 1270 |
} |
| 1271 |
/* wcstold is already a mingw implementation */ |
| 1272 |
#else |
| 1273 |
double __cdecl wcstod(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr); |
| 1274 |
float __cdecl wcstof(const wchar_t * __restrict__ nptr, wchar_t ** __restrict__ endptr); |
| 1275 |
#endif /* defined(__USE_MINGW_STRTOX) */ |
| 1276 |
#if !defined __NO_ISOCEXT /* in libmingwex.a */ |
| 1277 |
long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__); |
| 1278 |
#endif /* __NO_ISOCEXT */ |
| 1279 |
long __cdecl wcstol(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix); |
| 1280 |
_CRTIMP long __cdecl _wcstol_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale); |
| 1281 |
unsigned long __cdecl wcstoul(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix); |
| 1282 |
_CRTIMP unsigned long __cdecl _wcstoul_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale); |
| 1283 |
_CRTIMP wchar_t *__cdecl _wgetenv(const wchar_t *_VarName) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1284 |
#ifndef _CRT_WSYSTEM_DEFINED |
| 1285 |
#define _CRT_WSYSTEM_DEFINED |
| 1286 |
_CRTIMP int __cdecl _wsystem(const wchar_t *_Command); |
| 1287 |
#endif |
| 1288 |
_CRTIMP double __cdecl _wtof(const wchar_t *_Str); |
| 1289 |
_CRTIMP double __cdecl _wtof_l(const wchar_t *_Str,_locale_t _Locale); |
| 1290 |
_CRTIMP int __cdecl _wtoi(const wchar_t *_Str); |
| 1291 |
_CRTIMP int __cdecl _wtoi_l(const wchar_t *_Str,_locale_t _Locale); |
| 1292 |
_CRTIMP long __cdecl _wtol(const wchar_t *_Str); |
| 1293 |
_CRTIMP long __cdecl _wtol_l(const wchar_t *_Str,_locale_t _Locale); |
| 1294 |
|
| 1295 |
__MINGW_EXTENSION _CRTIMP wchar_t *__cdecl _i64tow(__int64 _Val,wchar_t *_DstBuf,int _Radix) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1296 |
__MINGW_EXTENSION _CRTIMP wchar_t *__cdecl _ui64tow(unsigned __int64 _Val,wchar_t *_DstBuf,int _Radix); |
| 1297 |
__MINGW_EXTENSION _CRTIMP __int64 __cdecl _wtoi64(const wchar_t *_Str); |
| 1298 |
__MINGW_EXTENSION _CRTIMP __int64 __cdecl _wtoi64_l(const wchar_t *_Str,_locale_t _Locale); |
| 1299 |
__MINGW_EXTENSION _CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix); |
| 1300 |
__MINGW_EXTENSION _CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale); |
| 1301 |
__MINGW_EXTENSION _CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix); |
| 1302 |
__MINGW_EXTENSION _CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale); |
| 1303 |
#endif |
| 1304 |
|
| 1305 |
#ifndef _POSIX_ |
| 1306 |
#ifndef _WSTDLIBP_DEFINED |
| 1307 |
#define _WSTDLIBP_DEFINED |
| 1308 |
_CRTIMP wchar_t *__cdecl _wfullpath(wchar_t *_FullPath,const wchar_t *_Path,size_t _SizeInWords); |
| 1309 |
_CRTIMP void __cdecl _wmakepath(wchar_t *_ResultPath,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext); |
| 1310 |
#ifndef _CRT_WPERROR_DEFINED |
| 1311 |
#define _CRT_WPERROR_DEFINED |
| 1312 |
_CRTIMP void __cdecl _wperror(const wchar_t *_ErrMsg); |
| 1313 |
#endif |
| 1314 |
_CRTIMP int __cdecl _wputenv(const wchar_t *_EnvString); |
| 1315 |
_CRTIMP void __cdecl _wsearchenv(const wchar_t *_Filename,const wchar_t *_EnvVar,wchar_t *_ResultPath) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1316 |
_CRTIMP void __cdecl _wsplitpath(const wchar_t *_FullPath,wchar_t *_Drive,wchar_t *_Dir,wchar_t *_Filename,wchar_t *_Ext) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1317 |
#endif |
| 1318 |
#endif |
| 1319 |
|
| 1320 |
#ifndef _WSTRING_DEFINED |
| 1321 |
#define _WSTRING_DEFINED |
| 1322 |
_CRTIMP wchar_t *__cdecl _wcsdup(const wchar_t *_Str); |
| 1323 |
wchar_t *__cdecl wcscat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1324 |
_CONST_RETURN wchar_t *__cdecl wcschr(const wchar_t *_Str,wchar_t _Ch); |
| 1325 |
int __cdecl wcscmp(const wchar_t *_Str1,const wchar_t *_Str2); |
| 1326 |
wchar_t *__cdecl wcscpy(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1327 |
size_t __cdecl wcscspn(const wchar_t *_Str,const wchar_t *_Control); |
| 1328 |
size_t __cdecl wcslen(const wchar_t *_Str); |
| 1329 |
size_t __cdecl wcsnlen(const wchar_t *_Src,size_t _MaxCount); |
| 1330 |
wchar_t *__cdecl wcsncat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1331 |
int __cdecl wcsncmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); |
| 1332 |
wchar_t *__cdecl wcsncpy(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1333 |
wchar_t *__cdecl _wcsncpy_l(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1334 |
_CONST_RETURN wchar_t *__cdecl wcspbrk(const wchar_t *_Str,const wchar_t *_Control); |
| 1335 |
_CONST_RETURN wchar_t *__cdecl wcsrchr(const wchar_t *_Str,wchar_t _Ch); |
| 1336 |
size_t __cdecl wcsspn(const wchar_t *_Str,const wchar_t *_Control); |
| 1337 |
_CONST_RETURN wchar_t *__cdecl wcsstr(const wchar_t *_Str,const wchar_t *_SubStr); |
| 1338 |
#if defined(_UCRT) |
| 1339 |
wchar_t *__cdecl wcstok(wchar_t * __restrict__ _Str,const wchar_t * __restrict__ _Delim,wchar_t **_Ptr) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1340 |
#else |
| 1341 |
wchar_t *__cdecl wcstok(wchar_t * __restrict__ _Str,const wchar_t * __restrict__ _Delim) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1342 |
#endif |
| 1343 |
_CRTIMP wchar_t *__cdecl _wcserror(int _ErrNum) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1344 |
_CRTIMP wchar_t *__cdecl __wcserror(const wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1345 |
_CRTIMP int __cdecl _wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2); |
| 1346 |
_CRTIMP int __cdecl _wcsicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale); |
| 1347 |
_CRTIMP int __cdecl _wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); |
| 1348 |
_CRTIMP int __cdecl _wcsnicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); |
| 1349 |
_CRTIMP wchar_t *__cdecl _wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1350 |
_CRTIMP wchar_t *__cdecl _wcsrev(wchar_t *_Str); |
| 1351 |
_CRTIMP wchar_t *__cdecl _wcsset(wchar_t *_Str,wchar_t _Val) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1352 |
_CRTIMP wchar_t *__cdecl _wcslwr(wchar_t *_String) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1353 |
_CRTIMP wchar_t *_wcslwr_l(wchar_t *_String,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1354 |
_CRTIMP wchar_t *__cdecl _wcsupr(wchar_t *_String) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1355 |
_CRTIMP wchar_t *_wcsupr_l(wchar_t *_String,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1356 |
size_t __cdecl wcsxfrm(wchar_t * __restrict__ _Dst,const wchar_t * __restrict__ _Src,size_t _MaxCount); |
| 1357 |
_CRTIMP size_t __cdecl _wcsxfrm_l(wchar_t * __restrict__ _Dst,const wchar_t * __restrict__ _Src,size_t _MaxCount,_locale_t _Locale); |
| 1358 |
int __cdecl wcscoll(const wchar_t *_Str1,const wchar_t *_Str2); |
| 1359 |
_CRTIMP int __cdecl _wcscoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale); |
| 1360 |
_CRTIMP int __cdecl _wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2); |
| 1361 |
_CRTIMP int __cdecl _wcsicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale); |
| 1362 |
_CRTIMP int __cdecl _wcsncoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); |
| 1363 |
_CRTIMP int __cdecl _wcsncoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); |
| 1364 |
_CRTIMP int __cdecl _wcsnicoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); |
| 1365 |
_CRTIMP int __cdecl _wcsnicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); |
| 1366 |
|
| 1367 |
#ifndef NO_OLDNAMES |
| 1368 |
wchar_t *__cdecl wcsdup(const wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1369 |
#define wcswcs wcsstr |
| 1370 |
int __cdecl wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1371 |
int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1372 |
wchar_t *__cdecl wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1373 |
wchar_t *__cdecl wcsrev(wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1374 |
wchar_t *__cdecl wcsset(wchar_t *_Str,wchar_t _Val) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1375 |
wchar_t *__cdecl wcslwr(wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1376 |
wchar_t *__cdecl wcsupr(wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1377 |
int __cdecl wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1378 |
#endif |
| 1379 |
#endif |
| 1380 |
|
| 1381 |
#ifndef _TM_DEFINED |
| 1382 |
#define _TM_DEFINED |
| 1383 |
struct tm { |
| 1384 |
int tm_sec; |
| 1385 |
int tm_min; |
| 1386 |
int tm_hour; |
| 1387 |
int tm_mday; |
| 1388 |
int tm_mon; |
| 1389 |
int tm_year; |
| 1390 |
int tm_wday; |
| 1391 |
int tm_yday; |
| 1392 |
int tm_isdst; |
| 1393 |
}; |
| 1394 |
#endif |
| 1395 |
|
| 1396 |
#ifndef _WTIME_DEFINED |
| 1397 |
#define _WTIME_DEFINED |
| 1398 |
|
| 1399 |
_CRTIMP wchar_t *__cdecl _wasctime(const struct tm *_Tm); |
| 1400 |
_SECIMP errno_t __cdecl _wasctime_s (wchar_t *_Buf,size_t _SizeInWords,const struct tm *_Tm); |
| 1401 |
wchar_t *__cdecl _wctime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1402 |
_SECIMP errno_t __cdecl _wctime32_s (wchar_t *_Buf,size_t _SizeInWords,const __time32_t *_Time); |
| 1403 |
size_t __cdecl wcsftime(wchar_t * __restrict__ _Buf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,const struct tm * __restrict__ _Tm); |
| 1404 |
_CRTIMP size_t __cdecl _wcsftime_l(wchar_t * __restrict__ _Buf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,const struct tm * __restrict__ _Tm,_locale_t _Locale); |
| 1405 |
_CRTIMP wchar_t *__cdecl _wstrdate(wchar_t *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1406 |
_SECIMP errno_t __cdecl _wstrdate_s (wchar_t *_Buf,size_t _SizeInWords); |
| 1407 |
_CRTIMP wchar_t *__cdecl _wstrtime(wchar_t *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1408 |
_SECIMP errno_t __cdecl _wstrtime_s (wchar_t *_Buf,size_t _SizeInWords); |
| 1409 |
_CRTIMP wchar_t *__cdecl _wctime64(const __time64_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1410 |
_SECIMP errno_t __cdecl _wctime64_s (wchar_t *_Buf,size_t _SizeInWords,const __time64_t *_Time); |
| 1411 |
|
| 1412 |
#if !defined (RC_INVOKED) && !defined (_INC_WTIME_INL) |
| 1413 |
#define _INC_WTIME_INL |
| 1414 |
wchar_t *__cdecl _wctime(const time_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1415 |
#ifndef __CRT__NO_INLINE |
| 1416 |
#ifndef _USE_32BIT_TIME_T |
| 1417 |
__CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime64(_Time); } |
| 1418 |
#else |
| 1419 |
__CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime32(_Time); } |
| 1420 |
#endif |
| 1421 |
#endif /* __CRT__NO_INLINE */ |
| 1422 |
#endif |
| 1423 |
|
| 1424 |
#if !defined (RC_INVOKED) && !defined (_INC_WTIME_S_INL) |
| 1425 |
#define _INC_WTIME_S_INL |
| 1426 |
errno_t __cdecl _wctime_s(wchar_t *, size_t, const time_t *); |
| 1427 |
#ifndef __CRT__NO_INLINE |
| 1428 |
#ifndef _USE_32BIT_TIME_T |
| 1429 |
__CRT_INLINE errno_t __cdecl _wctime_s (wchar_t *_Buffer,size_t _SizeInWords,const time_t *_Time) { return _wctime64_s (_Buffer,_SizeInWords,_Time); } |
| 1430 |
#else |
| 1431 |
__CRT_INLINE errno_t __cdecl _wctime_s (wchar_t *_Buffer,size_t _SizeInWords,const time_t *_Time) { return _wctime32_s (_Buffer,_SizeInWords,_Time); } |
| 1432 |
#endif /* _USE_32BIT_TIME_T */ |
| 1433 |
#endif /* __CRT__NO_INLINE */ |
| 1434 |
#endif /* !defined (RC_INVOKED) && !defined (_INC_WTIME_S_INL) */ |
| 1435 |
|
| 1436 |
#endif |
| 1437 |
|
| 1438 |
#if defined(_UCRT) || defined(__LARGE_MBSTATE_T) |
| 1439 |
typedef struct _Mbstatet { |
| 1440 |
unsigned long _Wchar; |
| 1441 |
unsigned short _Byte, _State; |
| 1442 |
} _Mbstatet; |
| 1443 |
typedef _Mbstatet mbstate_t; |
| 1444 |
#else |
| 1445 |
typedef int mbstate_t; |
| 1446 |
#endif |
| 1447 |
typedef wchar_t _Wint_t; |
| 1448 |
|
| 1449 |
wint_t __cdecl btowc(int); |
| 1450 |
size_t __cdecl mbrlen(const char * __restrict__ _Ch,size_t _SizeInBytes,mbstate_t * __restrict__ _State); |
| 1451 |
size_t __cdecl mbrtowc(wchar_t * __restrict__ _DstCh,const char * __restrict__ _SrcCh,size_t _SizeInBytes,mbstate_t * __restrict__ _State); |
| 1452 |
size_t __cdecl mbsrtowcs(wchar_t * __restrict__ _Dest,const char ** __restrict__ _PSrc,size_t _Count,mbstate_t * __restrict__ _State) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1453 |
size_t __cdecl wcrtomb(char * __restrict__ _Dest,wchar_t _Source,mbstate_t * __restrict__ _State) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1454 |
size_t __cdecl wcsrtombs(char * __restrict__ _Dest,const wchar_t ** __restrict__ _PSource,size_t _Count,mbstate_t * __restrict__ _State) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1455 |
int __cdecl wctob(wint_t _WCh); |
| 1456 |
|
| 1457 |
#ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */ |
| 1458 |
wchar_t *__cdecl wmemset(wchar_t *s, wchar_t c, size_t n); |
| 1459 |
_CONST_RETURN wchar_t *__cdecl wmemchr(const wchar_t *s, wchar_t c, size_t n); |
| 1460 |
int __cdecl wmemcmp(const wchar_t *s1, const wchar_t *s2,size_t n); |
| 1461 |
wchar_t *__cdecl wmemcpy(wchar_t * __restrict__ s1,const wchar_t * __restrict__ s2,size_t n) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1462 |
wchar_t * __cdecl wmempcpy (wchar_t *_Dst, const wchar_t *_Src, size_t _Size); |
| 1463 |
wchar_t *__cdecl wmemmove(wchar_t *s1, const wchar_t *s2, size_t n) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1464 |
int __cdecl fwide(FILE *stream,int mode); |
| 1465 |
#if defined(_UCRT) || defined(__LARGE_MBSTATE_T) |
| 1466 |
/* With UCRT, mbsinit is only available as inline. */ |
| 1467 |
__mingw_static_ovr int __cdecl mbsinit(const mbstate_t *_P) { return (!_P || _P->_Wchar == 0); } |
| 1468 |
#else |
| 1469 |
int __cdecl mbsinit(const mbstate_t *ps); |
| 1470 |
#endif |
| 1471 |
__MINGW_EXTENSION long long __cdecl wcstoll(const wchar_t * __restrict__ nptr,wchar_t ** __restrict__ endptr, int base); |
| 1472 |
__MINGW_EXTENSION unsigned long long __cdecl wcstoull(const wchar_t * __restrict__ nptr,wchar_t ** __restrict__ endptr, int base); |
| 1473 |
#endif /* __NO_ISOCEXT */ |
| 1474 |
|
| 1475 |
void *__cdecl memmove(void *_Dst,const void *_Src,size_t _MaxCount); |
| 1476 |
void *__cdecl memcpy(void * __restrict__ _Dst,const void * __restrict__ _Src,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1477 |
#ifndef __CRT__NO_INLINE |
| 1478 |
__CRT_INLINE int __cdecl fwide(FILE *_F,int _M) { (void)_F; return (_M); } |
| 1479 |
#if !defined(_UCRT) && !defined(__LARGE_MBSTATE_T) |
| 1480 |
__CRT_INLINE int __cdecl mbsinit(const mbstate_t *_P) { return (!_P || *_P==0); } |
| 1481 |
#endif |
| 1482 |
__CRT_INLINE _CONST_RETURN wchar_t *__cdecl wmemchr(const wchar_t *_S,wchar_t _C,size_t _N) { |
| 1483 |
if (_S) { |
| 1484 |
for ( ; 0 < _N; ++_S, --_N) |
| 1485 |
if (*_S == _C) |
| 1486 |
return (_CONST_RETURN wchar_t *)(_S); |
| 1487 |
} |
| 1488 |
return (_CONST_RETURN wchar_t *) NULL; |
| 1489 |
} |
| 1490 |
__CRT_INLINE int __cdecl wmemcmp(const wchar_t *_S1,const wchar_t *_S2,size_t _N) { |
| 1491 |
if (_N == 0 || _S1 == _S2) |
| 1492 |
return 0; /* even for NULL pointers. */ |
| 1493 |
if ((_S1 && !(_S2)) || (_S2 && !(_S1))) |
| 1494 |
return !(_S2) ? 1 : -1; /* robust. */ |
| 1495 |
for ( ; 0 < _N; ++_S1, ++_S2, --_N) |
| 1496 |
if (*_S1 != *_S2) |
| 1497 |
return (*_S1 < *_S2 ? -1 : +1); |
| 1498 |
return 0; |
| 1499 |
} |
| 1500 |
__CRT_INLINE wchar_t *__cdecl wmemcpy(wchar_t * __restrict__ _S1,const wchar_t * __restrict__ _S2,size_t _N) |
| 1501 |
{ |
| 1502 |
return (wchar_t *) memcpy (_S1,_S2,_N*sizeof(wchar_t)); |
| 1503 |
} |
| 1504 |
__CRT_INLINE wchar_t *__cdecl wmemmove(wchar_t *_S1,const wchar_t *_S2,size_t _N) { return (wchar_t *)memmove(_S1,_S2,_N*sizeof(wchar_t)); } |
| 1505 |
__CRT_INLINE wchar_t *__cdecl wmemset(wchar_t *_S,wchar_t _C,size_t _N) { |
| 1506 |
wchar_t *_Su = _S; |
| 1507 |
for (;0<_N;++_Su,--_N) { |
| 1508 |
*_Su = _C; |
| 1509 |
} |
| 1510 |
return (_S); |
| 1511 |
} |
| 1512 |
#endif /* !__CRT__NO_INLINE */ |
| 1513 |
|
| 1514 |
#ifndef __MINGW_MBWC_CONVERT_DEFINED |
| 1515 |
#define __MINGW_MBWC_CONVERT_DEFINED |
| 1516 |
|
| 1517 |
/** |
| 1518 |
* __mingw_str_wide_utf8 |
| 1519 |
* Converts a null terminated UCS-2 string to a multibyte (UTF-8) equivalent. |
| 1520 |
* Caller is supposed to free allocated buffer with __mingw_str_free(). |
| 1521 |
* @param[in] wptr Pointer to wide string. |
| 1522 |
* @param[out] mbptr Pointer to multibyte string. |
| 1523 |
* @param[out] buflen Optional parameter for length of allocated buffer. |
| 1524 |
* @return bytes written by WideCharToMultiByte conversion, 0 for failure. |
| 1525 |
* |
| 1526 |
* WideCharToMultiByte - http://msdn.microsoft.com/en-us/library/dd374130(VS.85).aspx |
| 1527 |
*/ |
| 1528 |
int __cdecl __mingw_str_wide_utf8 (const wchar_t * const wptr, char **mbptr, size_t * buflen); |
| 1529 |
|
| 1530 |
/** |
| 1531 |
* __mingw_str_utf8_wide |
| 1532 |
* Converts a null terminated UTF-8 string to a UCS-2 equivalent. |
| 1533 |
* Caller is supposed to free allocated buffer with __mingw_str_free(). |
| 1534 |
* @param[out] mbptr Pointer to multibyte string. |
| 1535 |
* @param[in] wptr Pointer to wide string. |
| 1536 |
* @param[out] buflen Optional parameter for length of allocated buffer. |
| 1537 |
* @return bytes written by WideCharToMultiByte conversion, 0 for failure. |
| 1538 |
* |
| 1539 |
* MultiByteToWideChar - http://msdn.microsoft.com/en-us/library/dd319072(VS.85).aspx |
| 1540 |
*/ |
| 1541 |
|
| 1542 |
int __cdecl __mingw_str_utf8_wide (const char *const mbptr, wchar_t ** wptr, size_t * buflen); |
| 1543 |
|
| 1544 |
/** |
| 1545 |
* __mingw_str_free |
| 1546 |
* Frees buffer create by __mingw_str_wide_utf8 and __mingw_str_utf8_wide. |
| 1547 |
* @param[in] ptr memory block to free. |
| 1548 |
* |
| 1549 |
*/ |
| 1550 |
|
| 1551 |
void __cdecl __mingw_str_free(void *ptr); |
| 1552 |
|
| 1553 |
#endif /* __MINGW_MBWC_CONVERT_DEFINED */ |
| 1554 |
|
| 1555 |
#ifdef __cplusplus |
| 1556 |
} |
| 1557 |
#endif |
| 1558 |
|
| 1559 |
#pragma pack(pop) |
| 1560 |
|
| 1561 |
#include <sec_api/wchar_s.h> |
| 1562 |
|
| 1563 |
#endif /* _INC_WCHAR */ |
| 1564 |
|