/*
* Character Set Conversion Library 1.2
*
- * (c) 1998--2004 Martin Mares <mj@ucw.cz>
+ * (c) 1998--2005 Martin Mares <mj@ucw.cz>
+ * (c) 2007 Pavel Charvat <pchar@ucw.cz>
*
* This software may be freely distributed and used according to the terms
* of the GNU Lesser General Public License.
*/
+#ifndef _CHARSET_CHARCONV_H
+#define _CHARSET_CHARCONV_H
+
+#ifdef CONFIG_UCW_CLEAN_ABI
+#define charset_name ucw_charset_name
+#define conv_in_to_ucs ucw_conv_in_to_ucs
+#define conv_init ucw_conv_init
+#define conv_set_charset ucw_conv_set_charset
+#define conv_ucs_to_out ucw_conv_ucs_to_out
+#define conv_ucs_to_x ucw_conv_ucs_to_x
+#define conv_x_count ucw_conv_x_count
+#define conv_x_to_ucs ucw_conv_x_to_ucs
+#define find_charset_by_name ucw_find_charset_by_name
+#endif
+
struct conv_context {
/* Parameters supplied by the caller */
CONV_CHARSET_ISO_8859_15,
CONV_CHARSET_ISO_8859_16,
CONV_CHARSET_WIN1250,
+ CONV_CHARSET_WIN1251,
CONV_CHARSET_WIN1252,
CONV_CHARSET_KAMCS,
CONV_CHARSET_CSN369103,
CONV_CHARSET_MACCE,
CONV_CHARSET_CORK,
CONV_CHARSET_UTF8,
+ CONV_CHARSET_UTF16_BE,
+ CONV_CHARSET_UTF16_LE,
CONV_NUM_CHARSETS
};
+/* Conversion of a single character between current non-UTF8 charset and Unicode */
+int conv_in_to_ucs(struct conv_context *c, unsigned int y);
+int conv_ucs_to_out(struct conv_context *c, unsigned int ucs);
+
/* For those brave ones who want to mess with charconv internals */
unsigned int conv_x_to_ucs(unsigned int x);
unsigned int conv_ucs_to_x(unsigned int ucs);
/* Charset names */
-int find_charset_by_name(char *);
+int find_charset_by_name(const char *);
char *charset_name(int);
+
+#endif