2009-01-18 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / metadata / culture-info.h
index f6e688faeee9aed67af230f6bcd68f3a232d858a..2392e750e60591fa1eb98023bd4c7805a2680323 100644 (file)
@@ -11,8 +11,8 @@
 
 #define NUM_SHORT_DATE_PATTERNS 14
 #define NUM_LONG_DATE_PATTERNS 8
-#define NUM_SHORT_TIME_PATTERNS 5
-#define NUM_LONG_TIME_PATTERNS 6
+#define NUM_SHORT_TIME_PATTERNS 11
+#define NUM_LONG_TIME_PATTERNS 10
 
 #define idx2string(idx) (locale_strings + (idx))
 
@@ -36,8 +36,8 @@ typedef struct {
        const stridx_t month_names [NUM_MONTHS];
        const stridx_t abbreviated_month_names [NUM_MONTHS];
 
-       gint calendar_week_rule;
-       gint first_day_of_week;
+       gint8 calendar_week_rule;
+       gint8 first_day_of_week;
 
        const stridx_t date_separator;
        const stridx_t time_separator;  
@@ -66,15 +66,15 @@ typedef struct {
        const stridx_t negative_sign;
        const stridx_t positive_sign;
 
-       gint currency_negative_pattern;
-       gint currency_positive_pattern;
-       gint percent_negative_pattern;
-       gint percent_positive_pattern;
-       gint number_negative_pattern;
+       gint8 currency_negative_pattern;
+       gint8 currency_positive_pattern;
+       gint8 percent_negative_pattern;
+       gint8 percent_positive_pattern;
+       gint8 number_negative_pattern;
 
-       gint currency_decimal_digits;
-       gint percent_decimal_digits;
-       gint number_decimal_digits;
+       gint8 currency_decimal_digits;
+       gint8 percent_decimal_digits;
+       gint8 number_decimal_digits;
 
        const gint currency_group_sizes [GROUP_SIZE];
        const gint percent_group_sizes [GROUP_SIZE];
@@ -82,9 +82,18 @@ typedef struct {
 } NumberFormatEntry;
 
 typedef struct {
-       gint lcid;
-       gint parent_lcid;
-       gint specific_lcid;
+       const gint ansi;
+       const gint ebcdic;
+       const gint mac;
+       const gint oem;
+       const char list_sep;
+} TextInfoEntry;
+
+typedef struct {
+       gint16 lcid;
+       gint16 parent_lcid;
+       gint16 specific_lcid;
+       gint16 region_entry_index;
        const stridx_t name;
        const stridx_t icu_name;
        const stridx_t englishname;
@@ -93,11 +102,14 @@ typedef struct {
        const stridx_t win3lang;
        const stridx_t iso3lang;
        const stridx_t iso2lang;
+       const stridx_t territory;
 
        gint calendar_data [NUM_OPT_CALS];
 
        gint16 datetime_format_index;
        gint16 number_format_index;
+       
+       TextInfoEntry text_info;
 } CultureInfoEntry;
 
 typedef struct {
@@ -105,5 +117,23 @@ typedef struct {
        gint16 culture_entry_index;
 } CultureInfoNameEntry;
 
+typedef struct {
+       gint16 lcid;
+       gint16 region_id; /* it also works as geoId in 2.0 */
+       /* gint8 measurement_system; // 0:metric 1:US 2:UK */
+       const stridx_t iso2name;
+       const stridx_t iso3name;
+       const stridx_t win3name;
+       const stridx_t english_name;
+       const stridx_t currency_symbol;
+       const stridx_t iso_currency_symbol;
+       const stridx_t currency_english_name;
+} RegionInfoEntry;
+
+typedef struct {
+       const stridx_t name;
+       gint16 region_entry_index;
+} RegionInfoNameEntry;
+
 #endif