gettextP.h
上传用户:xxcykj
上传日期:2007-01-04
资源大小:727k
文件大小:2k
源码类别:

Email客户端

开发平台:

Unix_Linux

  1. /* Header describing internals of gettext library
  2.    Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
  3.    Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
  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.    This program is distributed in the hope that it will be useful,
  9.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.    GNU General Public License for more details.
  12.    You should have received a copy of the GNU General Public License
  13.    along with this program; if not, write to the Free Software Foundation,
  14.    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
  15. #ifndef _GETTEXTP_H
  16. #define _GETTEXTP_H
  17. #include "loadinfo.h"
  18. /* @@ end of prolog @@ */
  19. #ifndef PARAMS
  20. # if __STDC__
  21. #  define PARAMS(args) args
  22. # else
  23. #  define PARAMS(args) ()
  24. # endif
  25. #endif
  26. #ifndef internal_function
  27. # define internal_function
  28. #endif
  29. #ifndef W
  30. # define W(flag, data) ((flag) ? SWAP (data) : (data))
  31. #endif
  32. #ifdef _LIBC
  33. # include <byteswap.h>
  34. # define SWAP(i) bswap_32 (i)
  35. #else
  36. static nls_uint32 SWAP PARAMS ((nls_uint32 i));
  37. static inline nls_uint32
  38. SWAP (i)
  39.      nls_uint32 i;
  40. {
  41.   return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);
  42. }
  43. #endif
  44. struct loaded_domain
  45. {
  46.   const char *data;
  47.   int use_mmap;
  48.   size_t mmap_size;
  49.   int must_swap;
  50.   nls_uint32 nstrings;
  51.   struct string_desc *orig_tab;
  52.   struct string_desc *trans_tab;
  53.   nls_uint32 hash_size;
  54.   nls_uint32 *hash_tab;
  55. };
  56. struct binding
  57. {
  58.   struct binding *next;
  59.   char *domainname;
  60.   char *dirname;
  61. };
  62. struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
  63.  char *__locale,
  64.  const char *__domainname))
  65.      internal_function;
  66. void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain))
  67.      internal_function;
  68. void _nl_unload_domain PARAMS ((struct loaded_domain *__domain))
  69.      internal_function;
  70. /* @@ begin of epilog @@ */
  71. #endif /* gettextP.h  */