22 #ifndef __XML_CHAR_ENCODING_H__
23 #define __XML_CHAR_ENCODING_H__
25 #include <libxml/xmlversion.h>
27 #ifdef LIBXML_ICONV_ENABLED
56 XML_CHAR_ENCODING_ERROR= -1,
57 XML_CHAR_ENCODING_NONE= 0,
58 XML_CHAR_ENCODING_UTF8= 1,
59 XML_CHAR_ENCODING_UTF16LE= 2,
60 XML_CHAR_ENCODING_UTF16BE= 3,
61 XML_CHAR_ENCODING_UCS4LE= 4,
62 XML_CHAR_ENCODING_UCS4BE= 5,
63 XML_CHAR_ENCODING_EBCDIC= 6,
64 XML_CHAR_ENCODING_UCS4_2143=7,
65 XML_CHAR_ENCODING_UCS4_3412=8,
66 XML_CHAR_ENCODING_UCS2= 9,
67 XML_CHAR_ENCODING_8859_1= 10,
68 XML_CHAR_ENCODING_8859_2= 11,
69 XML_CHAR_ENCODING_8859_3= 12,
70 XML_CHAR_ENCODING_8859_4= 13,
71 XML_CHAR_ENCODING_8859_5= 14,
72 XML_CHAR_ENCODING_8859_6= 15,
73 XML_CHAR_ENCODING_8859_7= 16,
74 XML_CHAR_ENCODING_8859_8= 17,
75 XML_CHAR_ENCODING_8859_9= 18,
76 XML_CHAR_ENCODING_2022_JP= 19,
77 XML_CHAR_ENCODING_SHIFT_JIS=20,
78 XML_CHAR_ENCODING_EUC_JP= 21,
79 XML_CHAR_ENCODING_ASCII= 22
98 typedef int (* xmlCharEncodingInputFunc)(
unsigned char *out,
int *outlen,
99 const unsigned char *in,
int *inlen);
120 typedef int (* xmlCharEncodingOutputFunc)(
unsigned char *out,
int *outlen,
121 const unsigned char *in,
int *inlen);
129 typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
130 typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
131 struct _xmlCharEncodingHandler {
133 xmlCharEncodingInputFunc input;
134 xmlCharEncodingOutputFunc output;
135 #ifdef LIBXML_ICONV_ENABLED
144 #include <libxml/tree.h>
152 XMLPUBFUN
void XMLCALL
153 xmlInitCharEncodingHandlers (
void);
154 XMLPUBFUN
void XMLCALL
155 xmlCleanupCharEncodingHandlers (
void);
156 XMLPUBFUN
void XMLCALL
157 xmlRegisterCharEncodingHandler (xmlCharEncodingHandlerPtr handler);
158 XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
159 xmlGetCharEncodingHandler (xmlCharEncoding enc);
160 XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
161 xmlFindCharEncodingHandler (
const char *name);
162 XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
163 xmlNewCharEncodingHandler (
const char *name,
164 xmlCharEncodingInputFunc input,
165 xmlCharEncodingOutputFunc output);
170 XMLPUBFUN
int XMLCALL
171 xmlAddEncodingAlias (
const char *name,
173 XMLPUBFUN
int XMLCALL
174 xmlDelEncodingAlias (
const char *alias);
175 XMLPUBFUN
const char * XMLCALL
176 xmlGetEncodingAlias (
const char *alias);
177 XMLPUBFUN
void XMLCALL
178 xmlCleanupEncodingAliases (
void);
179 XMLPUBFUN xmlCharEncoding XMLCALL
180 xmlParseCharEncoding (
const char *name);
181 XMLPUBFUN
const char * XMLCALL
182 xmlGetCharEncodingName (xmlCharEncoding enc);
187 XMLPUBFUN xmlCharEncoding XMLCALL
188 xmlDetectCharEncoding (
const unsigned char *in,
191 XMLPUBFUN
int XMLCALL
192 xmlCharEncOutFunc (xmlCharEncodingHandler *handler,
196 XMLPUBFUN
int XMLCALL
197 xmlCharEncInFunc (xmlCharEncodingHandler *handler,
200 XMLPUBFUN
int XMLCALL
201 xmlCharEncFirstLine (xmlCharEncodingHandler *handler,
204 XMLPUBFUN
int XMLCALL
205 xmlCharEncCloseFunc (xmlCharEncodingHandler *handler);
210 #ifdef LIBXML_OUTPUT_ENABLED
211 XMLPUBFUN
int XMLCALL
212 UTF8Toisolat1 (
unsigned char *out,
214 const unsigned char *in,
217 XMLPUBFUN
int XMLCALL
218 isolat1ToUTF8 (
unsigned char *out,
220 const unsigned char *in,