graphics.library: In INVERSVID mode, don't clobber the GC's pens
[AROS.git] / compiler / include / libraries / locale.h
blobb6049951beaa30dbafb5ba6736721afabfa88a9f
1 #ifndef LIBRARIES_LOCALE_H
2 #define LIBRARIES_LOCALE_H
4 /*
5 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Definitions for locale.library
9 Lang: english
12 #ifndef EXEC_LIBRARIES_H
13 # include <exec/libraries.h>
14 #endif
15 #ifndef EXEC_LISTS_H
16 # include <exec/lists.h>
17 #endif
18 #ifndef EXEC_NODES_H
19 # include <exec/nodes.h>
20 #endif
21 #ifndef EXEC_TYPES_H
22 # include <exec/types.h>
23 #endif
24 #ifndef UTILITY_TAGITEM_H
25 # include <utility/tagitem.h>
26 #endif
28 struct LocaleBase
30 struct Library lb_LibNode;
31 BOOL lb_SysPatches;
34 struct Locale
36 STRPTR loc_LocaleName;
37 STRPTR loc_LanguageName;
38 STRPTR loc_PrefLanguages[10];
39 ULONG loc_Flags;
40 ULONG loc_CodeSet;
42 ULONG loc_CountryCode;
43 ULONG loc_TelephoneCode;
44 LONG loc_GMTOffset;
45 UBYTE loc_MeasuringSystem; /* see below */
46 UBYTE loc_CalendarType; /* see below */
47 UBYTE loc_Reserved0[2];
49 STRPTR loc_DateTimeFormat;
50 STRPTR loc_DateFormat;
51 STRPTR loc_TimeFormat;
52 STRPTR loc_ShortDateTimeFormat;
53 STRPTR loc_ShortDateFormat;
54 STRPTR loc_ShortTimeFormat;
56 STRPTR loc_DecimalPoint;
57 STRPTR loc_GroupSeparator;
58 STRPTR loc_FracGroupSeparator;
59 UBYTE * loc_Grouping;
60 UBYTE * loc_FracGrouping;
61 STRPTR loc_MonDecimalPoint;
62 STRPTR loc_MonGroupSeparator;
63 STRPTR loc_MonFracGroupSeparator;
64 UBYTE * loc_MonGrouping;
65 UBYTE * loc_MonFracGrouping;
67 UBYTE loc_MonFracDigits;
68 UBYTE loc_MonIntFracDigits;
69 UBYTE loc_Reserved1[2];
71 STRPTR loc_MonCS;
72 STRPTR loc_MonSmallCS;
73 STRPTR loc_MonIntCS;
75 STRPTR loc_MonPositiveSign;
76 UBYTE loc_MonPositiveSpaceSep; /* see below */
77 UBYTE loc_MonPositiveSignPos; /* see below */
78 UBYTE loc_MonPositiveCSPos; /* see below */
79 UBYTE loc_Reserved2;
80 STRPTR loc_MonNegativeSign;
81 UBYTE loc_MonNegativeSpaceSep; /* see below */
82 UBYTE loc_MonNegativeSignPos; /* see below */
83 UBYTE loc_MonNegativeCSPos; /* see below */
84 UBYTE loc_Reserved3;
87 /* loc_Flags, AROS-specific */
88 #define LOCF_GMT_CLOCK (1UL << 16) /* Hardware clock stores GMT */
90 /* loc_MeasuringSystem */
91 #define MS_ISO 0
92 #define MS_AMERICAN 1
93 #define MS_IMPERIAL 2
94 #define MS_BRITISH 3
96 /* loc_CalendarType */
97 #define CT_7SUN 0
98 #define CT_7MON 1
99 #define CT_7TUE 2
100 #define CT_7WED 3
101 #define CT_7THU 4
102 #define CT_7FRI 5
103 #define CT_7SAT 6
105 /* loc_MonPositiveSpaceSep and loc_MonNegativeSpaceSep */
106 #define SS_NOSPACE 0
107 #define SS_SPACE 1
109 /* loc_MonPositiveSignPos and loc_MonNegativeSignPos */
110 #define SP_PARENS 0
111 #define SP_PREC_ALL 1
112 #define SP_SUCC_ALL 2
113 #define SP_PREC_CURR 3
114 #define SP_SUCC_CURR 4
116 /* loc_MonPositiveCSPos and loc_MonNegativeCSPos */
117 #define CSP_PRECEDES 0
118 #define CSP_SUCCEEDS 1
120 /* OpenCatalog() */
122 #define OC_TagBase (TAG_USER + 0x90000)
123 #define OC_BuiltInLanguage (OC_TagBase + 1)
124 #define OC_BuiltInCodeSet (OC_TagBase + 2)
125 #define OC_Version (OC_TagBase + 3)
126 #define OC_Language (OC_TagBase + 4)
128 /* StrnCmp() */
130 #define SC_ASCII 0
131 #define SC_COLLATE1 1
132 #define SC_COLLATE2 2
134 /* Internal String-Numbers */
136 /* Days of Week */
137 #define DAY_1 1 /* Sunday */
138 #define DAY_2 2 /* Monday */
139 #define DAY_3 3 /* Tuesday */
140 #define DAY_4 4 /* Wednesday */
141 #define DAY_5 5 /* Thursday */
142 #define DAY_6 6 /* Friday */
143 #define DAY_7 7 /* Saturday */
145 /* Abbreviated Days of Week */
146 #define ABDAY_1 8
147 #define ABDAY_2 9
148 #define ABDAY_3 10
149 #define ABDAY_4 11
150 #define ABDAY_5 12
151 #define ABDAY_6 13
152 #define ABDAY_7 14
154 /* Months */
155 #define MON_1 15 /* January */
156 #define MON_2 16
157 #define MON_3 17
158 #define MON_4 18
159 #define MON_5 19
160 #define MON_6 20
161 #define MON_7 21
162 #define MON_8 22
163 #define MON_9 23
164 #define MON_10 24
165 #define MON_11 25
166 #define MON_12 26
168 /* Abbreviated Months */
169 #define ABMON_1 27
170 #define ABMON_2 28
171 #define ABMON_3 29
172 #define ABMON_4 30
173 #define ABMON_5 31
174 #define ABMON_6 32
175 #define ABMON_7 33
176 #define ABMON_8 34
177 #define ABMON_9 35
178 #define ABMON_10 36
179 #define ABMON_11 37
180 #define ABMON_12 38
182 #define YESSTR 39
183 #define NOSTR 40
185 #define AM_STR 41
186 #define PM_STR 42
188 #define SOFTHYPHEN 43
189 #define HARDHYPHEN 44
191 #define OPENQUOTE 45
192 #define CLOSEQUOTE 46
194 #define YESTERDAYSTR 47
195 #define TODAYSTR 48
196 #define TOMORROWSTR 49
197 #define FUTURESTR 50
199 #define MAXSTRMSG 51
201 struct Catalog
203 struct Node cat_Link;
205 UWORD cat_Pad;
206 STRPTR cat_Language;
207 ULONG cat_CodeSet;
208 UWORD cat_Version;
209 UWORD cat_Revision;
212 #endif /* LIBRARIES_LOCALE_H */