home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / tar-1.11.8-src.tgz / tar.out / fsf / tar / intl / gettext.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  2KB  |  75 lines

  1.  
  2. /* Copyright (C) 1995 Free Software Foundation, Inc.
  3.  
  4. The GNU C Library is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU Library General Public License as
  6. published by the Free Software Foundation; either version 2 of the
  7. License, or (at your option) any later version.
  8.  
  9. The GNU C Library 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 GNU
  12. Library General Public License for more details.
  13.  
  14. You should have received a copy of the GNU Library General Public
  15. License along with the GNU C Library; see the file COPYING.LIB.  If
  16. not, write to the Free Software Foundation, Inc., 675 Mass Ave,
  17. Cambridge, MA 02139, USA.  */
  18.  
  19. #ifndef _GETTEXT_H
  20. #define _GETTEXT_H 1
  21.  
  22. #include <stdio.h>
  23.  
  24. /* @@ end of prolog @@ */
  25.  
  26. /* The magic number of the GNU message catalog format.  */
  27. #define _MAGIC 0x950412de
  28. #define _MAGIC_SWAPPED 0xde120495
  29.  
  30. /* Revision number of the currently used .mo (binary) file format.  */
  31. #define MO_REVISION_NUMBER 0
  32.  
  33. /* We need an unsigned, 32-bit data type.  */
  34. #if SIZEOF_UNSIGNED_INT == 4
  35. typedef unsigned int nls_uint32;
  36. #elif SIZEOF_UNSIGNED_SHORT == 4
  37. typedef unsigned short nls_uint32;
  38. #else
  39. /* The following line produces a syntax error which is intended because
  40.    using #error is not portable enough.  -- drepper  */
  41.  "Cannot determine unsigned 32-bit data type.  I'm screwed."
  42. #endif
  43.  
  44.  
  45. /* Header for binary .mo file format.  */
  46. struct mo_file_header
  47. {
  48.   /* The magic number.  */
  49.   nls_uint32 magic;
  50.   /* The revision number of the file format.  */
  51.   nls_uint32 revision;
  52.   /* The number of strings pairs.  */
  53.   nls_uint32 nstrings;
  54.   /* Offset of table with start offsets of original strings.  */
  55.   nls_uint32 orig_tab_offset;
  56.   /* Offset of table with start offsets of translation strings.  */
  57.   nls_uint32 trans_tab_offset;
  58.   /* Size of hashing table.  */
  59.   nls_uint32 hash_tab_size;
  60.   /* Offset of first hashing entry.  */
  61.   nls_uint32 hash_tab_offset;
  62. };
  63.  
  64. struct string_desc
  65. {
  66.   /* Length of addressed string.  */
  67.   nls_uint32 length;
  68.   /* Offset of string in file.  */
  69.   nls_uint32 offset;
  70. };
  71.  
  72. /* @@ begin of epilog @@ */
  73.  
  74. #endif    /* gettext.h  */
  75.