diff options
author | dim <dim@FreeBSD.org> | 2012-02-14 21:48:46 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2012-02-14 21:48:46 +0000 |
commit | 22f749d90e97e5b3ffa074fbef5cdaf4ee857388 (patch) | |
tree | 00a985b9380f82c7f307d0bcf2af19ad578ceabb /include/locale.h | |
parent | 2a66ed0b53bbc14ffa0439fc20727b37655fdaf3 (diff) | |
download | FreeBSD-src-22f749d90e97e5b3ffa074fbef5cdaf4ee857388.zip FreeBSD-src-22f749d90e97e5b3ffa074fbef5cdaf4ee857388.tar.gz |
Revert r231673 and r231682 for now, until we can run a full make
universe with them. Sorry for the breakage.
Pointy hat to: me and brooks
Diffstat (limited to 'include/locale.h')
-rw-r--r-- | include/locale.h | 47 |
1 files changed, 45 insertions, 2 deletions
diff --git a/include/locale.h b/include/locale.h index 0edc3ea..8df0a6a 100644 --- a/include/locale.h +++ b/include/locale.h @@ -77,11 +77,54 @@ struct lconv { __BEGIN_DECLS struct lconv *localeconv(void); char *setlocale(int, const char *); +__END_DECLS #if __POSIX_VISIBLE >= 200809 -#include <xlocale/_locale.h> -#endif + +#define LC_COLLATE_MASK (1<<0) +#define LC_CTYPE_MASK (1<<1) +#define LC_MESSAGES_MASK (1<<2) +#define LC_MONETARY_MASK (1<<3) +#define LC_NUMERIC_MASK (1<<4) +#define LC_TIME_MASK (1<<5) +#define LC_ALL_MASK (LC_COLLATE_MASK | LC_CTYPE_MASK | LC_MESSAGES_MASK | \ + LC_MONETARY_MASK | LC_NUMERIC_MASK | LC_TIME_MASK) + +#define LC_GLOBAL_LOCALE ((locale_t)-1) + +__BEGIN_DECLS + +typedef struct _xlocale *locale_t; +/** + * Creates a new locale. + */ +locale_t newlocale(int mask, const char *locale, locale_t base); + +/** + * Returns an identical duplicate of the passed locale. The returned locale + * must be freed with freelocale(). The returned locale will share components + * with the original. + */ +locale_t duplocale(locale_t base); +/* + * Free a locale_t. This is quite a poorly named function. It actually + * disclaims a reference to a locale_t, rather than freeing it. + */ +int freelocale(locale_t loc); + +/* + * Returns the name of the locale for a particular component of a locale_t. + */ +const char *querylocale(int mask, locale_t loc); + +/* + * Installs the specified locale_t as this thread's locale. + */ +locale_t uselocale(locale_t loc); + __END_DECLS +#endif /* __POSIX_VISIBLE >= 200809 */ + #endif /* _LOCALE_H_ */ |