• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/gettext-0.17/gettext-tools/gnulib-lib/
1/* Charset conversion.
2   Copyright (C) 2001-2004, 2006-2007 Free Software Foundation, Inc.
3   Written by Bruno Haible and Simon Josefsson.
4
5   This program is free software; you can redistribute it and/or modify
6   it under the terms of the GNU General Public License as published by
7   the Free Software Foundation; either version 2, or (at your option)
8   any later version.
9
10   This program is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   GNU General Public License for more details.
14
15   You should have received a copy of the GNU General Public License
16   along with this program; if not, write to the Free Software Foundation,
17   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
18
19#ifndef _STRICONV_H
20#define _STRICONV_H
21
22#include <stddef.h>
23#if HAVE_ICONV
24#include <iconv.h>
25#endif
26
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32
33#if HAVE_ICONV
34
35/* Convert an entire string from one encoding to another, using iconv.
36   The original string is at [SRC,...,SRC+SRCLEN-1].
37   The conversion descriptor is passed as CD.
38   *RESULTP and *LENGTH should initially be a scratch buffer and its size,
39   or *RESULTP can initially be NULL.
40   May erase the contents of the memory at *RESULTP.
41   Return value: 0 if successful, otherwise -1 and errno set.
42   If successful: The resulting string is stored in *RESULTP and its length
43   in *LENGTHP.  *RESULTP is set to a freshly allocated memory block, or is
44   unchanged if no dynamic memory allocation was necessary.  */
45extern int mem_cd_iconv (const char *src, size_t srclen, iconv_t cd,
46			 char **resultp, size_t *lengthp);
47
48/* Convert an entire string from one encoding to another, using iconv.
49   The original string is the NUL-terminated string starting at SRC.
50   The conversion descriptor is passed as CD.  Both the "from" and the "to"
51   encoding must use a single NUL byte at the end of the string (i.e. not
52   UCS-2, UCS-4, UTF-16, UTF-32).
53   Allocate a malloced memory block for the result.
54   Return value: the freshly allocated resulting NUL-terminated string if
55   successful, otherwise NULL and errno set.  */
56extern char * str_cd_iconv (const char *src, iconv_t cd);
57
58#endif
59
60/* Convert an entire string from one encoding to another, using iconv.
61   The original string is the NUL-terminated string starting at SRC.
62   Both the "from" and the "to" encoding must use a single NUL byte at the
63   end of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32).
64   Allocate a malloced memory block for the result.
65   Return value: the freshly allocated resulting NUL-terminated string if
66   successful, otherwise NULL and errno set.  */
67extern char * str_iconv (const char *src,
68			 const char *from_codeset, const char *to_codeset);
69
70
71#ifdef __cplusplus
72}
73#endif
74
75
76#endif /* _STRICONV_H */
77