added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / compiler / include / libraries / locale.h
blobd6249010b43f320b43af1992d261c52da77ec338
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_MeasuringSystem */
88 #define MS_ISO 0
89 #define MS_AMERICAN 1
90 #define MS_IMPERIAL 2
91 #define MS_BRITISH 3
93 /* loc_CalendarType */
94 #define CT_7SUN 0
95 #define CT_7MON 1
96 #define CT_7TUE 2
97 #define CT_7WED 3
98 #define CT_7THU 4
99 #define CT_7FRI 5
100 #define CT_7SAT 6
102 /* loc_MonPositiveSpaceSep and loc_MonNegativeSpaceSep */
103 #define SS_NOSPACE 0
104 #define SS_SPACE 1
106 /* loc_MonPositiveSignPos and loc_MonNegativeSignPos */
107 #define SP_PARENS 0
108 #define SP_PREC_ALL 1
109 #define SP_SUCC_ALL 2
110 #define SP_PREC_CURR 3
111 #define SP_SUCC_CURR 4
113 /* loc_MonPositiveCSPos and loc_MonNegativeCSPos */
114 #define CSP_PRECEDES 0
115 #define CSP_SUCCEEDS 1
117 /* OpenCatalog() */
119 #define OC_TagBase (TAG_USER + 0x90000)
120 #define OC_BuiltInLanguage (OC_TagBase + 1)
121 #define OC_BuiltInCodeSet (OC_TagBase + 2)
122 #define OC_Version (OC_TagBase + 3)
123 #define OC_Language (OC_TagBase + 4)
125 /* StrnCmp() */
127 #define SC_ASCII 0
128 #define SC_COLLATE1 1
129 #define SC_COLLATE2 2
131 /* Internal String-Numbers */
133 /* Days of Week */
134 #define DAY_1 1 /* Sunday */
135 #define DAY_2 2 /* Monday */
136 #define DAY_3 3 /* Tuesday */
137 #define DAY_4 4 /* Wednesday */
138 #define DAY_5 5 /* Thursday */
139 #define DAY_6 6 /* Friday */
140 #define DAY_7 7 /* Saturday */
142 /* Abbreviated Days of Week */
143 #define ABDAY_1 8
144 #define ABDAY_2 9
145 #define ABDAY_3 10
146 #define ABDAY_4 11
147 #define ABDAY_5 12
148 #define ABDAY_6 13
149 #define ABDAY_7 14
151 /* Months */
152 #define MON_1 15 /* January */
153 #define MON_2 16
154 #define MON_3 17
155 #define MON_4 18
156 #define MON_5 19
157 #define MON_6 20
158 #define MON_7 21
159 #define MON_8 22
160 #define MON_9 23
161 #define MON_10 24
162 #define MON_11 25
163 #define MON_12 26
165 /* Abbreviated Months */
166 #define ABMON_1 27
167 #define ABMON_2 28
168 #define ABMON_3 29
169 #define ABMON_4 30
170 #define ABMON_5 31
171 #define ABMON_6 32
172 #define ABMON_7 33
173 #define ABMON_8 34
174 #define ABMON_9 35
175 #define ABMON_10 36
176 #define ABMON_11 37
177 #define ABMON_12 38
179 #define YESSTR 39
180 #define NOSTR 40
182 #define AM_STR 41
183 #define PM_STR 42
185 #define SOFTHYPHEN 43
186 #define HARDHYPHEN 44
188 #define OPENQUOTE 45
189 #define CLOSEQUOTE 46
191 #define YESTERDAYSTR 47
192 #define TODAYSTR 48
193 #define TOMORROWSTR 49
194 #define FUTURESTR 50
196 #define MAXSTRMSG 51
198 struct Catalog
200 struct Node cat_Link;
202 UWORD cat_Pad;
203 STRPTR cat_Language;
204 ULONG cat_CodeSet;
205 UWORD cat_Version;
206 UWORD cat_Revision;
209 #endif /* LIBRARIES_LOCALE_H */