Nico Golde:
[apps/madmutt.git] / charset.h
1 /*
2  * Copyright notice from original mutt:
3  * Copyright (C) 1999-2000 Thomas Roessler <roessler@does-not-exist.org>
4  *
5  * This file is part of mutt-ng, see http://www.muttng.org/.
6  * It's licensed under the GNU General Public License,
7  * please see the file GPL in the top level source directory.
8  */
9
10 #ifndef _CHARSET_H
11 #define _CHARSET_H
12
13 #ifdef HAVE_ICONV_H
14 #include <iconv.h>
15 #endif
16
17 #ifndef HAVE_ICONV_T_DEF
18 typedef void *iconv_t;
19 #endif
20
21 #ifndef HAVE_ICONV
22 #define ICONV_CONST /**/
23   iconv_t iconv_open (const char *, const char *);
24 size_t iconv (iconv_t, ICONV_CONST char **, size_t *, char **, size_t *);
25 int iconv_close (iconv_t);
26 #endif
27
28 int mutt_convert_string (char **, const char *, const char *, int);
29 char *mutt_get_first_charset (const char *);
30 int mutt_convert_nonmime_string (char **);
31
32 iconv_t mutt_iconv_open (const char *, const char *, int);
33 size_t mutt_iconv (iconv_t, ICONV_CONST char **, size_t *, char **, size_t *,
34                    ICONV_CONST char **, const char *);
35
36 typedef void *FGETCONV;
37
38 FGETCONV *fgetconv_open (FILE *, const char *, const char *, int);
39 int fgetconv (FGETCONV *);
40 char *fgetconvs (char *, size_t, FGETCONV *);
41 void fgetconv_close (FGETCONV **);
42
43 void mutt_set_langinfo_charset (void);
44
45 #define M_ICONV_HOOK_FROM 1
46 #define M_ICONV_HOOK_TO   2
47
48 #endif /* _CHARSET_H */