summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorjtc <jtc@NetBSD.org>1994-05-25 01:14:14 +0000
committerjtc <jtc@NetBSD.org>1994-05-25 01:14:14 +0000
commit613d90c7047be08a90a2bf5d2cc4fb8bcea2f8bb (patch)
treec59959ee1448d89b8ff836132795815733d261a9 /include
parentfaab9fa25d40719aac1d44fea0f99c72a01a3391 (diff)
First of the locale support code is going in...
Diffstat (limited to 'include')
-rw-r--r--include/locale.h122
1 files changed, 121 insertions, 1 deletions
diff --git a/include/locale.h b/include/locale.h
index 84ec9298374..5bb9df4f3f2 100644
--- a/include/locale.h
+++ b/include/locale.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)locale.h 5.2 (Berkeley) 2/24/91
- * $Id: locale.h,v 1.3 1993/09/02 20:46:33 jtc Exp $
+ * $Id: locale.h,v 1.4 1994/05/25 01:14:14 jtc Exp $
*/
#ifndef _LOCALE_H_
@@ -79,4 +79,124 @@ struct lconv *localeconv __P((void));
char *setlocale __P((int, const char *));
__END_DECLS
+
+#ifdef _LOCALE_PRIVATE
+
+#include <sys/param.h>
+#include <sys/types.h>
+
+#define _LOCALE_MAGIC 0x12345678
+
+
+/* On disk structure of LC_MONETARY locale data */
+typedef struct
+{
+ u_long magic;
+ u_short len;
+
+ u_short int_curr_symbol_off;
+ u_short currency_symbol_off;
+ u_short mon_decimal_point_off;
+ u_short mon_thousands_sep_off;
+ u_short mon_grouping_off;
+ u_short positive_sign_off;
+ u_short negative_sign_off;
+ 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;
+} _MonetaryLocaleHeader;
+
+/* In core structure of LC_MONETARY locale data */
+typedef struct
+{
+ 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 data[0];
+} _MonetaryLocale;
+
+extern const _MonetaryLocale *_CurrentMonetaryLocale;
+extern const _MonetaryLocale _DefaultMonetaryLocale;
+
+
+/* On disk structure of LC_NUMERIC locale data */
+typedef struct
+{
+ u_long magic;
+ u_short len;
+
+ u_short decimal_point_off;
+ u_short thousands_sep_off;
+ u_short grouping_off;
+} _NumericLocaleHeader;
+
+/* In core structure of LC_NUMERIC locale data */
+typedef struct
+{
+ const char *decimal_point;
+ const char *thousands_sep;
+ const char *grouping;
+
+ char data[0];
+} _NumericLocale;
+
+extern const _NumericLocale *_CurrentNumericLocale;
+extern const _NumericLocale _DefaultNumericLocale;
+
+
+/* On disk structure of LC_TIME locale data */
+typedef struct
+{
+ u_long magic; /* magic number */
+ u_short len; /* len of variable-size data after hdr */
+
+ u_short abday_off[7]; /* offsets of strings in data block */
+ u_short day_off[7];
+ u_short abmon_off[12];
+ u_short mon_off[12];
+ u_short am_pm_off[2];
+ u_short d_t_fmt_off;
+ u_short d_fmt_off;
+ u_short t_fmt_off;
+ u_short t_fmt_ampm_off;
+} _TimeLocaleHeader;
+
+/* In core structure of LC_TIME locale data */
+typedef struct {
+ const char *abday[7];
+ const char *day[7];
+ const char *abmon[12];
+ const char *mon[12];
+ const char *am_pm[2];
+ const char *d_t_fmt;
+ const char *d_fmt;
+ const char *t_fmt;
+ const char *t_fmt_ampm;
+
+ char data[0];
+} _TimeLocale;
+
+extern const _TimeLocale *_CurrentTimeLocale;
+extern const _TimeLocale _DefaultTimeLocale;
+
+#endif /* _LOCALE_PRIVATE */
+
#endif /* _LOCALE_H_ */