source: branches/libc-0.6/src/binutils/intl/intlh.inst.in

Last change on this file was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 3.6 KB
Line 
1/* Message catalogs for internationalization.
2 Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2, or (at your option)
7 any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17 USA. */
18
19#ifndef _LIBINTL_H
20#define _LIBINTL_H 1
21
22@INCLUDE_LOCALE_H@
23
24/* We define an additional symbol to signal that we use the GNU
25 implementation of gettext. */
26#define __USE_GNU_GETTEXT 1
27
28#ifndef PARAMS
29# if __STDC__ || defined __cplusplus
30# define PARAMS(args) args
31# else
32# define PARAMS(args) ()
33# endif
34#endif
35
36#ifdef __cplusplus
37extern "C" {
38#endif
39
40/* Look up MSGID in the current default message catalog for the current
41 LC_MESSAGES locale. If not found, returns MSGID itself (the default
42 text). */
43extern char *gettext PARAMS ((const char *__msgid));
44
45/* Look up MSGID in the DOMAINNAME message catalog for the current
46 LC_MESSAGES locale. */
47extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid));
48
49/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
50 locale. */
51extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid,
52 int __category));
53
54
55/* Set the current default message catalog to DOMAINNAME.
56 If DOMAINNAME is null, return the current default.
57 If DOMAINNAME is "", reset to the default of "messages". */
58extern char *textdomain PARAMS ((const char *__domainname));
59
60/* Specify that the DOMAINNAME message catalog will be found
61 in DIRNAME rather than in the system locale data base. */
62extern char *bindtextdomain PARAMS ((const char *__domainname,
63 const char *__dirname));
64
65
66/* Optimized version of the functions above. */
67#if defined __OPTIMIZED
68/* These must be a macro. Inlined functions are useless because the
69 `__builtin_constant_p' predicate in dcgettext would always return
70 false. */
71
72# define gettext(msgid) dgettext ((char *) 0, msgid)
73
74# define dgettext(domainname, msgid) \
75 dcgettext (domainname, msgid, LC_MESSAGES)
76
77# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
78/* This global variable is defined in loadmsgcat.c. We need a sign,
79 whether a new catalog was loaded, which can be associated with all
80 translations. */
81extern int _nl_msg_cat_cntr;
82
83# define dcgettext(domainname, msgid, category) \
84 (__extension__ \
85 ({ \
86 char *__result; \
87 if (__builtin_constant_p (msgid)) \
88 { \
89 static char *__translation__; \
90 static int __catalog_counter__; \
91 if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \
92 { \
93 __translation__ = \
94 (dcgettext) ((domainname), (msgid), (category)); \
95 __catalog_counter__ = _nl_msg_cat_cntr; \
96 } \
97 __result = __translation__; \
98 } \
99 else \
100 __result = (dcgettext) ((domainname), (msgid), (category)); \
101 __result; \
102 }))
103# endif
104#endif /* Optimizing. */
105
106
107#ifdef __cplusplus
108}
109#endif
110
111#endif /* libintl.h */
Note: See TracBrowser for help on using the repository browser.