Update from latest gettext.
[kopensolaris-gnu/glibc.git] / intl / loadinfo.h
1 #ifndef PARAMS
2 # if __STDC__
3 #  define PARAMS(args) args
4 # else
5 #  define PARAMS(args) ()
6 # endif
7 #endif
8
9 /* Encoding of locale name parts.  */
10 #define CEN_REVISION            1
11 #define CEN_SPONSOR             2
12 #define CEN_SPECIAL             4
13 #define XPG_NORM_CODESET        8
14 #define XPG_CODESET             16
15 #define TERRITORY               32
16 #define CEN_AUDIENCE            64
17 #define XPG_MODIFIER            128
18
19 #define CEN_SPECIFIC    (CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE)
20 #define XPG_SPECIFIC    (XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER)
21
22
23 struct loaded_l10nfile
24 {
25   const char *filename;
26   int decided;
27
28   const void *data;
29
30   struct loaded_l10nfile *next;
31   struct loaded_l10nfile *successor[1];
32 };
33
34
35 extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,
36                                                   size_t name_len));
37
38 extern struct loaded_l10nfile *
39 _nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,
40                             const char *dirlist, size_t dirlist_len, int mask,
41                             const char *language, const char *territory,
42                             const char *codeset,
43                             const char *normalized_codeset,
44                             const char *modifier, const char *special,
45                             const char *sponsor, const char *revision,
46                             const char *filename, int do_allocate));
47
48
49 extern const char *_nl_expand_alias PARAMS ((const char *name));
50
51 extern int _nl_explode_name PARAMS ((char *name, const char **language,
52                                      const char **modifier,
53                                      const char **territory,
54                                      const char **codeset,
55                                      const char **normalized_codeset,
56                                      const char **special,
57                                      const char **sponsor,
58                                      const char **revision));