aboutsummaryrefslogtreecommitdiffstats
path: root/include/locale.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2012-02-14 21:48:46 +0000
committerDimitry Andric <dim@FreeBSD.org>2012-02-14 21:48:46 +0000
commitb74cf6dcf17dd06d3b530f7d4bec6191728f24b9 (patch)
tree00a985b9380f82c7f307d0bcf2af19ad578ceabb /include/locale.h
parenta40c00a535e3b71a50072880ef05e22b0cf2732b (diff)
downloadsrc-b74cf6dcf17dd06d3b530f7d4bec6191728f24b9.tar.gz
src-b74cf6dcf17dd06d3b530f7d4bec6191728f24b9.zip
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
Notes
Notes: svn path=/head/; revision=231714
Diffstat (limited to 'include/locale.h')
-rw-r--r--include/locale.h47
1 files changed, 45 insertions, 2 deletions
diff --git a/include/locale.h b/include/locale.h
index 0edc3eab716d..8df0a6a8882b 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_ */