#ifndef __XML_ENCODING_H__
#define __XML_ENCODING_H__
#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
XML_CHAR_ENCODING_ERROR = -1,
XML_CHAR_ENCODING_NONE = 0,
XML_CHAR_ENCODING_UTF8 = 1,
XML_CHAR_ENCODING_UTF16LE = 2,
XML_CHAR_ENCODING_UTF16BE = 3,
XML_CHAR_ENCODING_UCS4LE = 4,
XML_CHAR_ENCODING_UCS4BE = 5,
XML_CHAR_ENCODING_EBCDIC = 6,
XML_CHAR_ENCODING_UCS4_2143 = 7,
XML_CHAR_ENCODING_UCS4_3412 = 8,
XML_CHAR_ENCODING_UCS2 = 9,
XML_CHAR_ENCODING_8859_1 = 10,
XML_CHAR_ENCODING_8859_2 = 11,
XML_CHAR_ENCODING_8859_3 = 12,
XML_CHAR_ENCODING_8859_4 = 13,
XML_CHAR_ENCODING_8859_5 = 14,
XML_CHAR_ENCODING_8859_6 = 15,
XML_CHAR_ENCODING_8859_7 = 16,
XML_CHAR_ENCODING_8859_8 = 17,
XML_CHAR_ENCODING_8859_9 = 18,
XML_CHAR_ENCODING_2022_JP = 19,
XML_CHAR_ENCODING_SHIFT_JIS = 20,
XML_CHAR_ENCODING_EUC_JP = 21,
XML_CHAR_ENCODING_ASCII = 22
} xmlCharEncoding;
typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
typedef int (*xmlCharEncodingInputFunc)(unsigned char *out, int *outlen,
const unsigned char *in, int *inlen);
typedef int (*xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen,
const unsigned char *in, int *inlen);
XMLPUBFUN int xmlGetCharEncoding(const char *name);
XMLPUBFUN xmlCharEncodingHandlerPtr xmlFindCharEncodingHandler(const char *name);
XMLPUBFUN int xmlCharEncCloseFunc(xmlCharEncodingHandlerPtr handler);
XMLPUBFUN int xmlCharEncInput(xmlParserInputBufferPtr input, int to);
XMLPUBFUN int xmlCharEncOutput(xmlOutputBufferPtr output, int to);
#ifdef __cplusplus
}
#endif
#endif