2 #ifndef _MONO_METADATA_CULTURE_INFO_H_
3 #define _MONO_METADATA_CULTURE_INFO_H_ 1
6 #include <mono/metadata/object.h>
11 #define NUM_CALENDARS 4
13 #define NUM_SHORT_DATE_PATTERNS 14
14 #define NUM_LONG_DATE_PATTERNS 8
15 #define NUM_SHORT_TIME_PATTERNS 12
16 #define NUM_LONG_TIME_PATTERNS 9
18 #define idx2string(idx) (locale_strings + (idx))
20 /* need to change this if the string data ends up to not fit in a 64KB array. */
21 typedef guint16 stridx_t
;
24 const stridx_t long_date_pattern
;
25 const stridx_t short_date_pattern
;
26 const stridx_t long_time_pattern
;
27 const stridx_t short_time_pattern
;
28 const stridx_t year_month_pattern
;
29 const stridx_t month_day_pattern
;
31 const stridx_t am_designator
;
32 const stridx_t pm_designator
;
34 const stridx_t day_names
[NUM_DAYS
];
35 const stridx_t abbreviated_day_names
[NUM_DAYS
];
36 const stridx_t shortest_day_names
[NUM_DAYS
];
37 const stridx_t month_names
[NUM_MONTHS
];
38 const stridx_t month_genitive_names
[NUM_MONTHS
];
39 const stridx_t abbreviated_month_names
[NUM_MONTHS
];
40 const stridx_t abbreviated_month_genitive_names
[NUM_MONTHS
];
42 const gint8 calendar_week_rule
;
43 const gint8 first_day_of_week
;
45 const stridx_t date_separator
;
46 const stridx_t time_separator
;
48 const stridx_t short_date_patterns
[NUM_SHORT_DATE_PATTERNS
];
49 const stridx_t long_date_patterns
[NUM_LONG_DATE_PATTERNS
];
50 const stridx_t short_time_patterns
[NUM_SHORT_TIME_PATTERNS
];
51 const stridx_t long_time_patterns
[NUM_LONG_TIME_PATTERNS
];
52 } DateTimeFormatEntry
;
55 const stridx_t currency_decimal_separator
;
56 const stridx_t currency_group_separator
;
57 const stridx_t percent_decimal_separator
;
58 const stridx_t percent_group_separator
;
59 const stridx_t number_decimal_separator
;
60 const stridx_t number_group_separator
;
62 const stridx_t currency_symbol
;
63 const stridx_t percent_symbol
;
64 const stridx_t nan_symbol
;
65 const stridx_t per_mille_symbol
;
66 const stridx_t negative_infinity_symbol
;
67 const stridx_t positive_infinity_symbol
;
69 const stridx_t negative_sign
;
70 const stridx_t positive_sign
;
72 const gint8 currency_negative_pattern
;
73 const gint8 currency_positive_pattern
;
74 const gint8 percent_negative_pattern
;
75 const gint8 percent_positive_pattern
;
76 const gint8 number_negative_pattern
;
78 const gint8 currency_decimal_digits
;
79 const gint8 percent_decimal_digits
;
80 const gint8 number_decimal_digits
;
82 const gint currency_group_sizes
[GROUP_SIZE
];
83 const gint percent_group_sizes
[GROUP_SIZE
];
84 const gint number_group_sizes
[GROUP_SIZE
];
92 const MonoBoolean is_right_to_left
;
98 const gint16 parent_lcid
;
99 const gint16 calendar_type
;
100 const gint16 region_entry_index
;
102 const stridx_t englishname
;
103 const stridx_t nativename
;
104 const stridx_t win3lang
;
105 const stridx_t iso3lang
;
106 const stridx_t iso2lang
;
107 const stridx_t territory
;
108 const stridx_t native_calendar_names
[NUM_CALENDARS
];
110 const gint16 datetime_format_index
;
111 const gint16 number_format_index
;
113 const TextInfoEntry text_info
;
118 const gint16 culture_entry_index
;
119 } CultureInfoNameEntry
;
123 const stridx_t iso2name
;
124 const stridx_t iso3name
;
125 const stridx_t win3name
;
126 const stridx_t english_name
;
127 const stridx_t native_name
;
128 const stridx_t currency_symbol
;
129 const stridx_t iso_currency_symbol
;
130 const stridx_t currency_english_name
;
131 const stridx_t currency_native_name
;
136 const gint16 region_entry_index
;
137 } RegionInfoNameEntry
;