00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _LOADINFO_H
00021 #define _LOADINFO_H 1
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef PARAMS
00036 # if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
00037 # define PARAMS(args) args
00038 # else
00039 # define PARAMS(args) ()
00040 # endif
00041 #endif
00042
00043 #ifndef internal_function
00044 # define internal_function
00045 #endif
00046
00047
00048
00049 #ifndef HAVE_BUILTIN_EXPECT
00050 # define __builtin_expect(expr, val) (expr)
00051 #endif
00052
00053
00054 #if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
00055
00056 # define PATH_SEPARATOR ';'
00057 #else
00058
00059 # define PATH_SEPARATOR ':'
00060 #endif
00061
00062
00063 #define CEN_REVISION 1
00064 #define CEN_SPONSOR 2
00065 #define CEN_SPECIAL 4
00066 #define XPG_NORM_CODESET 8
00067 #define XPG_CODESET 16
00068 #define TERRITORY 32
00069 #define CEN_AUDIENCE 64
00070 #define XPG_MODIFIER 128
00071
00072 #define CEN_SPECIFIC (CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE)
00073 #define XPG_SPECIFIC (XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER)
00074
00075
00076 struct loaded_l10nfile
00077 {
00078 const char *filename;
00079 int decided;
00080
00081 const void *data;
00082
00083 struct loaded_l10nfile *next;
00084 struct loaded_l10nfile *successor[1];
00085 };
00086
00087
00088
00089
00090
00091
00092 extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,
00093 size_t name_len));
00094
00095 extern struct loaded_l10nfile *
00096 _nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,
00097 const char *dirlist, size_t dirlist_len, int mask,
00098 const char *language, const char *territory,
00099 const char *codeset,
00100 const char *normalized_codeset,
00101 const char *modifier, const char *special,
00102 const char *sponsor, const char *revision,
00103 const char *filename, int do_allocate));
00104
00105
00106 extern const char *_nl_expand_alias PARAMS ((const char *name));
00107
00108
00109
00110 extern int _nl_explode_name PARAMS ((char *name, const char **language,
00111 const char **modifier,
00112 const char **territory,
00113 const char **codeset,
00114 const char **normalized_codeset,
00115 const char **special,
00116 const char **sponsor,
00117 const char **revision));
00118
00119 extern char *_nl_find_language PARAMS ((const char *name));
00120
00121 #endif