/*
- * Character Set Conversion Library 1.0
+ * Character Set Conversion Library 1.1
*
- * (c) 1998 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
+ * (c) 1998--2001 Martin Mares <mj@ucw.cz>
*
* This software may be freely distributed and used according to the terms
- * of the GNU General Public License. See file COPYING in any of the GNU packages.
+ * of the GNU Lesser General Public License.
*/
struct conv_context {
#define CONV_DEST_END 2
#define CONV_SKIP 4
-#define CONV_CHARSET_ASCII 0
-#define CONV_CHARSET_LATIN1 1
-#define CONV_CHARSET_LATIN2 2
-#define CONV_CHARSET_UTF8 8
-#define CONV_NUM_CHARSETS 9
+enum charset_id {
+ CONV_CHARSET_ASCII,
+ CONV_CHARSET_ISO_8859_1,
+ CONV_CHARSET_ISO_8859_2,
+ CONV_CHARSET_ISO_8859_3,
+ CONV_CHARSET_ISO_8859_4,
+ CONV_CHARSET_ISO_8859_5,
+ CONV_CHARSET_ISO_8859_6,
+ CONV_CHARSET_ISO_8859_7,
+ CONV_CHARSET_ISO_8859_8,
+ CONV_CHARSET_ISO_8859_9,
+ CONV_CHARSET_ISO_8859_10,
+ CONV_CHARSET_ISO_8859_11,
+ CONV_CHARSET_ISO_8859_13,
+ CONV_CHARSET_ISO_8859_14,
+ CONV_CHARSET_ISO_8859_15,
+ CONV_CHARSET_ISO_8859_16,
+ CONV_CHARSET_WIN1250,
+ CONV_CHARSET_WIN1252,
+ CONV_CHARSET_KAMCS,
+ CONV_CHARSET_CSN369103,
+ CONV_CHARSET_CP852,
+ CONV_CHARSET_MACCE,
+ CONV_CHARSET_CORK,
+ CONV_CHARSET_UTF8,
+ CONV_NUM_CHARSETS
+};
+
+/* 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);
+unsigned int conv_x_count(void);
+
+/* Charset names */
int find_charset_by_name(char *);
char *charset_name(int);