2004-05-11 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / metadata / culture-info.h
1
2 #ifndef _MONO_METADATA_CULTURE_INFO_H_
3 #define _MONO_METADATA_CULTURE_INFO_H_ 1
4
5 #include <glib.h>
6
7 #define NUM_OF_DAYS 7
8 #define MAX_NUM_MONTHS 13
9 #define MAX_GROUP_SIZE 5
10
11 typedef struct {
12         const gchar *full_date_time_pattern;
13         const gchar *long_date_pattern;
14         const gchar *short_date_pattern;
15         const gchar *long_time_pattern;
16         const gchar *short_time_pattern;
17         const gchar *year_month_pattern;
18         const gchar *month_day_pattern;
19
20         const gchar *am_designator;
21         const gchar *pm_designator;
22
23         const gchar *day_names [NUM_OF_DAYS]; 
24         const gchar *abbreviated_day_names [NUM_OF_DAYS];
25         const gchar *month_names [MAX_NUM_MONTHS];
26         const gchar *abbreviated_month_names [MAX_NUM_MONTHS];
27
28         gint calendar_week_rule;
29         gint first_day_of_week;
30
31         const gchar *date_separator;
32         const gchar *time_separator;    
33 } DateTimeFormatEntry;
34
35 typedef struct {
36         const gchar *currency_decimal_separator;
37         const gchar *currency_group_separator;
38         const gchar *percent_decimal_separator;
39         const gchar *percent_group_separator;
40         const gchar *number_decimal_separator;
41         const gchar *number_group_separator;
42
43         const gchar *currency_symbol;
44         const gchar *percent_symbol;
45         const gchar *nan_symbol;
46         const gchar *per_mille_symbol;
47         const gchar *negative_infinity_symbol;
48         const gchar *positive_infinity_symbol;
49
50         const gchar *negative_sign;
51         const gchar *positive_sign;
52
53         gint currency_negative_pattern;
54         gint currency_positive_pattern;
55         gint percent_negative_pattern;
56         gint percent_positive_pattern;
57         gint number_negative_pattern;
58
59         gint currency_decimal_digits;
60         gint percent_decimal_digits;
61         gint number_decimal_digits;
62
63         const gint currency_group_sizes [MAX_GROUP_SIZE];
64         const gint percent_group_sizes [MAX_GROUP_SIZE];
65         const gint number_group_sizes [MAX_GROUP_SIZE]; 
66 } NumberFormatEntry;
67
68 typedef struct {
69         gint lcid;
70         gint parent_lcid;
71         gint specific_lcid;
72         const gchar *name;
73         const gchar *icu_name;
74         const gchar *englishname;
75         const gchar *displayname;
76         const gchar *nativename;
77         const gchar *win3lang;
78         const gchar *iso3lang;
79         const gchar *iso2lang;
80         gint datetime_format_index;
81         gint number_format_index;
82 } CultureInfoEntry;
83
84 typedef struct {
85         const gchar *name;
86         gint culture_entry_index;
87 } CultureInfoNameEntry;
88
89 #endif
90