summaryrefslogtreecommitdiff
path: root/source3/intl/gettext.h
diff options
context:
space:
mode:
authorMotonobu Takahashi <monyo@samba.org>2001-09-24 16:13:06 +0000
committerMotonobu Takahashi <monyo@samba.org>2001-09-24 16:13:06 +0000
commit1207c4320490a1eb80bc88aacd57b8eccb3d8d4f (patch)
treeb94df2e4039f20fa1eb68455eb9df119495ea9d1 /source3/intl/gettext.h
parentb8369b62c2dca96e486f6bce0ba4daf9f3eae3ad (diff)
downloadsamba-1207c4320490a1eb80bc88aacd57b8eccb3d8d4f.tar.gz
samba-1207c4320490a1eb80bc88aacd57b8eccb3d8d4f.tar.bz2
samba-1207c4320490a1eb80bc88aacd57b8eccb3d8d4f.zip
added files and directories to support gettext() feature
Also added some po files to support: English, Japanese, Polish, Turlish (This used to be commit 736b713c49ebe45923169b70f5c47f5afda8d94a)
Diffstat (limited to 'source3/intl/gettext.h')
-rw-r--r--source3/intl/gettext.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/source3/intl/gettext.h b/source3/intl/gettext.h
new file mode 100644
index 0000000000..92ce63d779
--- /dev/null
+++ b/source3/intl/gettext.h
@@ -0,0 +1,111 @@
+/* Internal header for GNU gettext internationalization functions.
+ Copyright (C) 1995, 1997 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifndef _GETTEXT_H
+#define _GETTEXT_H 1
+
+#include <stdio.h>
+
+#ifdef NEWS4
+/* on NEWS-OS 4 limits.h is overrided by sys/param.h */
+#undef HAVE_LIMITS_H
+# include <sys/param.h>
+#endif
+
+#if HAVE_LIMITS_H || _LIBC
+# include <limits.h>
+#endif
+
+/* @@ end of prolog @@ */
+
+/* The magic number of the GNU message catalog format. */
+#define _MAGIC 0x950412de
+#define _MAGIC_SWAPPED 0xde120495
+
+/* Revision number of the currently used .mo (binary) file format. */
+#define MO_REVISION_NUMBER 0
+
+/* The following contortions are an attempt to use the C preprocessor
+ to determine an unsigned integral type that is 32 bits wide. An
+ alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
+ doing that would require that the configure script compile and *run*
+ the resulting executable. Locally running cross-compiled executables
+ is usually not possible. */
+
+#if __STDC__
+# define UINT_MAX_32_BITS 4294967295U
+#else
+# define UINT_MAX_32_BITS 0xFFFFFFFF
+#endif
+
+/* If UINT_MAX isn't defined, assume it's a 32-bit type.
+ This should be valid for all systems GNU cares about because
+ that doesn't include 16-bit systems, and only modern systems
+ (that certainly have <limits.h>) have 64+-bit integral types. */
+
+#ifndef UINT_MAX
+# define UINT_MAX UINT_MAX_32_BITS
+#endif
+
+#if UINT_MAX == UINT_MAX_32_BITS
+typedef unsigned nls_uint32;
+#else
+# if USHRT_MAX == UINT_MAX_32_BITS
+typedef unsigned short nls_uint32;
+# else
+# if ULONG_MAX == UINT_MAX_32_BITS
+typedef unsigned long nls_uint32;
+# else
+ /* The following line is intended to throw an error. Using #error is
+ not portable enough. */
+ "Cannot determine unsigned 32-bit data type."
+# endif
+# endif
+#endif
+
+
+/* Header for binary .mo file format. */
+struct mo_file_header
+{
+ /* The magic number. */
+ nls_uint32 magic;
+ /* The revision number of the file format. */
+ nls_uint32 revision;
+ /* The number of strings pairs. */
+ nls_uint32 nstrings;
+ /* Offset of table with start offsets of original strings. */
+ nls_uint32 orig_tab_offset;
+ /* Offset of table with start offsets of translation strings. */
+ nls_uint32 trans_tab_offset;
+ /* Size of hashing table. */
+ nls_uint32 hash_tab_size;
+ /* Offset of first hashing entry. */
+ nls_uint32 hash_tab_offset;
+};
+
+struct string_desc
+{
+ /* Length of addressed string. */
+ nls_uint32 length;
+ /* Offset of string in file. */
+ nls_uint32 offset;
+};
+
+/* @@ begin of epilog @@ */
+
+#endif /* gettext.h */