#pragma once
#ifndef _INC_STDLIB // include guard for 3rd party interop
#define _INC_STDLIB
#include <corecrt.h>
#include <corecrt_malloc.h>
#include <corecrt_search.h>
#include <corecrt_wstdlib.h>
#include <limits.h>
_CRT_BEGIN_C_HEADER
__pragma
(pack(push,
8
))
extern
"C"
{
#ifndef _countof
#define _countof __crt_countof
#endif
#define __max(a,b) (((a) > (b)) ? (a) : (b))
#define __min(a,b) (((a) < (b)) ? (a) : (b))
_ACRTIMP void __cdecl _swab(
__declspec
(dllimport)
void
__cdecl
(
_Inout_updates_(_SizeInBytes) _Post_readable_size_(_SizeInBytes) char* _Buf1,
_Inout_updates_(_SizeInBytes) _Post_readable_size_(_SizeInBytes) char* _Buf2,
);
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
#if _CRT_FUNCTIONS_REQUIRED
_ACRTIMP __declspec(noreturn) void __cdecl exit(_In_ int _Code);
__declspec
(dllimport)
__declspec
(noreturn)
void
__cdecl
(
int
);
_ACRTIMP __declspec(noreturn) void __cdecl _exit(_In_ int _Code);
__declspec
(dllimport)
__declspec
(noreturn)
void
__cdecl
(
int
);
_ACRTIMP __declspec(noreturn) void __cdecl _Exit(_In_ int _Code);
__declspec
(dllimport)
__declspec
(noreturn)
void
__cdecl
(
int
);
_ACRTIMP __declspec(noreturn) void __cdecl quick_exit(_In_ int _Code);
__declspec
(dllimport)
__declspec
(noreturn)
void
__cdecl
(
int
);
_ACRTIMP __declspec(noreturn) void __cdecl abort(void);
#endif // _CRT_FUNCTIONS_REQUIRED
__declspec
(dllimport)
__declspec
(noreturn)
void
__cdecl
(
void
);
#define _WRITE_ABORT_MSG 0x1 // debug only, has no effect in release
#define _CALL_REPORTFAULT 0x2
_ACRTIMP unsigned int __cdecl _set_abort_behavior(
__declspec
(dllimport)
unsigned
int
__cdecl
(
_In_ unsigned int _Flags,
);
#ifndef _CRT_ONEXIT_T_DEFINED
#define _CRT_ONEXIT_T_DEFINED
typedef int (__CRTDECL* _onexit_t)(void);
typedef
int
(
__cdecl
*
)(
void
);
#ifdef _M_CEE
typedef int (__clrcall* _onexit_m_t)(void);
#endif
#endif
#if _CRT_INTERNAL_NONSTDC_NAMES
#define onexit_t _onexit_t
#endif
#ifdef _M_CEE
#pragma warning (push)
#pragma warning (disable: 4985)
_Check_return_ int __clrcall _atexit_m_appdomain(_In_opt_ void (__clrcall* _Function)(void));
_onexit_m_t __clrcall _onexit_m_appdomain(_onexit_m_t _Function);
#ifdef _M_CEE_MIXED
#ifdef __cplusplus
[System::Security::SecurityCritical]
#endif
_Check_return_ int __clrcall _atexit_m(_In_opt_ void (__clrcall* _Function)(void));
_onexit_m_t __clrcall _onexit_m(_onexit_m_t _Function);
#else
#ifdef __cplusplus
[System::Security::SecurityCritical]
#endif
_Check_return_ inline int __clrcall _atexit_m(_In_opt_ void (__clrcall* _Function)(void))
{
return _atexit_m_appdomain(_Function);
}
inline _onexit_m_t __clrcall _onexit_m(_onexit_t _Function)
{
return _onexit_m_appdomain(_Function);
}
#endif
#pragma warning (pop)
#endif
#ifdef _M_CEE_PURE
// In pure mode, atexit is the same as atexit_m_appdomain
extern "C++"
{
#ifdef __cplusplus
[System::Security::SecurityCritical]
#endif
inline int __clrcall atexit(void (__clrcall* _Function)(void))
{
return _atexit_m_appdomain(_Function);
}
inline _onexit_t __clrcall _onexit(_onexit_t _Function)
{
return _onexit_m_appdomain(_Function);
}
} // extern "C++"
#else
int
__cdecl
(
void
(
__cdecl
*)(
void
));
_onexit_t __cdecl _onexit(_In_opt_ _onexit_t _Func);
#endif
int
__cdecl
(
void
(
__cdecl
*)(
void
));
#ifndef _M_CEE_PURE
typedef
void
(
__cdecl
*
)(
void
);
typedef
void
(
__cdecl
*
_invalid_parameter_handler
)(
wchar_t
const
*,
wchar_t
const
*,
wchar_t
const
*,
unsigned
int
,
);
_VCRTIMP _purecall_handler __cdecl _set_purecall_handler(
_In_opt_ _purecall_handler _Handler
);
_VCRTIMP _purecall_handler __cdecl _get_purecall_handler(void);
_ACRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(
__declspec
(dllimport)
_invalid_parameter_handler
__cdecl
_set_invalid_parameter_handler
(
_In_opt_ _invalid_parameter_handler _Handler
_invalid_parameter_handler
);
_ACRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
__declspec
(dllimport)
_invalid_parameter_handler
__cdecl
_get_invalid_parameter_handler
(
void
);
_ACRTIMP _invalid_parameter_handler __cdecl _set_thread_local_invalid_parameter_handler(
__declspec
(dllimport)
_invalid_parameter_handler
__cdecl
_set_thread_local_invalid_parameter_handler
(
_In_opt_ _invalid_parameter_handler _Handler
_invalid_parameter_handler
);
_ACRTIMP _invalid_parameter_handler __cdecl _get_thread_local_invalid_parameter_handler(void);
#endif
__declspec
(dllimport)
_invalid_parameter_handler
__cdecl
_get_thread_local_invalid_parameter_handler
(
void
);
#if defined __cplusplus && defined _M_CEE_PURE
extern "C++"
{
typedef void (__clrcall* _purecall_handler)(void);
typedef _purecall_handler _purecall_handler_m;
_MRTIMP _purecall_handler __cdecl _set_purecall_handler(
_In_opt_ _purecall_handler _Handler
);
} // extern "C++"
#endif
#define _OUT_TO_DEFAULT 0
#define _OUT_TO_STDERR 1
#define _OUT_TO_MSGBOX 2
#define _REPORT_ERRMODE 3
_Check_return_opt_ _ACRTIMP int __cdecl _set_error_mode(_In_ int _Mode);
__declspec
(dllimport)
int
__cdecl
(
int
);
#if _CRT_FUNCTIONS_REQUIRED
_ACRTIMP int* __cdecl _errno(void);
__declspec
(dllimport)
int
*
__cdecl
(
void
);
#define errno (*_errno())
_ACRTIMP errno_t __cdecl _set_errno(_In_ int _Value);
__declspec
(dllimport)
__cdecl
(
int
);
_ACRTIMP errno_t __cdecl _get_errno(_Out_ int* _Value);
__declspec
(dllimport)
__cdecl
(
int
*
);
_ACRTIMP unsigned long* __cdecl __doserrno(void);
__declspec
(dllimport)
unsigned
long
*
__cdecl
(
void
);
#define _doserrno (*__doserrno())
_ACRTIMP errno_t __cdecl _set_doserrno(_In_ unsigned long _Value);
__declspec
(dllimport)
__cdecl
(
unsigned
long
);
_ACRTIMP errno_t __cdecl _get_doserrno(_Out_ unsigned long * _Value);
__declspec
(dllimport)
__cdecl
(
unsigned
long
*
);
_ACRTIMP _CRT_INSECURE_DEPRECATE(strerror) char** __cdecl __sys_errlist(void);
__declspec
(dllimport)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"strerror"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
char
**
__cdecl
(
void
);
#define _sys_errlist (__sys_errlist())
_ACRTIMP _CRT_INSECURE_DEPRECATE(strerror) int * __cdecl __sys_nerr(void);
__declspec
(dllimport)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"strerror"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
int
*
__cdecl
(
void
);
#define _sys_nerr (*__sys_nerr())
_ACRTIMP void __cdecl perror(_In_opt_z_ char const* _ErrMsg);
#endif // _CRT_FUNCTIONS_REQUIRED
__declspec
(dllimport)
void
__cdecl
(
char
const
*
);
_CRT_INSECURE_DEPRECATE_GLOBALS(_get_pgmptr ) _ACRTIMP char** __cdecl __p__pgmptr (void);
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_get_pgmptr"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
char
**
__cdecl
(
void
);
_CRT_INSECURE_DEPRECATE_GLOBALS(_get_wpgmptr) _ACRTIMP wchar_t** __cdecl __p__wpgmptr(void);
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_get_wpgmptr"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
wchar_t
**
__cdecl
(
void
);
_CRT_INSECURE_DEPRECATE_GLOBALS(_get_fmode ) _ACRTIMP int* __cdecl __p__fmode (void);
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_get_fmode"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
int
*
__cdecl
(
void
);
#ifdef _CRT_DECLARE_GLOBAL_VARIABLES_DIRECTLY
_CRT_INSECURE_DEPRECATE_GLOBALS(_get_pgmptr ) extern char* _pgmptr;
_CRT_INSECURE_DEPRECATE_GLOBALS(_get_wpgmptr) extern wchar_t* _wpgmptr;
#ifndef _CORECRT_BUILD
_CRT_INSECURE_DEPRECATE_GLOBALS(_get_fmode ) extern int _fmode;
#endif
#else
#define _pgmptr (*__p__pgmptr ())
#define _wpgmptr (*__p__wpgmptr())
#define _fmode (*__p__fmode ())
#endif
_Success_(return == 0)
_ACRTIMP errno_t __cdecl _get_pgmptr (_Outptr_result_z_ char** _Value);
__declspec
(dllimport)
__cdecl
(
char
**
);
_Success_(return == 0)
_ACRTIMP errno_t __cdecl _get_wpgmptr(_Outptr_result_z_ wchar_t** _Value);
__declspec
(dllimport)
__cdecl
(
wchar_t
**
);
_ACRTIMP errno_t __cdecl _set_fmode (_In_ int _Mode );
__declspec
(dllimport)
__cdecl
(
int
);
_ACRTIMP errno_t __cdecl _get_fmode (_Out_ int* _PMode);
__declspec
(dllimport)
__cdecl
(
int
*
);
typedef
struct
{
int
;
int
;
}
;
typedef
struct
{
long
;
long
;
}
;
typedef
struct
{
long
long
;
long
long
;
}
;
_Check_return_ int __cdecl abs (_In_ int _Number);
_Check_return_ long __cdecl labs (_In_ long _Number);
_Check_return_ long long __cdecl llabs (_In_ long long _Number);
long
long
__cdecl
(
long
long
);
_Check_return_ __int64 __cdecl _abs64(_In_ __int64 _Number);
__int64
__cdecl
(
__int64
);
_Check_return_ unsigned short __cdecl _byteswap_ushort(_In_ unsigned short _Number);
unsigned
short
__cdecl
(
unsigned
short
);
_Check_return_ unsigned long __cdecl _byteswap_ulong (_In_ unsigned long _Number);
unsigned
long
__cdecl
(
unsigned
long
);
_Check_return_ unsigned __int64 __cdecl _byteswap_uint64(_In_ unsigned __int64 _Number);
unsigned
__int64
__cdecl
(
unsigned
__int64
);
_Check_return_ _ACRTIMP div_t __cdecl div (_In_ int _Numerator, _In_ int _Denominator);
__declspec
(dllimport)
__cdecl
(
int
,
int
);
_Check_return_ _ACRTIMP ldiv_t __cdecl ldiv (_In_ long _Numerator, _In_ long _Denominator);
__declspec
(dllimport)
__cdecl
(
long
,
long
);
_Check_return_ _ACRTIMP lldiv_t __cdecl lldiv(_In_ long long _Numerator, _In_ long long _Denominator);
__declspec
(dllimport)
__cdecl
(
long
long
,
long
long
);
#pragma warning (push)
#pragma warning (disable:
6540
)
unsigned
int
__cdecl
(
_In_ unsigned int _Value,
);
_Check_return_
unsigned
long
__cdecl
(
_In_ unsigned long _Value,
);
unsigned
__int64
__cdecl
(
_In_ unsigned __int64 _Value,
);
unsigned
int
__cdecl
(
_In_ unsigned int _Value,
);
_Check_return_
unsigned
long
__cdecl
(
_In_ unsigned long _Value,
);
unsigned
__int64
__cdecl
(
_In_ unsigned __int64 _Value,
);
#pragma warning (pop)
#define RAND_MAX 0x7fff
_ACRTIMP void __cdecl srand(_In_ unsigned int _Seed);
__declspec
(dllimport)
void
__cdecl
(
unsigned
int
);
_Check_return_ _ACRTIMP int __cdecl rand(void);
__declspec
(dllimport)
int
__cdecl
(
void
);
#if defined _CRT_RAND_S || defined _CRTBLD
_ACRTIMP errno_t __cdecl rand_s(_Out_ unsigned int* _RandomValue);
#endif
#ifdef __cplusplus
extern
"C++"
{
inline
long
(
long
const
)
throw
()
{
return
(
);
}
inline
long
long
(
long
long
const
)
throw
()
{
return
(
);
}
inline
(
long
const
,
long
const
)
throw
()
{
return
(
,
);
}
inline
(
long
long
const
,
long
long
const
)
throw
()
{
return
(
,
);
}
}
#endif // __cplusplus
#define _CRT_DOUBLE_DEC
#ifndef _LDSUPPORT
typedef
struct
{
unsigned
char
[
10
];
}
;
#pragma pack(pop)
#pragma pack(pop)
#define _PTR_LD(x) ((unsigned char*)(&(x)->ld))
#else // _LDSUPPORT
// push and pop long, which is #defined as __int64 by a spec2k test
#pragma push_macro("long")
#undef long
typedef long double _LDOUBLE;
#pragma pop_macro("long")
#define _PTR_LD(x) ((unsigned char *)(x))
#endif // _LDSUPPORT
typedef
struct
{
double
;
}
;
typedef
struct
{
float
;
}
;
#pragma push_macro("long")
#undef long
typedef
struct
{
long
double
;
}
;
#pragma pop_macro("long")
#pragma pack(push,
4
)
typedef
struct
{
unsigned
char
[
12
];
}
;
#pragma pack(pop)
_Check_return_ _ACRTIMP double __cdecl atof (_In_z_ char const* _String);
__declspec
(dllimport)
double
__cdecl
(
char
const
*
);
_Check_return_ _CRT_JIT_INTRINSIC _ACRTIMP int __cdecl atoi (_In_z_ char const* _String);
__declspec
(dllimport)
int
__cdecl
(
char
const
*
);
_Check_return_ _ACRTIMP long __cdecl atol (_In_z_ char const* _String);
__declspec
(dllimport)
long
__cdecl
(
char
const
*
);
_Check_return_ _ACRTIMP long long __cdecl atoll (_In_z_ char const* _String);
__declspec
(dllimport)
long
long
__cdecl
(
char
const
*
);
_Check_return_ _ACRTIMP __int64 __cdecl _atoi64(_In_z_ char const* _String);
__declspec
(dllimport)
__int64
__cdecl
(
char
const
*
);
_Check_return_ _ACRTIMP double __cdecl _atof_l (_In_z_ char const* _String, _In_opt_ _locale_t _Locale);
__declspec
(dllimport)
double
__cdecl
(
char
const
*
,
);
_Check_return_ _ACRTIMP int __cdecl _atoi_l (_In_z_ char const* _String, _In_opt_ _locale_t _Locale);
__declspec
(dllimport)
int
__cdecl
(
char
const
*
,
);
_Check_return_ _ACRTIMP long __cdecl _atol_l (_In_z_ char const* _String, _In_opt_ _locale_t _Locale);
__declspec
(dllimport)
long
__cdecl
(
char
const
*
,
);
_Check_return_ _ACRTIMP long long __cdecl _atoll_l (_In_z_ char const* _String, _In_opt_ _locale_t _Locale);
__declspec
(dllimport)
long
long
__cdecl
(
char
const
*
,
);
_Check_return_ _ACRTIMP __int64 __cdecl _atoi64_l(_In_z_ char const* _String, _In_opt_ _locale_t _Locale);
__declspec
(dllimport)
__int64
__cdecl
(
char
const
*
,
);
_Check_return_ _ACRTIMP int __cdecl _atoflt (_Out_ _CRT_FLOAT* _Result, _In_z_ char const* _String);
__declspec
(dllimport)
int
__cdecl
(
*
,
char
const
*
);
_Check_return_ _ACRTIMP int __cdecl _atodbl (_Out_ _CRT_DOUBLE* _Result, _In_z_ char* _String);
__declspec
(dllimport)
int
__cdecl
(
*
,
char
*
);
_Check_return_ _ACRTIMP int __cdecl _atoldbl(_Out_ _LDOUBLE* _Result, _In_z_ char* _String);
__declspec
(dllimport)
int
__cdecl
(
*
,
char
*
);
_Check_return_
_ACRTIMP int __cdecl _atoflt_l(
__declspec
(dllimport)
int
__cdecl
(
_Out_ _CRT_FLOAT* _Result,
_In_z_ char const* _String,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP int __cdecl _atodbl_l(
__declspec
(dllimport)
int
__cdecl
(
_Out_ _CRT_DOUBLE* _Result,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP int __cdecl _atoldbl_l(
__declspec
(dllimport)
int
__cdecl
(
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP float __cdecl strtof(
__declspec
(dllimport)
float
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr
);
_Check_return_
_ACRTIMP float __cdecl _strtof_l(
__declspec
(dllimport)
float
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP double __cdecl strtod(
__declspec
(dllimport)
double
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr
);
_Check_return_
_ACRTIMP double __cdecl _strtod_l(
__declspec
(dllimport)
double
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP long double __cdecl strtold(
__declspec
(dllimport)
long
double
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr
);
_Check_return_
_ACRTIMP long double __cdecl _strtold_l(
__declspec
(dllimport)
long
double
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP long __cdecl strtol(
__declspec
(dllimport)
long
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
);
_Check_return_
_ACRTIMP long __cdecl _strtol_l(
__declspec
(dllimport)
long
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP long long __cdecl strtoll(
__declspec
(dllimport)
long
long
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
);
_Check_return_
_ACRTIMP long long __cdecl _strtoll_l(
__declspec
(dllimport)
long
long
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP unsigned long __cdecl strtoul(
__declspec
(dllimport)
unsigned
long
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
);
_Check_return_
_ACRTIMP unsigned long __cdecl _strtoul_l(
__declspec
(dllimport)
unsigned
long
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP unsigned long long __cdecl strtoull(
__declspec
(dllimport)
unsigned
long
long
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
);
_Check_return_
_ACRTIMP unsigned long long __cdecl _strtoull_l(
__declspec
(dllimport)
unsigned
long
long
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP __int64 __cdecl _strtoi64(
__declspec
(dllimport)
__int64
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
);
_Check_return_
_ACRTIMP __int64 __cdecl _strtoi64_l(
__declspec
(dllimport)
__int64
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP unsigned __int64 __cdecl _strtoui64(
__declspec
(dllimport)
unsigned
__int64
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
);
_Check_return_
_ACRTIMP unsigned __int64 __cdecl _strtoui64_l(
__declspec
(dllimport)
unsigned
__int64
__cdecl
(
_In_z_ char const* _String,
_Out_opt_ _Deref_post_z_ char** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Success_(return == 0)
_Check_return_opt_
_ACRTIMP errno_t __cdecl _itoa_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_BufferCount) char* _Buffer,
_In_ size_t _BufferCount,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(
_Success_(return == 0)
errno_t, _itoa_s,
_In_ int, _Value,
char, _Buffer,
_In_ int, _Radix
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
int
,
char
(&
)[
],
int
)
throw
() {
return
(
,
,
,
); } }
#pragma warning(push)
#pragma warning(disable: 28719) // __WARNING_BANNED_API_USAGE
#pragma warning(disable:
28719
)
#pragma warning(disable: 28726) // __WARNING_BANNED_API_USAGEL2
#pragma warning(disable:
28726
)
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
char*, __RETURN_POLICY_DST, _ACRTIMP, _itoa,
_In_ int, _Value,
_Pre_notnull_ _Post_z_, char, _Buffer,
_In_ int, _Radix
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_itoa_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
char
*
__cdecl
(
int
,
char
*
,
int
);
#pragma warning(pop)
_Success_(return == 0)
_Check_return_opt_
_ACRTIMP errno_t __cdecl _ltoa_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_BufferCount) char* _Buffer,
_In_ size_t _BufferCount,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(
errno_t, _ltoa_s,
_In_ long, _Value,
char, _Buffer,
_In_ int, _Radix
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
long
,
char
(&
)[
],
int
)
throw
() {
return
(
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
char*, __RETURN_POLICY_DST, _ACRTIMP, _ltoa,
_In_ long, _Value,
_Pre_notnull_ _Post_z_, char, _Buffer,
_In_ int, _Radix
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_ltoa_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
char
*
__cdecl
(
long
,
char
*
,
int
);
_Success_(return == 0)
_Check_return_opt_
_ACRTIMP errno_t __cdecl _ultoa_s(
__declspec
(dllimport)
__cdecl
(
_In_ unsigned long _Value,
_Out_writes_z_(_BufferCount) char* _Buffer,
_In_ size_t _BufferCount,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(
errno_t, _ultoa_s,
_In_ unsigned long, _Value,
char, _Buffer,
_In_ int, _Radix
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
unsigned
long
,
char
(&
)[
],
int
)
throw
() {
return
(
,
,
,
); } }
#pragma warning(push)
#pragma warning(disable: 28726) // __WARNING_BANNED_API_USAGEL2
#pragma warning(disable:
28726
)
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
char*, __RETURN_POLICY_DST, _ACRTIMP, _ultoa,
_In_ unsigned long, _Value,
_Pre_notnull_ _Post_z_, char, _Buffer,
_In_ int, _Radix
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_ultoa_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
char
*
__cdecl
(
unsigned
long
,
char
*
,
int
);
#pragma warning(pop)
_Success_(return == 0)
_Check_return_opt_
_ACRTIMP errno_t __cdecl _i64toa_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_BufferCount) char* _Buffer,
_In_ size_t _BufferCount,
);
_Success_(return == 0)
_CRT_INSECURE_DEPRECATE(_i64toa_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_i64toa_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl _i64toa(
__declspec
(dllimport)
char
*
__cdecl
(
_Pre_notnull_ _Post_z_ char* _Buffer,
);
_Success_(return == 0)
_Check_return_opt_
_ACRTIMP errno_t __cdecl _ui64toa_s(
__declspec
(dllimport)
__cdecl
(
_In_ unsigned __int64 _Value,
_Out_writes_z_(_BufferCount) char* _Buffer,
_In_ size_t _BufferCount,
);
_CRT_INSECURE_DEPRECATE(_ui64toa_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_ui64toa_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl _ui64toa(
__declspec
(dllimport)
char
*
__cdecl
(
_In_ unsigned __int64 _Value,
_Pre_notnull_ _Post_z_ char* _Buffer,
);
#define _CVTBUFSIZE (309 + 40) // # of digits in max. dp value + slop
_Success_(return == 0)
_Check_return_wat_
_ACRTIMP errno_t __cdecl _ecvt_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_BufferCount) char* _Buffer,
_In_ size_t _BufferCount,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(
errno_t, _ecvt_s,
char, _Buffer,
_In_ double, _Value,
_In_ int, _DigitCount,
_Out_ int*, _PtDec,
_Out_ int*, _PtSign
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
double
,
int
,
int
*
,
int
*
)
throw
() {
return
(
,
,
,
,
,
); } }
_Check_return_ _CRT_INSECURE_DEPRECATE(_ecvt_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_ecvt_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl _ecvt(
__declspec
(dllimport)
char
*
__cdecl
(
);
_Success_(return == 0)
_Check_return_wat_
_ACRTIMP errno_t __cdecl _fcvt_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_BufferCount) char* _Buffer,
_In_ size_t _BufferCount,
_In_ int _FractionalDigitCount,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(
_Success_(return == 0)
errno_t, _fcvt_s,
char, _Buffer,
_In_ double, _Value,
_In_ int, _FractionalDigitCount,
_Out_ int*, _PtDec,
_Out_ int*, _PtSign
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
double
,
int
,
int
*
,
int
*
)
throw
() {
return
(
,
,
,
,
,
); } }
_Success_(return == 0)
_Check_return_ _CRT_INSECURE_DEPRECATE(_fcvt_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_fcvt_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl _fcvt(
__declspec
(dllimport)
char
*
__cdecl
(
_In_ int _FractionalDigitCount,
);
_Success_(return == 0)
_ACRTIMP errno_t __cdecl _gcvt_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_BufferCount) char* _Buffer,
_In_ size_t _BufferCount,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
_Success_(return == 0)
errno_t, _gcvt_s,
char, _Buffer,
_In_ double, _Value,
_In_ int, _DigitCount
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
double
,
int
)
throw
() {
return
(
,
,
,
); } }
_CRT_INSECURE_DEPRECATE(_gcvt_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_gcvt_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl _gcvt(
__declspec
(dllimport)
char
*
__cdecl
(
_Pre_notnull_ _Post_z_ char* _Buffer
);
#ifndef MB_CUR_MAX
#if defined _CRT_DISABLE_PERFCRIT_LOCKS && !defined _DLL
#define MB_CUR_MAX __mb_cur_max
#else
#define MB_CUR_MAX ___mb_cur_max_func()
#endif
#ifdef _CRT_DECLARE_GLOBAL_VARIABLES_DIRECTLY
extern int __mb_cur_max;
#else
#define __mb_cur_max (___mb_cur_max_func())
#endif
_Post_satisfies_(return > 0 && return < MB_LEN_MAX)
_ACRTIMP int __cdecl ___mb_cur_max_func(void);
__declspec
(dllimport)
int
__cdecl
(
void
);
_Post_satisfies_(return > 0 && return < MB_LEN_MAX)
_ACRTIMP int __cdecl ___mb_cur_max_l_func(_locale_t _Locale);
#endif
__declspec
(dllimport)
int
__cdecl
(
);
_Check_return_
_ACRTIMP int __cdecl mblen(
__declspec
(dllimport)
int
__cdecl
(
_In_reads_bytes_opt_(_MaxCount) _Pre_opt_z_ char const* _Ch,
);
_Check_return_
_ACRTIMP int __cdecl _mblen_l(
__declspec
(dllimport)
int
__cdecl
(
_In_reads_bytes_opt_(_MaxCount) _Pre_opt_z_ char const* _Ch,
_In_opt_ _locale_t _Locale
);
_Check_return_
_Post_satisfies_(return <= _String_length_(_String))
_ACRTIMP size_t __cdecl _mbstrlen(
__declspec
(dllimport)
__cdecl
(
_In_z_ char const* _String
);
_Check_return_
_Post_satisfies_(return <= _String_length_(_String) || return == (size_t)-1)
_ACRTIMP size_t __cdecl _mbstrlen_l(
__declspec
(dllimport)
__cdecl
(
_In_z_ char const* _String,
_In_opt_ _locale_t _Locale
);
_Check_return_
_Post_satisfies_((return <= _String_length_(_String) && return <= _MaxCount) || return == (size_t)-1)
_ACRTIMP size_t __cdecl _mbstrnlen(
__declspec
(dllimport)
__cdecl
(
_In_z_ char const* _String,
);
_Post_satisfies_((return <= _String_length_(_String) && return <= _MaxCount) || return == (size_t)-1)
_Check_return_
_ACRTIMP size_t __cdecl _mbstrnlen_l(
__declspec
(dllimport)
__cdecl
(
_In_z_ char const* _String,
_In_opt_ _locale_t _Locale
);
_Success_(return != -1)
_ACRTIMP int __cdecl mbtowc(
__declspec
(dllimport)
int
__cdecl
(
_Pre_notnull_ _Post_z_ wchar_t* _DstCh,
_In_reads_or_z_opt_(_SrcSizeInBytes) char const* _SrcCh,
_In_ size_t _SrcSizeInBytes
);
_Success_(return != -1)
_ACRTIMP int __cdecl _mbtowc_l(
__declspec
(dllimport)
int
__cdecl
(
_Pre_notnull_ _Post_z_ wchar_t* _DstCh,
_In_reads_or_z_opt_(_SrcSizeInBytes) char const* _SrcCh,
_In_ size_t _SrcSizeInBytes,
_In_opt_ _locale_t _Locale
);
_Check_return_opt_
_ACRTIMP errno_t __cdecl mbstowcs_s(
__declspec
(dllimport)
__cdecl
(
_Out_opt_ size_t* _PtNumOfCharConverted,
_Out_writes_to_opt_(_SizeInWords, *_PtNumOfCharConverted) wchar_t* _DstBuf,
_In_ size_t _SizeInWords,
_In_reads_or_z_(_MaxCount) char const* _SrcBuf,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_2(
errno_t, mbstowcs_s,
_Out_opt_ size_t*, _PtNumOfCharConverted,
_Post_z_ wchar_t, _Dest,
_In_z_ char const*, _Source,
_In_ size_t, _MaxCount
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
*
,
wchar_t
(&
)[
],
char
const
*
,
)
throw
() {
return
(
,
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE(
_ACRTIMP, mbstowcs,
_Out_writes_opt_z_(_MaxCount), wchar_t, _Dest,
_In_z_ char const*, _Source,
_In_ size_t, _MaxCount
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"mbstowcs_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
__cdecl
(
wchar_t
*
,
char
const
*
,
);
_Check_return_opt_
_ACRTIMP errno_t __cdecl _mbstowcs_s_l(
__declspec
(dllimport)
__cdecl
(
_Out_opt_ size_t* _PtNumOfCharConverted,
_Out_writes_to_opt_(_SizeInWords, *_PtNumOfCharConverted) wchar_t* _DstBuf,
_In_ size_t _SizeInWords,
_In_reads_or_z_(_MaxCount) char const* _SrcBuf,
_In_opt_ _locale_t _Locale
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_3(
errno_t, _mbstowcs_s_l,
_Out_opt_ size_t*, _PtNumOfCharConverted,
_Post_z_ wchar_t, _Dest,
_In_z_ char const*, _Source,
_In_ size_t, _MaxCount,
_In_opt_ _locale_t, _Locale
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
*
,
wchar_t
(&
)[
],
char
const
*
,
,
)
throw
() {
return
(
,
,
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_SIZE_EX(
_ACRTIMP, _mbstowcs_l, _mbstowcs_s_l,
_Out_writes_opt_z_(_Size) wchar_t,
_Out_writes_z_(_MaxCount), wchar_t, _Dest,
_In_z_ char const*, _Source,
_In_ size_t, _MaxCount,
_In_opt_ _locale_t, _Locale
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_mbstowcs_s_l"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
__cdecl
(
wchar_t
*
,
char
const
*
,
,
);
_CRT_INSECURE_DEPRECATE(wctomb_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"wctomb_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP int __cdecl wctomb(
__declspec
(dllimport)
int
__cdecl
(
_Out_writes_opt_z_(MB_LEN_MAX) char* _MbCh,
);
_CRT_INSECURE_DEPRECATE(_wctomb_s_l)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_wctomb_s_l"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP int __cdecl _wctomb_l(
__declspec
(dllimport)
int
__cdecl
(
_Pre_maybenull_ _Post_z_ char* _MbCh,
_In_opt_ _locale_t _Locale
);
#if __STDC_WANT_SECURE_LIB__
_Check_return_wat_
_ACRTIMP errno_t __cdecl wctomb_s(
__declspec
(dllimport)
__cdecl
(
_Out_opt_ int* _SizeConverted,
_Out_writes_bytes_to_opt_(_SizeInBytes, *_SizeConverted) char* _MbCh,
_In_ rsize_t _SizeInBytes,
);
#endif // __STDC_WANT_SECURE_LIB__
_Check_return_wat_
_ACRTIMP errno_t __cdecl _wctomb_s_l(
__declspec
(dllimport)
__cdecl
(
_Out_opt_ int* _SizeConverted,
_Out_writes_opt_z_(_SizeInBytes) char* _MbCh,
_In_ size_t _SizeInBytes,
_In_opt_ _locale_t _Locale);
_Check_return_wat_
_ACRTIMP errno_t __cdecl wcstombs_s(
__declspec
(dllimport)
__cdecl
(
_Out_opt_ size_t* _PtNumOfCharConverted,
_Out_writes_bytes_to_opt_(_DstSizeInBytes, *_PtNumOfCharConverted) char* _Dst,
_In_ size_t _DstSizeInBytes,
_In_z_ wchar_t const* _Src,
_In_ size_t _MaxCountInBytes
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_2(
errno_t, wcstombs_s,
_Out_opt_ size_t*, _PtNumOfCharConverted,
_Out_writes_bytes_opt_(_Size) char, _Dest,
_In_z_ wchar_t const*, _Source,
_In_ size_t, _MaxCount
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
*
,
char
(&
)[
],
wchar_t
const
*
,
)
throw
() {
return
(
,
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE(
_ACRTIMP, wcstombs,
_Out_writes_opt_(_MaxCount), char, _Dest,
_In_z_ wchar_t const*, _Source,
_In_ size_t, _MaxCount
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"wcstombs_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
__cdecl
(
char
*
,
wchar_t
const
*
,
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl _wcstombs_s_l(
__declspec
(dllimport)
__cdecl
(
_Out_opt_ size_t* _PtNumOfCharConverted,
_Out_writes_bytes_to_opt_(_DstSizeInBytes, *_PtNumOfCharConverted) char* _Dst,
_In_ size_t _DstSizeInBytes,
_In_z_ wchar_t const* _Src,
_In_ size_t _MaxCountInBytes,
_In_opt_ _locale_t _Locale
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_3(
errno_t, _wcstombs_s_l,
_Out_opt_ size_t*, _PtNumOfCharConverted,
_Out_writes_opt_(_Size) char, _Dest,
_In_z_ wchar_t const*, _Source,
_In_ size_t, _MaxCount,
_In_opt_ _locale_t, _Locale
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
*
,
char
(&
)[
],
wchar_t
const
*
,
,
)
throw
() {
return
(
,
,
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_SIZE_EX(
_ACRTIMP, _wcstombs_l, _wcstombs_s_l,
_Out_writes_opt_z_(_Size) char,
_Out_writes_(_MaxCount), char, _Dest,
_In_z_ wchar_t const*, _Source,
_In_ size_t, _MaxCount,
_In_opt_ _locale_t, _Locale
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_wcstombs_s_l"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
__cdecl
(
char
*
,
wchar_t
const
*
,
,
);
#define _MAX_PATH 260 // max. length of full pathname
#define _MAX_DRIVE 3 // max. length of drive component
#define _MAX_DIR 256 // max. length of path component
#define _MAX_FNAME 256 // max. length of file name component
#define _MAX_EXT 256 // max. length of extension component
#pragma push_macro("_fullpath")
#undef _fullpath
_Success_(return != 0)
_Check_return_
_ACRTIMP _CRTALLOCATOR char* __cdecl _fullpath(
__declspec
(dllimport)
__declspec
(allocator)
char
*
__cdecl
(
_Out_writes_opt_z_(_BufferCount) char* _Buffer,
_In_z_ char const* _Path,
);
#pragma pop_macro("_fullpath")
_Check_return_wat_
_ACRTIMP errno_t __cdecl _makepath_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_BufferCount) char* _Buffer,
_In_ size_t _BufferCount,
_In_opt_z_ char const* _Drive,
_In_opt_z_ char const* _Dir,
_In_opt_z_ char const* _Filename,
_In_opt_z_ char const* _Ext
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(
errno_t, _makepath_s,
char, _Buffer,
_In_opt_z_ char const*, _Drive,
_In_opt_z_ char const*, _Dir,
_In_opt_z_ char const*, _Filename,
_In_opt_z_ char const*, _Ext
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
char
const
*
,
char
const
*
,
char
const
*
,
char
const
*
)
throw
() {
return
(
,
,
,
,
,
); } }
#pragma warning(push)
#pragma warning(disable: 28719) // __WARNING_BANNED_API_USAGE
#pragma warning(disable:
28719
)
#pragma warning(disable: 28726) // __WARNING_BANNED_API_USAGEL2
#pragma warning(disable:
28726
)
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4(
void, __RETURN_POLICY_VOID, _ACRTIMP, _makepath,
_Pre_notnull_ _Post_z_, char, _Buffer,
_In_opt_z_ char const*, _Drive,
_In_opt_z_ char const*, _Dir,
_In_opt_z_ char const*, _Filename,
_In_opt_z_ char const*, _Ext
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_makepath_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
void
__cdecl
(
char
*
,
char
const
*
,
char
const
*
,
char
const
*
,
char
const
*
);
#pragma warning(pop)
_CRT_INSECURE_DEPRECATE(_splitpath_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_splitpath_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP void __cdecl _splitpath(
__declspec
(dllimport)
void
__cdecl
(
_In_z_ char const* _FullPath,
_Pre_maybenull_ _Post_z_ char* _Drive,
_Pre_maybenull_ _Post_z_ char* _Dir,
_Pre_maybenull_ _Post_z_ char* _Filename,
_Pre_maybenull_ _Post_z_ char* _Ext
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl _splitpath_s(
__declspec
(dllimport)
__cdecl
(
_In_z_ char const* _FullPath,
_Out_writes_opt_z_(_DriveCount) char* _Drive,
_Out_writes_opt_z_(_DirCount) char* _Dir,
_Out_writes_opt_z_(_FilenameCount) char* _Filename,
_In_ size_t _FilenameCount,
_Out_writes_opt_z_(_ExtCount) char* _Ext,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_SPLITPATH(errno_t, _splitpath_s, char, _Dest)
extern
"C++"
{
template
<
,
,
,
>
inline
__cdecl
(
char
const
*
,
char
(&
)[
],
char
(&
)[
],
char
(&
)[
],
char
(&
)[
] )
throw
() {
return
(
,
,
,
,
,
,
,
,
); } }
#if __STDC_WANT_SECURE_LIB__
_Check_return_opt_
_Success_(return == 0)
_DCRTIMP errno_t __cdecl getenv_s(
__declspec
(dllimport)
__cdecl
(
_Out_ size_t* _RequiredCount,
_Out_writes_opt_z_(_BufferCount) char* _Buffer,
_In_ rsize_t _BufferCount,
_In_z_ char const* _VarName
);
#endif // __STDC_WANT_SECURE_LIB__
_ACRTIMP int* __cdecl __p___argc (void);
__declspec
(dllimport)
int
*
__cdecl
(
void
);
_ACRTIMP char*** __cdecl __p___argv (void);
__declspec
(dllimport)
char
***
__cdecl
(
void
);
_ACRTIMP wchar_t*** __cdecl __p___wargv(void);
__declspec
(dllimport)
wchar_t
***
__cdecl
(
void
);
#ifdef _CRT_DECLARE_GLOBAL_VARIABLES_DIRECTLY
extern int __argc;
extern char** __argv;
extern wchar_t** __wargv;
#else
#define __argc (*__p___argc()) // Pointer to number of command line arguments
#define __argv (*__p___argv()) // Pointer to table of narrow command line arguments
#define __wargv (*__p___wargv()) // Pointer to table of wide command line arguments
#endif
_DCRTIMP char*** __cdecl __p__environ (void);
__declspec
(dllimport)
char
***
__cdecl
(
void
);
_DCRTIMP wchar_t*** __cdecl __p__wenviron(void);
__declspec
(dllimport)
wchar_t
***
__cdecl
(
void
);
#ifndef _CRT_BEST_PRACTICES_USAGE
#define _CRT_V12_LEGACY_FUNCTIONALITY
#endif
#ifndef _CRT_V12_LEGACY_FUNCTIONALITY
// Deprecated symbol: Do not expose environment global pointers unless
// legacy access is specifically requested
#define _environ crt_usage_error__do_not_reference_global_pointer_directly__environ
#define _wenviron crt_usage_error__do_not_reference_global_pointer_directly__wenviron
#else
#define _environ (*__p__environ()) // Pointer to narrow environment table
#define _wenviron (*__p__wenviron()) // Pointer to wide environment table
#endif
#define _MAX_ENV 32767
#if _CRT_FUNCTIONS_REQUIRED
_Check_return_ _CRT_INSECURE_DEPRECATE(_dupenv_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_dupenv_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_DCRTIMP char* __cdecl getenv(
__declspec
(dllimport)
char
*
__cdecl
(
_In_z_ char const* _VarName
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(
errno_t, getenv_s,
_Out_ size_t*, _RequiredCount,
char, _Buffer,
_In_z_ char const*, _VarName
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
*
,
char
(&
)[
],
char
const
*
)
throw
() {
return
(
,
,
,
); } }
#if defined (_DEBUG) && defined (_CRTDBG_MAP_ALLOC)
#pragma push_macro("_dupenv_s")
#undef _dupenv_s
#endif
_Check_return_opt_
_DCRTIMP errno_t __cdecl _dupenv_s(
__declspec
(dllimport)
__cdecl
(
_Outptr_result_buffer_maybenull_(*_BufferCount) _Outptr_result_maybenull_z_ char** _Buffer,
_Out_opt_ size_t* _BufferCount,
_In_z_ char const* _VarName
);
#if defined (_DEBUG) && defined (_CRTDBG_MAP_ALLOC)
#pragma pop_macro("_dupenv_s")
#endif
_DCRTIMP int __cdecl system(
__declspec
(dllimport)
int
__cdecl
(
_In_opt_z_ char const* _Command
);
#pragma warning (push)
#pragma warning (push)
#pragma warning (disable:6540)
#pragma warning (disable:
6540
)
_Check_return_
_DCRTIMP int __cdecl _putenv(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ char const* _EnvString
);
_Check_return_wat_
_DCRTIMP errno_t __cdecl _putenv_s(
__declspec
(dllimport)
__cdecl
(
_In_z_ char const* _Name,
_In_z_ char const* _Value
);
#pragma warning (pop)
#pragma warning (pop)
_DCRTIMP errno_t __cdecl _searchenv_s(
__declspec
(dllimport)
__cdecl
(
_In_z_ char const* _Filename,
_In_z_ char const* _VarName,
_Out_writes_z_(_BufferCount) char* _Buffer,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_2_0(
errno_t, _searchenv_s,
_In_z_ char const*, _Filename,
_In_z_ char const*, _VarName,
char, _Buffer
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
const
*
,
char
const
*
,
char
(&
)[
])
throw
() {
return
(
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0(
void, __RETURN_POLICY_VOID, _DCRTIMP, _searchenv,
_In_z_ char const*, _Filename,
_In_z_ char const*, _VarName,
_Pre_notnull_ _Post_z_, char, _Buffer
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_searchenv_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
void
__cdecl
(
char
const
*
,
char
const
*
,
char
*
);
_CRT_OBSOLETE(SetErrorMode)
__declspec
(deprecated(
"This function or variable has been superceded by newer library "
"or operating system functionality. Consider using "
"SetErrorMode"
" "
"instead. See online help for details."
))
_DCRTIMP void __cdecl _seterrormode(
__declspec
(dllimport)
void
__cdecl
(
);
_CRT_OBSOLETE(Beep)
__declspec
(deprecated(
"This function or variable has been superceded by newer library "
"or operating system functionality. Consider using "
"Beep"
" "
"instead. See online help for details."
))
_DCRTIMP void __cdecl _beep(
__declspec
(dllimport)
void
__cdecl
(
_In_ unsigned _Frequency,
);
_CRT_OBSOLETE(Sleep)
__declspec
(deprecated(
"This function or variable has been superceded by newer library "
"or operating system functionality. Consider using "
"Sleep"
" "
"instead. See online help for details."
))
_DCRTIMP void __cdecl _sleep(
__declspec
(dllimport)
void
__cdecl
(
_In_ unsigned long _Duration
);
#endif // _CRT_FUNCTIONS_REQUIRED
#if _CRT_INTERNAL_NONSTDC_NAMES
#ifndef __cplusplus
#define max(a,b) (((a) > (b)) ? (a) : (b))
#define min(a,b) (((a) < (b)) ? (a) : (b))
#endif
#define sys_errlist _sys_errlist
#define sys_nerr _sys_nerr
#pragma warning(push)
#pragma warning(push)
#pragma warning(disable: 4141) // Using deprecated twice
#pragma warning(disable:
4141
)
_Check_return_ _CRT_NONSTDC_DEPRECATE(_ecvt) _CRT_INSECURE_DEPRECATE(_ecvt_s)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_ecvt"
". See online help for details."
))
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_ecvt_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl ecvt(
__declspec
(dllimport)
char
*
__cdecl
(
);
_Check_return_ _CRT_NONSTDC_DEPRECATE(_fcvt) _CRT_INSECURE_DEPRECATE(_fcvt_s)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_fcvt"
". See online help for details."
))
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_fcvt_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl fcvt(
__declspec
(dllimport)
char
*
__cdecl
(
_In_ int _FractionalDigitCount,
);
_CRT_NONSTDC_DEPRECATE(_gcvt) _CRT_INSECURE_DEPRECATE(_fcvt_s)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_gcvt"
". See online help for details."
))
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_fcvt_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl gcvt(
__declspec
(dllimport)
char
*
__cdecl
(
_Pre_notnull_ _Post_z_ char* _DstBuf
);
_CRT_NONSTDC_DEPRECATE(_itoa) _CRT_INSECURE_DEPRECATE(_itoa_s)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_itoa"
". See online help for details."
))
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_itoa_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl itoa(
__declspec
(dllimport)
char
*
__cdecl
(
_Pre_notnull_ _Post_z_ char* _Buffer,
);
_CRT_NONSTDC_DEPRECATE(_ltoa) _CRT_INSECURE_DEPRECATE(_ltoa_s)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_ltoa"
". See online help for details."
))
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_ltoa_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl ltoa(
__declspec
(dllimport)
char
*
__cdecl
(
_Pre_notnull_ _Post_z_ char* _Buffer,
);
_CRT_NONSTDC_DEPRECATE(_swab)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_swab"
". See online help for details."
))
_ACRTIMP void __cdecl swab(
__declspec
(dllimport)
void
__cdecl
(
_Inout_updates_z_(_SizeInBytes) char* _Buf1,
_Inout_updates_z_(_SizeInBytes) char* _Buf2,
);
_CRT_NONSTDC_DEPRECATE(_ultoa) _CRT_INSECURE_DEPRECATE(_ultoa_s)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_ultoa"
". See online help for details."
))
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_ultoa_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl ultoa(
__declspec
(dllimport)
char
*
__cdecl
(
_In_ unsigned long _Value,
_Pre_notnull_ _Post_z_ char* _Buffer,
);
#define environ _environ
_Check_return_ _CRT_NONSTDC_DEPRECATE(_putenv)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_putenv"
". See online help for details."
))
_DCRTIMP int __cdecl putenv(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ char const* _EnvString
);
#pragma warning(pop)
#pragma warning(pop)
onexit_t __cdecl onexit(_In_opt_ onexit_t _Func);
#endif // _CRT_INTERNAL_NONSTDC_NAMES
_CRT_END_C_HEADER
#endif // _INC_STDLIB