~ubuntu-branches/ubuntu/maverick/texinfo/maverick

« back to all changes in this revision

Viewing changes to intl/gettextP.h

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Preining
  • Date: 2005-10-28 15:10:30 UTC
  • mto: (2.1.1 dapper) (3.1.4 hardy)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20051028151030-9nsf2s2k2z3fktjt
Tags: upstream-4.8
ImportĀ upstreamĀ versionĀ 4.8

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* Header describing internals of libintl library.
2
 
   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
 
2
   Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
3
3
   Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
4
4
 
5
5
   This program is free software; you can redistribute it and/or modify it
36
36
 
37
37
/* @@ end of prolog @@ */
38
38
 
39
 
#ifndef PARAMS
40
 
# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
41
 
#  define PARAMS(args) args
42
 
# else
43
 
#  define PARAMS(args) ()
44
 
# endif
45
 
#endif
46
 
 
47
39
#ifndef internal_function
48
40
# define internal_function
49
41
#endif
50
42
 
 
43
#ifndef attribute_hidden
 
44
# define attribute_hidden
 
45
#endif
 
46
 
51
47
/* Tell the compiler when a conditional or integer expression is
52
48
   almost always true or almost always false.  */
53
49
#ifndef HAVE_BUILTIN_EXPECT
72
68
#endif
73
69
 
74
70
 
 
71
/* In-memory representation of system dependent string.  */
 
72
struct sysdep_string_desc
 
73
{
 
74
  /* Length of addressed string, including the trailing NUL.  */
 
75
  size_t length;
 
76
  /* Pointer to addressed string.  */
 
77
  const char *pointer;
 
78
};
 
79
 
75
80
/* The representation of an opened message catalog.  */
76
81
struct loaded_domain
77
82
{
 
83
  /* Pointer to memory containing the .mo file.  */
78
84
  const char *data;
 
85
  /* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed.  */
79
86
  int use_mmap;
 
87
  /* Size of mmap()ed memory.  */
80
88
  size_t mmap_size;
 
89
  /* 1 if the .mo file uses a different endianness than this machine.  */
81
90
  int must_swap;
 
91
  /* Pointer to additional malloc()ed memory.  */
 
92
  void *malloced;
 
93
 
 
94
  /* Number of static strings pairs.  */
82
95
  nls_uint32 nstrings;
83
 
  struct string_desc *orig_tab;
84
 
  struct string_desc *trans_tab;
 
96
  /* Pointer to descriptors of original strings in the file.  */
 
97
  const struct string_desc *orig_tab;
 
98
  /* Pointer to descriptors of translated strings in the file.  */
 
99
  const struct string_desc *trans_tab;
 
100
 
 
101
  /* Number of system dependent strings pairs.  */
 
102
  nls_uint32 n_sysdep_strings;
 
103
  /* Pointer to descriptors of original sysdep strings.  */
 
104
  const struct sysdep_string_desc *orig_sysdep_tab;
 
105
  /* Pointer to descriptors of translated sysdep strings.  */
 
106
  const struct sysdep_string_desc *trans_sysdep_tab;
 
107
 
 
108
  /* Size of hash table.  */
85
109
  nls_uint32 hash_size;
86
 
  nls_uint32 *hash_tab;
 
110
  /* Pointer to hash table.  */
 
111
  const nls_uint32 *hash_tab;
 
112
  /* 1 if the hash table uses a different endianness than this machine.  */
 
113
  int must_swap_hash_tab;
 
114
 
87
115
  int codeset_cntr;
88
116
#ifdef _LIBC
89
117
  __gconv_t conv;
123
151
extern int _nl_msg_cat_cntr;
124
152
 
125
153
#ifndef _LIBC
126
 
const char *_nl_locale_name PARAMS ((int category, const char *categoryname));
 
154
const char *_nl_locale_name (int category, const char *categoryname);
127
155
#endif
128
156
 
129
 
struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
130
 
                                                 char *__locale,
131
 
                                                 const char *__domainname,
132
 
                                              struct binding *__domainbinding))
133
 
     internal_function;
134
 
void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain,
135
 
                              struct binding *__domainbinding))
136
 
     internal_function;
137
 
void _nl_unload_domain PARAMS ((struct loaded_domain *__domain))
138
 
     internal_function;
139
 
const char *_nl_init_domain_conv PARAMS ((struct loaded_l10nfile *__domain_file,
140
 
                                          struct loaded_domain *__domain,
141
 
                                          struct binding *__domainbinding))
142
 
     internal_function;
143
 
void _nl_free_domain_conv PARAMS ((struct loaded_domain *__domain))
 
157
struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale,
 
158
                                         const char *__domainname,
 
159
                                         struct binding *__domainbinding)
 
160
     internal_function;
 
161
void _nl_load_domain (struct loaded_l10nfile *__domain,
 
162
                      struct binding *__domainbinding)
 
163
     internal_function;
 
164
void _nl_unload_domain (struct loaded_domain *__domain)
 
165
     internal_function;
 
166
const char *_nl_init_domain_conv (struct loaded_l10nfile *__domain_file,
 
167
                                  struct loaded_domain *__domain,
 
168
                                  struct binding *__domainbinding)
 
169
     internal_function;
 
170
void _nl_free_domain_conv (struct loaded_domain *__domain)
144
171
     internal_function;
145
172
 
146
 
char *_nl_find_msg PARAMS ((struct loaded_l10nfile *domain_file,
147
 
                            struct binding *domainbinding,
148
 
                            const char *msgid, size_t *lengthp))
 
173
char *_nl_find_msg (struct loaded_l10nfile *domain_file,
 
174
                    struct binding *domainbinding, const char *msgid,
 
175
                    size_t *lengthp)
149
176
     internal_function;
150
177
 
151
178
#ifdef _LIBC
152
 
extern char *__gettext PARAMS ((const char *__msgid));
153
 
extern char *__dgettext PARAMS ((const char *__domainname,
154
 
                                 const char *__msgid));
155
 
extern char *__dcgettext PARAMS ((const char *__domainname,
156
 
                                  const char *__msgid, int __category));
157
 
extern char *__ngettext PARAMS ((const char *__msgid1, const char *__msgid2,
158
 
                                 unsigned long int __n));
159
 
extern char *__dngettext PARAMS ((const char *__domainname,
160
 
                                  const char *__msgid1, const char *__msgid2,
161
 
                                  unsigned long int n));
162
 
extern char *__dcngettext PARAMS ((const char *__domainname,
163
 
                                   const char *__msgid1, const char *__msgid2,
164
 
                                   unsigned long int __n, int __category));
165
 
extern char *__dcigettext PARAMS ((const char *__domainname,
166
 
                                   const char *__msgid1, const char *__msgid2,
167
 
                                   int __plural, unsigned long int __n,
168
 
                                   int __category));
169
 
extern char *__textdomain PARAMS ((const char *__domainname));
170
 
extern char *__bindtextdomain PARAMS ((const char *__domainname,
171
 
                                       const char *__dirname));
172
 
extern char *__bind_textdomain_codeset PARAMS ((const char *__domainname,
173
 
                                                const char *__codeset));
 
179
extern char *__gettext (const char *__msgid);
 
180
extern char *__dgettext (const char *__domainname, const char *__msgid);
 
181
extern char *__dcgettext (const char *__domainname, const char *__msgid,
 
182
                          int __category);
 
183
extern char *__ngettext (const char *__msgid1, const char *__msgid2,
 
184
                         unsigned long int __n);
 
185
extern char *__dngettext (const char *__domainname,
 
186
                          const char *__msgid1, const char *__msgid2,
 
187
                          unsigned long int n);
 
188
extern char *__dcngettext (const char *__domainname,
 
189
                           const char *__msgid1, const char *__msgid2,
 
190
                           unsigned long int __n, int __category);
 
191
extern char *__dcigettext (const char *__domainname,
 
192
                           const char *__msgid1, const char *__msgid2,
 
193
                           int __plural, unsigned long int __n,
 
194
                           int __category);
 
195
extern char *__textdomain (const char *__domainname);
 
196
extern char *__bindtextdomain (const char *__domainname,
 
197
                               const char *__dirname);
 
198
extern char *__bind_textdomain_codeset (const char *__domainname,
 
199
                                        const char *__codeset);
174
200
#else
175
 
extern char *gettext__ PARAMS ((const char *__msgid));
176
 
extern char *dgettext__ PARAMS ((const char *__domainname,
177
 
                                 const char *__msgid));
178
 
extern char *dcgettext__ PARAMS ((const char *__domainname,
179
 
                                  const char *__msgid, int __category));
180
 
extern char *ngettext__ PARAMS ((const char *__msgid1, const char *__msgid2,
181
 
                                 unsigned long int __n));
182
 
extern char *dngettext__ PARAMS ((const char *__domainname,
183
 
                                  const char *__msgid1, const char *__msgid2,
184
 
                                  unsigned long int __n));
185
 
extern char *dcngettext__ PARAMS ((const char *__domainname,
186
 
                                   const char *__msgid1, const char *__msgid2,
187
 
                                   unsigned long int __n, int __category));
188
 
extern char *dcigettext__ PARAMS ((const char *__domainname,
189
 
                                   const char *__msgid1, const char *__msgid2,
190
 
                                   int __plural, unsigned long int __n,
191
 
                                   int __category));
192
 
extern char *textdomain__ PARAMS ((const char *__domainname));
193
 
extern char *bindtextdomain__ PARAMS ((const char *__domainname,
194
 
                                       const char *__dirname));
195
 
extern char *bind_textdomain_codeset__ PARAMS ((const char *__domainname,
196
 
                                                const char *__codeset));
 
201
/* Declare the exported libintl_* functions, in a way that allows us to
 
202
   call them under their real name.  */
 
203
# undef _INTL_REDIRECT_INLINE
 
204
# undef _INTL_REDIRECT_MACROS
 
205
# define _INTL_REDIRECT_MACROS
 
206
# include "libgnuintl.h"
 
207
extern char *libintl_dcigettext (const char *__domainname,
 
208
                                 const char *__msgid1, const char *__msgid2,
 
209
                                 int __plural, unsigned long int __n,
 
210
                                 int __category);
197
211
#endif
198
212
 
199
213
/* @@ begin of epilog @@ */