Use Gnulib's `isnan' and `isinf' modules.
[bpt/guile.git] / lib / iconv.in.h
CommitLineData
24d56127
LC
1/* A GNU-like <iconv.h>.
2
61cd9dc9 3 Copyright (C) 2007-2010 Free Software Foundation, Inc.
24d56127
LC
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser 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 _GL_ICONV_H
20
21#if __GNUC__ >= 3
22@PRAGMA_SYSTEM_HEADER@
23#endif
24
25/* The include_next requires a split double-inclusion guard. */
26#@INCLUDE_NEXT@ @NEXT_ICONV_H@
27
28#ifndef _GL_ICONV_H
29#define _GL_ICONV_H
30
f4c79b3c
LC
31/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
32
1cd4fffc
LC
33/* The definition of _GL_ARG_NONNULL is copied here. */
34
f4c79b3c 35/* The definition of _GL_WARN_ON_USE is copied here. */
24d56127
LC
36
37
38#if @REPLACE_ICONV_OPEN@
39/* An iconv_open wrapper that supports the IANA standardized encoding names
40 ("ISO-8859-1" etc.) as far as possible. */
f4c79b3c
LC
41# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
42# define iconv_open rpl_iconv_open
43# endif
44_GL_FUNCDECL_RPL (iconv_open, iconv_t,
45 (const char *tocode, const char *fromcode)
46 _GL_ARG_NONNULL ((1, 2)));
47_GL_CXXALIAS_RPL (iconv_open, iconv_t,
48 (const char *tocode, const char *fromcode));
49#else
50_GL_CXXALIAS_SYS (iconv_open, iconv_t,
51 (const char *tocode, const char *fromcode));
24d56127 52#endif
f4c79b3c 53_GL_CXXALIASWARN (iconv_open);
24d56127
LC
54
55#if @REPLACE_ICONV_UTF@
56/* Special constants for supporting UTF-{16,32}{BE,LE} encodings.
57 Not public. */
58# define _ICONV_UTF8_UTF16BE (iconv_t)(-161)
59# define _ICONV_UTF8_UTF16LE (iconv_t)(-162)
60# define _ICONV_UTF8_UTF32BE (iconv_t)(-163)
61# define _ICONV_UTF8_UTF32LE (iconv_t)(-164)
62# define _ICONV_UTF16BE_UTF8 (iconv_t)(-165)
63# define _ICONV_UTF16LE_UTF8 (iconv_t)(-166)
64# define _ICONV_UTF32BE_UTF8 (iconv_t)(-167)
65# define _ICONV_UTF32LE_UTF8 (iconv_t)(-168)
66#endif
67
68#if @REPLACE_ICONV@
f4c79b3c
LC
69# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
70# define iconv rpl_iconv
71# endif
72_GL_FUNCDECL_RPL (iconv, size_t,
73 (iconv_t cd,
74 @ICONV_CONST@ char **inbuf, size_t *inbytesleft,
75 char **outbuf, size_t *outbytesleft));
76_GL_CXXALIAS_RPL (iconv, size_t,
77 (iconv_t cd,
78 @ICONV_CONST@ char **inbuf, size_t *inbytesleft,
79 char **outbuf, size_t *outbytesleft));
80#else
81_GL_CXXALIAS_SYS (iconv, size_t,
82 (iconv_t cd,
83 @ICONV_CONST@ char **inbuf, size_t *inbytesleft,
84 char **outbuf, size_t *outbytesleft));
24d56127 85#endif
f4c79b3c 86_GL_CXXALIASWARN (iconv);
24d56127 87
f4c79b3c
LC
88#if @REPLACE_ICONV@
89# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
90# define iconv_close rpl_iconv_close
91# endif
92_GL_FUNCDECL_RPL (iconv_close, int, (iconv_t cd));
93_GL_CXXALIAS_RPL (iconv_close, int, (iconv_t cd));
94#else
95_GL_CXXALIAS_SYS (iconv_close, int, (iconv_t cd));
24d56127 96#endif
f4c79b3c
LC
97_GL_CXXALIASWARN (iconv_close);
98
24d56127
LC
99
100#endif /* _GL_ICONV_H */
101#endif /* _GL_ICONV_H */