mirror of
git://git.musl-libc.org/musl
synced 2024-12-25 08:02:28 +00:00
c1a9658bd1
the old behavior of exposing nothing except plain ISO C can be obtained by defining __STRICT_ANSI__ or using a compiler option (such as -std=c99) that predefines it. the new default featureset is POSIX with XSI plus _BSD_SOURCE. any explicit feature test macros will inhibit the default. installation docs have also been updated to reflect this change.
88 lines
1.6 KiB
C
88 lines
1.6 KiB
C
#ifndef _LOCALE_H
|
|
#define _LOCALE_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <features.h>
|
|
|
|
#undef NULL
|
|
#ifdef __cplusplus
|
|
#define NULL 0
|
|
#else
|
|
#define NULL ((void*)0)
|
|
#endif
|
|
|
|
#define LC_CTYPE 0
|
|
#define LC_NUMERIC 1
|
|
#define LC_TIME 2
|
|
#define LC_COLLATE 3
|
|
#define LC_MONETARY 4
|
|
#define LC_MESSAGES 5
|
|
#define LC_ALL 6
|
|
|
|
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;
|
|
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;
|
|
};
|
|
|
|
|
|
char *setlocale (int, const char *);
|
|
struct lconv *localeconv(void);
|
|
|
|
|
|
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|
|
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
|
|
|
|
#define __NEED_locale_t
|
|
|
|
#include <bits/alltypes.h>
|
|
|
|
#define LC_GLOBAL_LOCALE ((locale_t)-1)
|
|
|
|
#define LC_CTYPE_MASK (1<<LC_CTYPE)
|
|
#define LC_NUMERIC_MASK (1<<LC_NUMERIC)
|
|
#define LC_TIME_MASK (1<<LC_TIME)
|
|
#define LC_COLLATE_MASK (1<<LC_COLLATE)
|
|
#define LC_MONETARY_MASK (1<<LC_MONETARY)
|
|
#define LC_MESSAGES_MASK (1<<LC_MESSAGES)
|
|
#define LC_ALL_MASK 0x7fffffff
|
|
|
|
locale_t duplocale(locale_t);
|
|
void freelocale(locale_t);
|
|
locale_t newlocale(int, const char *, locale_t);
|
|
locale_t uselocale(locale_t);
|
|
|
|
#endif
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|