#pragma once
#ifndef _INC_LOCALE // include guard for 3rd party interop
#define _INC_LOCALE
#include <corecrt.h>
_CRT_BEGIN_C_HEADER
__pragma
(pack(push,
8
))
extern
"C"
{
#define LC_ALL 0
#define LC_COLLATE 1
#define LC_CTYPE 2
#define LC_MONETARY 3
#define LC_NUMERIC 4
#define LC_TIME 5
#define LC_MIN LC_ALL
#define LC_MAX LC_TIME
struct
{
char
*
;
char
*
;
char
*
;
char
*
;
char
*
;
char
*
;
char
*
;
char
*
;
char
*
;
char
*
;
char
;
char
;
char
;
char
;
char
;
char
;
char
;
char
;
wchar_t
*
;
wchar_t
*
;
wchar_t
*
;
wchar_t
*
;
wchar_t
*
;
wchar_t
*
;
wchar_t
*
;
wchar_t
*
;
};
struct
;
#ifdef _CHAR_UNSIGNED
extern int __do_unsigned_char_lconv_initialization;
extern __inline int __use_char_max(void)
{
return __do_unsigned_char_lconv_initialization;
}
#endif
#define _ENABLE_PER_THREAD_LOCALE 0x0001
#define _DISABLE_PER_THREAD_LOCALE 0x0002
#define _ENABLE_PER_THREAD_LOCALE_GLOBAL 0x0010
#define _DISABLE_PER_THREAD_LOCALE_GLOBAL 0x0020
#define _ENABLE_PER_THREAD_LOCALE_NEW 0x0100
#define _DISABLE_PER_THREAD_LOCALE_NEW 0x0200
#if _CRT_FUNCTIONS_REQUIRED
_ACRTIMP void __cdecl _lock_locales(void);
__declspec
(dllimport)
void
__cdecl
(
void
);
_ACRTIMP void __cdecl _unlock_locales(void);
__declspec
(dllimport)
void
__cdecl
(
void
);
_Check_return_opt_
_ACRTIMP int __cdecl _configthreadlocale(
__declspec
(dllimport)
int
__cdecl
(
);
_Check_return_opt_ _Success_(return != 0) _Ret_z_
_ACRTIMP char* __cdecl setlocale(
__declspec
(dllimport)
char
*
__cdecl
(
_In_opt_z_ char const* _Locale
);
_Check_return_opt_
_ACRTIMP struct lconv* __cdecl localeconv(void);
__declspec
(dllimport)
struct
*
__cdecl
(
void
);
_Check_return_opt_
_ACRTIMP _locale_t __cdecl _get_current_locale(void);
__declspec
(dllimport)
__cdecl
(
void
);
_Check_return_opt_
_ACRTIMP _locale_t __cdecl _create_locale(
__declspec
(dllimport)
__cdecl
(
_In_z_ char const* _Locale
);
_ACRTIMP void __cdecl _free_locale(
__declspec
(dllimport)
void
__cdecl
(
_In_opt_ _locale_t _Locale
);
_Check_return_opt_ _Success_(return != 0) _Ret_z_
_ACRTIMP wchar_t* __cdecl _wsetlocale(
__declspec
(dllimport)
wchar_t
*
__cdecl
(
_In_opt_z_ wchar_t const* _Locale
);
_Check_return_opt_
_ACRTIMP _locale_t __cdecl _wcreate_locale(
__declspec
(dllimport)
__cdecl
(
_In_z_ wchar_t const* _Locale
);
_ACRTIMP wchar_t** __cdecl ___lc_locale_name_func(void);
__declspec
(dllimport)
wchar_t
**
__cdecl
(
void
);
_ACRTIMP unsigned int __cdecl ___lc_codepage_func (void);
__declspec
(dllimport)
unsigned
int
__cdecl
(
void
);
_ACRTIMP unsigned int __cdecl ___lc_collate_cp_func (void);
__declspec
(dllimport)
unsigned
int
__cdecl
(
void
);
_Success_(return != 0)
_Ret_z_
_ACRTIMP char* __cdecl _Getdays(void);
__declspec
(dllimport)
char
*
__cdecl
(
void
);
_Success_(return != 0)
_Ret_z_
_ACRTIMP char* __cdecl _Getmonths(void);
__declspec
(dllimport)
char
*
__cdecl
(
void
);
_ACRTIMP void* __cdecl _Gettnames(void);
__declspec
(dllimport)
void
*
__cdecl
(
void
);
_Success_(return != 0)
_Ret_z_
_ACRTIMP wchar_t* __cdecl _W_Getdays(void);
__declspec
(dllimport)
wchar_t
*
__cdecl
(
void
);
_Success_(return != 0)
_Ret_z_
_ACRTIMP wchar_t* __cdecl _W_Getmonths(void);
__declspec
(dllimport)
wchar_t
*
__cdecl
(
void
);
_ACRTIMP void* __cdecl _W_Gettnames(void);
__declspec
(dllimport)
void
*
__cdecl
(
void
);
_Success_(return > 0)
_ACRTIMP size_t __cdecl _Strftime(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_Max_size) char* _Buffer,
_In_z_ char const* _Format,
_In_ struct tm const* _Timeptr,
_In_opt_ void* _Lc_time_arg);
_Success_(return > 0)
_ACRTIMP size_t __cdecl _Wcsftime(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_Max_size) wchar_t* _Buffer,
_In_z_ wchar_t const* _Format,
_In_ struct tm const* _Timeptr,
_In_opt_ void* _Lc_time_arg
);
#endif // _CRT_FUNCTIONS_REQUIRED
_CRT_END_C_HEADER
#endif // _INC_LOCALE