Print this page
2964 need POSIX 2008 locale object support
@@ -41,12 +41,10 @@
*/
#ifndef _ISO_LOCALE_ISO_H
#define _ISO_LOCALE_ISO_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/feature_tests.h>
#ifdef __cplusplus
extern "C" {
#endif
@@ -113,10 +111,32 @@
#else
extern char *setlocale();
extern struct lconv *localeconv();
#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)
+
+/* XXX */
+#ifndef _LOCALE_T_DEFINED
+#define _LOCALE_T_DEFINED
+typedef struct _xlocale *locale_t;
+#endif
+
+locale_t duplocale(locale_t);
+int freelocale(locale_t);
+locale_t newlocale(int, const char *, locale_t);
+const char *querylocale(int, locale_t);
+locale_t uselocale(locale_t);
+
#if __cplusplus >= 199711L
}
#endif /* end of namespace std */
#ifdef __cplusplus