#ifndef __LOCALE_LOADED #define __LOCALE_LOADED 1 #ifndef __LOCALE_PROCESSED #define __LOCALE_PROCESSED /**************************************************************************** ** ** - Localization ** ***************************************************************************** ** Header introduced by the ANSI C Standard ***************************************************************************** ** * ** HPE CONFIDENTIAL. This software is confidential proprietary software * ** licensed by Hewlett Packard Enterprise Development, LP, and is not * ** authorized to be used, duplicated or disclosed to anyone without the * ** prior written permission of HPE. * ** Copyright 2004 Hewlett Packard Enterprise Development, LP * ** * ** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential * ** proprietary software licensed by VMS Software, Inc., and is not * ** authorized to be used, duplicated or disclosed to anyone without * ** the prior written permission of VMS Software, Inc. * ** Copyright 2021-2022 VMS Software, Inc. * ** * ****************************************************************************/ #pragma __nostandard #include #ifdef __cplusplus extern "C" { #endif #if __INITIAL_POINTER_SIZE #pragma __pointer_size __save #endif /* ** Member align structures */ #pragma __member_alignment __save #pragma __member_alignment /* ** Define the lconv structure */ #if defined(__USE_ISOC99) || defined(__clang__) #define __LCONV_MEMBERS \ 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; \ char int_p_cs_precedes; \ char int_p_sep_by_space; \ char int_n_cs_precedes; \ char int_n_sep_by_space; \ char int_p_sign_posn; \ char int_n_sign_posn; #else #define __LCONV_MEMBERS \ 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; #endif #ifdef __NAMESPACE_STD namespace std { #endif #if __CRTL_VER >= 80500000 && __INITIAL_POINTER_SIZE && !defined _ANSI_C_SOURCE # pragma __pointer_size 64 struct __lconv64 { __LCONV_MEMBERS }; # pragma __pointer_size 32 struct __lconv32 { __LCONV_MEMBERS }; # if __INITIAL_POINTER_SIZE == 32 # define lconv __lconv32 # elif __INITIAL_POINTER_SIZE == 64 # define lconv __lconv64 # endif #else struct lconv { __LCONV_MEMBERS }; #endif #ifdef __NAMESPACE_STD } /* namespace std */ #endif /* ** Define NULL */ #ifndef NULL # define NULL __NULL #endif /* ** Define lconv enumerated values */ #define LC_ALL (-1) #define LC_COLLATE 0 #define LC_CTYPE 1 #define LC_MONETARY 2 #define LC_NUMERIC 3 #define LC_TIME 4 #if __CRTL_VER >= 60200000 && (_POSIX_C_SOURCE >= 2 || !defined _ANSI_C_SOURCE) # define LC_MESSAGES 5 #endif #if __CRTL_VER >= 60200000 && !defined _ANSI_C_SOURCE # define LC_MAX 5 #endif /* ** Change MIA environment to use MIA setlocale semantics */ #ifdef __MIA # ifdef setlocale # undef setlocale # endif # define setlocale decc$mia_setlocale_v1 #endif /* ** Function prototypes */ #if __INITIAL_POINTER_SIZE == 32 # pragma __pointer_size 32 #endif #ifdef __NAMESPACE_STD namespace std { #endif char *setlocale(int __category, __const_char_ptr64 __locale); #if __INITIAL_POINTER_SIZE == 64 && __CRTL_VER >= 80500000 # pragma __pointer_size 64 #endif struct lconv *localeconv(void); #if __CRTL_VER >= 80500000 && __INITIAL_POINTER_SIZE && !defined _ANSI_C_SOURCE # pragma __pointer_size 32 struct __lconv32 *_localeconv32(void); # pragma __pointer_size 64 struct __lconv64 *_localeconv64(void); #endif #ifdef __NAMESPACE_STD } /* namespace std */ #endif #pragma __member_alignment __restore /* ** Restore the users pointer context */ #if __INITIAL_POINTER_SIZE # pragma __pointer_size __restore #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __LOCALE_PROCESSED */ #if defined(__NAMESPACE_STD) && !defined(__NAMESPACE_STD_ONLY) # ifndef __USING_LOCALE_NAMES # define __USING_LOCALE_NAMES using std::lconv; using std::localeconv; using std::setlocale; # endif #endif #endif /* __LOCALE_LOADED */