(add_to_readlist): Take locale pointer as extra parameter from which
[kopensolaris-gnu/glibc.git] / locale / programs / locfile-token.h
1 /* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Library General Public License as
7    published by the Free Software Foundation; either version 2 of the
8    License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Library General Public License for more details.
14
15    You should have received a copy of the GNU Library General Public
16    License along with the GNU C Library; see the file COPYING.LIB.  If not,
17    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18    Boston, MA 02111-1307, USA.  */
19
20 #ifndef _TOKEN_H
21 #define _TOKEN_H
22
23 enum token_t
24 {
25   tok_none = 0,
26
27   tok_eof,
28   tok_eol,
29   tok_bsymbol,
30   tok_ident,
31   tok_ellipsis2,
32   tok_ellipsis3,
33   tok_ellipsis4,
34   tok_ellipsis2_2,
35   tok_ellipsis4_2,
36   tok_semicolon,
37   tok_comma,
38   tok_open_brace,
39   tok_close_brace,
40   tok_charcode,
41   tok_ucs4,
42   tok_number,
43   tok_minus1,
44   tok_string,
45   tok_include,
46
47   tok_escape_char,
48   tok_comment_char,
49   tok_charmap,
50   tok_end,
51   tok_g0esc,
52   tok_g1esc,
53   tok_g2esc,
54   tok_g3esc,
55   tok_escseq,
56   tok_addset,
57
58   tok_charids,
59
60   tok_code_set_name,
61   tok_mb_cur_max,
62   tok_mb_cur_min,
63   tok_charconv,
64   tok_width,
65   tok_width_variable,
66   tok_width_default,
67   tok_repertoiremap,
68
69   tok_lc_ctype,
70   tok_copy,
71   /* Keep the following entries up to the next comment in this order!  */
72   tok_upper,
73   tok_lower,
74   tok_alpha,
75   tok_digit,
76   tok_xdigit,
77   tok_space,
78   tok_print,
79   tok_graph,
80   tok_blank,
81   tok_cntrl,
82   tok_punct,
83   tok_alnum,
84   /* OK, shuffling allowed again.  */
85   tok_outdigit,
86   tok_charclass,
87   tok_class,
88   tok_toupper,
89   tok_tolower,
90   tok_map,
91   tok_translit_start,
92   tok_translit_end,
93   tok_translit_ignore,
94   tok_default_missing,
95   tok_lc_collate,
96   tok_coll_weight_max,
97   tok_section_symbol,
98   tok_collating_element,
99   tok_collating_symbol,
100   tok_symbol_equivalence,
101   tok_order_start,
102   tok_order_end,
103   tok_from,
104   tok_forward,
105   tok_backward,
106   tok_position,
107   tok_undefined,
108   tok_ignore,
109   tok_reorder_after,
110   tok_reorder_end,
111   tok_reorder_sections_after,
112   tok_reorder_sections_end,
113   tok_define,
114   tok_undef,
115   tok_ifdef,
116   tok_ifndef,
117   tok_else,
118   tok_elif,
119   tok_endif,
120   tok_lc_monetary,
121   tok_int_curr_symbol,
122   tok_currency_symbol,
123   tok_mon_decimal_point,
124   tok_mon_thousands_sep,
125   tok_mon_grouping,
126   tok_positive_sign,
127   tok_negative_sign,
128   tok_int_frac_digits,
129   tok_frac_digits,
130   tok_p_cs_precedes,
131   tok_p_sep_by_space,
132   tok_n_cs_precedes,
133   tok_n_sep_by_space,
134   tok_p_sign_posn,
135   tok_n_sign_posn,
136   tok_int_p_cs_precedes,
137   tok_int_p_sep_by_space,
138   tok_int_n_cs_precedes,
139   tok_int_n_sep_by_space,
140   tok_int_p_sign_posn,
141   tok_int_n_sign_posn,
142   tok_duo_int_curr_symbol,
143   tok_duo_currency_symbol,
144   tok_duo_int_frac_digits,
145   tok_duo_frac_digits,
146   tok_duo_p_cs_precedes,
147   tok_duo_p_sep_by_space,
148   tok_duo_n_cs_precedes,
149   tok_duo_n_sep_by_space,
150   tok_duo_int_p_cs_precedes,
151   tok_duo_int_p_sep_by_space,
152   tok_duo_int_n_cs_precedes,
153   tok_duo_int_n_sep_by_space,
154   tok_duo_p_sign_posn,
155   tok_duo_n_sign_posn,
156   tok_duo_int_p_sign_posn,
157   tok_duo_int_n_sign_posn,
158   tok_uno_valid_from,
159   tok_uno_valid_to,
160   tok_duo_valid_from,
161   tok_duo_valid_to,
162   tok_conversion_rate,
163   tok_lc_numeric,
164   tok_decimal_point,
165   tok_thousands_sep,
166   tok_grouping,
167   tok_lc_time,
168   tok_abday,
169   tok_day,
170   tok_abmon,
171   tok_mon,
172   tok_d_t_fmt,
173   tok_d_fmt,
174   tok_t_fmt,
175   tok_am_pm,
176   tok_t_fmt_ampm,
177   tok_era,
178   tok_era_year,
179   tok_era_d_fmt,
180   tok_era_d_t_fmt,
181   tok_era_t_fmt,
182   tok_alt_digits,
183   tok_week,
184   tok_first_weekday,
185   tok_first_workday,
186   tok_cal_direction,
187   tok_timezone,
188   tok_lc_messages,
189   tok_yesexpr,
190   tok_noexpr,
191   tok_yesstr,
192   tok_nostr,
193   tok_lc_paper,
194   tok_height,
195   tok_lc_name,
196   tok_name_fmt,
197   tok_name_gen,
198   tok_name_mr,
199   tok_name_mrs,
200   tok_name_miss,
201   tok_name_ms,
202   tok_lc_address,
203   tok_postal_fmt,
204   tok_country_name,
205   tok_country_post,
206   tok_country_ab2,
207   tok_country_ab3,
208   tok_country_num,
209   tok_country_car,
210   tok_country_isbn,
211   tok_lang_name,
212   tok_lang_ab,
213   tok_lang_term,
214   tok_lang_lib,
215   tok_lc_telephone,
216   tok_tel_int_fmt,
217   tok_tel_dom_fmt,
218   tok_int_select,
219   tok_int_prefix,
220   tok_lc_measurement,
221   tok_measurement,
222   tok_lc_identification,
223   tok_title,
224   tok_source,
225   tok_address,
226   tok_contact,
227   tok_email,
228   tok_tel,
229   tok_fax,
230   tok_language,
231   tok_territory,
232   tok_audience,
233   tok_application,
234   tok_abbreviation,
235   tok_revision,
236   tok_date,
237   tok_category,
238
239   tok_error
240 };
241
242
243 struct keyword_t
244 {
245   const char *name;
246   enum token_t token;
247   int symname_or_ident;
248
249   /* Only for locdef file.  */
250   int locale;
251   enum token_t base;
252   enum token_t group;
253   enum token_t list;
254 };
255
256
257 #endif /* token.h */