From 613d90c7047be08a90a2bf5d2cc4fb8bcea2f8bb Mon Sep 17 00:00:00 2001 From: jtc Date: Wed, 25 May 1994 01:14:14 +0000 Subject: First of the locale support code is going in... --- include/locale.h | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 121 insertions(+), 1 deletion(-) (limited to 'include') 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 +#include + +#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_ */ -- cgit