00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _LIBINTL_H
00020 #define _LIBINTL_H 1
00021
00022 #include <locale.h>
00023
00024
00025
00026
00027
00028
00029
00030
00031 #if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun))
00032 # define LC_MESSAGES 1729
00033 #endif
00034
00035
00036
00037 #define __USE_GNU_GETTEXT 1
00038
00039
00040
00041 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
00042 ((major) == 0 ? 1 : -1)
00043
00044
00045
00046 #ifdef __DJGPP__
00047 # undef gettext
00048 #endif
00049
00050
00051
00052 #ifndef _INTL_PARAMS
00053 # if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
00054 # define _INTL_PARAMS(args) args
00055 # else
00056 # define _INTL_PARAMS(args) ()
00057 # endif
00058 #endif
00059
00060 #ifdef __cplusplus
00061 extern "C" {
00062 #endif
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095 #if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
00096 # if __GNUC__ >= 2 && (defined __STDC__ || defined __cplusplus)
00097 # define _INTL_REDIRECT_ASM
00098 # else
00099 # ifdef __cplusplus
00100 # define _INTL_REDIRECT_INLINE
00101 # else
00102 # define _INTL_REDIRECT_MACROS
00103 # endif
00104 # endif
00105 #endif
00106
00107 #ifdef _INTL_REDIRECT_ASM
00108 # define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname))
00109 # define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring
00110 # define _INTL_STRINGIFY(prefix) #prefix
00111 #else
00112 # define _INTL_ASM(cname)
00113 #endif
00114
00115
00116
00117
00118 #ifdef _INTL_REDIRECT_INLINE
00119 extern char *libintl_gettext (const char *__msgid);
00120 static inline char *gettext (const char *__msgid)
00121 {
00122 return libintl_gettext (__msgid);
00123 }
00124 #else
00125 #ifdef _INTL_REDIRECT_MACROS
00126 # define gettext libintl_gettext
00127 #endif
00128 extern char *gettext _INTL_PARAMS ((const char *__msgid))
00129 _INTL_ASM (libintl_gettext);
00130 #endif
00131
00132
00133
00134 #ifdef _INTL_REDIRECT_INLINE
00135 extern char *libintl_dgettext (const char *__domainname, const char *__msgid);
00136 static inline char *dgettext (const char *__domainname, const char *__msgid)
00137 {
00138 return libintl_dgettext (__domainname, __msgid);
00139 }
00140 #else
00141 #ifdef _INTL_REDIRECT_MACROS
00142 # define dgettext libintl_dgettext
00143 #endif
00144 extern char *dgettext _INTL_PARAMS ((const char *__domainname,
00145 const char *__msgid))
00146 _INTL_ASM (libintl_dgettext);
00147 #endif
00148
00149
00150
00151 #ifdef _INTL_REDIRECT_INLINE
00152 extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,
00153 int __category);
00154 static inline char *dcgettext (const char *__domainname, const char *__msgid,
00155 int __category)
00156 {
00157 return libintl_dcgettext (__domainname, __msgid, __category);
00158 }
00159 #else
00160 #ifdef _INTL_REDIRECT_MACROS
00161 # define dcgettext libintl_dcgettext
00162 #endif
00163 extern char *dcgettext _INTL_PARAMS ((const char *__domainname,
00164 const char *__msgid,
00165 int __category))
00166 _INTL_ASM (libintl_dcgettext);
00167 #endif
00168
00169
00170
00171
00172 #ifdef _INTL_REDIRECT_INLINE
00173 extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,
00174 unsigned long int __n);
00175 static inline char *ngettext (const char *__msgid1, const char *__msgid2,
00176 unsigned long int __n)
00177 {
00178 return libintl_ngettext (__msgid1, __msgid2, __n);
00179 }
00180 #else
00181 #ifdef _INTL_REDIRECT_MACROS
00182 # define ngettext libintl_ngettext
00183 #endif
00184 extern char *ngettext _INTL_PARAMS ((const char *__msgid1,
00185 const char *__msgid2,
00186 unsigned long int __n))
00187 _INTL_ASM (libintl_ngettext);
00188 #endif
00189
00190
00191
00192 #ifdef _INTL_REDIRECT_INLINE
00193 extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,
00194 const char *__msgid2, unsigned long int __n);
00195 static inline char *dngettext (const char *__domainname, const char *__msgid1,
00196 const char *__msgid2, unsigned long int __n)
00197 {
00198 return libintl_dngettext (__domainname, __msgid1, __msgid2, __n);
00199 }
00200 #else
00201 #ifdef _INTL_REDIRECT_MACROS
00202 # define dngettext libintl_dngettext
00203 #endif
00204 extern char *dngettext _INTL_PARAMS ((const char *__domainname,
00205 const char *__msgid1,
00206 const char *__msgid2,
00207 unsigned long int __n))
00208 _INTL_ASM (libintl_dngettext);
00209 #endif
00210
00211
00212
00213 #ifdef _INTL_REDIRECT_INLINE
00214 extern char *libintl_dcngettext (const char *__domainname,
00215 const char *__msgid1, const char *__msgid2,
00216 unsigned long int __n, int __category);
00217 static inline char *dcngettext (const char *__domainname,
00218 const char *__msgid1, const char *__msgid2,
00219 unsigned long int __n, int __category)
00220 {
00221 return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category);
00222 }
00223 #else
00224 #ifdef _INTL_REDIRECT_MACROS
00225 # define dcngettext libintl_dcngettext
00226 #endif
00227 extern char *dcngettext _INTL_PARAMS ((const char *__domainname,
00228 const char *__msgid1,
00229 const char *__msgid2,
00230 unsigned long int __n,
00231 int __category))
00232 _INTL_ASM (libintl_dcngettext);
00233 #endif
00234
00235
00236
00237
00238
00239 #ifdef _INTL_REDIRECT_INLINE
00240 extern char *libintl_textdomain (const char *__domainname);
00241 static inline char *textdomain (const char *__domainname)
00242 {
00243 return libintl_textdomain (__domainname);
00244 }
00245 #else
00246 #ifdef _INTL_REDIRECT_MACROS
00247 # define textdomain libintl_textdomain
00248 #endif
00249 extern char *textdomain _INTL_PARAMS ((const char *__domainname))
00250 _INTL_ASM (libintl_textdomain);
00251 #endif
00252
00253
00254
00255 #ifdef _INTL_REDIRECT_INLINE
00256 extern char *libintl_bindtextdomain (const char *__domainname,
00257 const char *__dirname);
00258 static inline char *bindtextdomain (const char *__domainname,
00259 const char *__dirname)
00260 {
00261 return libintl_bindtextdomain (__domainname, __dirname);
00262 }
00263 #else
00264 #ifdef _INTL_REDIRECT_MACROS
00265 # define bindtextdomain libintl_bindtextdomain
00266 #endif
00267 extern char *bindtextdomain _INTL_PARAMS ((const char *__domainname,
00268 const char *__dirname))
00269 _INTL_ASM (libintl_bindtextdomain);
00270 #endif
00271
00272
00273
00274 #ifdef _INTL_REDIRECT_INLINE
00275 extern char *libintl_bind_textdomain_codeset (const char *__domainname,
00276 const char *__codeset);
00277 static inline char *bind_textdomain_codeset (const char *__domainname,
00278 const char *__codeset)
00279 {
00280 return libintl_bind_textdomain_codeset (__domainname, __codeset);
00281 }
00282 #else
00283 #ifdef _INTL_REDIRECT_MACROS
00284 # define bind_textdomain_codeset libintl_bind_textdomain_codeset
00285 #endif
00286 extern char *bind_textdomain_codeset _INTL_PARAMS ((const char *__domainname,
00287 const char *__codeset))
00288 _INTL_ASM (libintl_bind_textdomain_codeset);
00289 #endif
00290
00291
00292 #ifdef __cplusplus
00293 }
00294 #endif
00295
00296 #endif