File Index Symbol Index

//
// locale.h
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// The C locale library.
//
#pragma once
#ifndef _INC_LOCALE // include guard for 3rd party interop
#define _INC_LOCALE
#include <corecrt.h>
// Locale categories
#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
// Locale convention structure
struct
lconv
{
char
*
decimal_point
;
char
*
thousands_sep
;
char
*
grouping
;
char
*
int_curr_symbol
;
char
*
currency_symbol
;
char
*
mon_decimal_point
;
char
*
mon_thousands_sep
;
char
*
mon_grouping
;
char
*
positive_sign
;
char
*
negative_sign
;
char
int_frac_digits
;
char
frac_digits
;
char
p_cs_precedes
;
char
p_sep_by_space
;
char
n_cs_precedes
;
char
n_sep_by_space
;
char
p_sign_posn
;
char
n_sign_posn
;
wchar_t
*
_W_decimal_point
;
wchar_t
*
_W_thousands_sep
;
wchar_t
*
_W_int_curr_symbol
;
wchar_t
*
_W_currency_symbol
;
wchar_t
*
_W_mon_decimal_point
;
wchar_t
*
_W_mon_thousands_sep
;
wchar_t
*
_W_positive_sign
;
wchar_t
*
_W_negative_sign
; };
struct
tm
;
// ANSI: char lconv members default is CHAR_MAX which is compile time dependent.
// Defining and using __do_unsigned_char_lconv_initialization here causes CRT
// startup code to initialize lconv members properly
#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
_Check_return_opt_
);
_Check_return_opt_ _Success_(return != 0) _Ret_z_
);
_Check_return_opt_
_Check_return_opt_
_Check_return_opt_
); );
// Also declared in <wchar.h>
_Check_return_opt_ _Success_(return != 0) _Ret_z_
);
_Check_return_opt_
);
// Time-related functions
_Success_(return != 0)
_Ret_z_
_Success_(return != 0)
_Ret_z_
_Success_(return != 0)
_Ret_z_
_Success_(return != 0)
_Ret_z_
_Success_(return > 0)
_Success_(return > 0)
);
#endif // _CRT_FUNCTIONS_REQUIRED