1*7c568831SAndroid Build Coastguard Worker /* 2*7c568831SAndroid Build Coastguard Worker * Summary: interface for the encoding conversion functions 3*7c568831SAndroid Build Coastguard Worker * Description: interface for the encoding conversion functions needed for 4*7c568831SAndroid Build Coastguard Worker * XML basic encoding and iconv() support. 5*7c568831SAndroid Build Coastguard Worker * 6*7c568831SAndroid Build Coastguard Worker * Related specs are 7*7c568831SAndroid Build Coastguard Worker * rfc2044 (UTF-8 and UTF-16) F. Yergeau Alis Technologies 8*7c568831SAndroid Build Coastguard Worker * [ISO-10646] UTF-8 and UTF-16 in Annexes 9*7c568831SAndroid Build Coastguard Worker * [ISO-8859-1] ISO Latin-1 characters codes. 10*7c568831SAndroid Build Coastguard Worker * [UNICODE] The Unicode Consortium, "The Unicode Standard -- 11*7c568831SAndroid Build Coastguard Worker * Worldwide Character Encoding -- Version 1.0", Addison- 12*7c568831SAndroid Build Coastguard Worker * Wesley, Volume 1, 1991, Volume 2, 1992. UTF-8 is 13*7c568831SAndroid Build Coastguard Worker * described in Unicode Technical Report #4. 14*7c568831SAndroid Build Coastguard Worker * [US-ASCII] Coded Character Set--7-bit American Standard Code for 15*7c568831SAndroid Build Coastguard Worker * Information Interchange, ANSI X3.4-1986. 16*7c568831SAndroid Build Coastguard Worker * 17*7c568831SAndroid Build Coastguard Worker * Copy: See Copyright for the status of this software. 18*7c568831SAndroid Build Coastguard Worker * 19*7c568831SAndroid Build Coastguard Worker * Author: Daniel Veillard 20*7c568831SAndroid Build Coastguard Worker */ 21*7c568831SAndroid Build Coastguard Worker 22*7c568831SAndroid Build Coastguard Worker #ifndef __XML_CHAR_ENCODING_H__ 23*7c568831SAndroid Build Coastguard Worker #define __XML_CHAR_ENCODING_H__ 24*7c568831SAndroid Build Coastguard Worker 25*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlversion.h> 26*7c568831SAndroid Build Coastguard Worker 27*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus 28*7c568831SAndroid Build Coastguard Worker extern "C" { 29*7c568831SAndroid Build Coastguard Worker #endif 30*7c568831SAndroid Build Coastguard Worker 31*7c568831SAndroid Build Coastguard Worker typedef enum { 32*7c568831SAndroid Build Coastguard Worker XML_ENC_ERR_SUCCESS = 0, 33*7c568831SAndroid Build Coastguard Worker XML_ENC_ERR_INTERNAL = -1, 34*7c568831SAndroid Build Coastguard Worker XML_ENC_ERR_INPUT = -2, 35*7c568831SAndroid Build Coastguard Worker XML_ENC_ERR_SPACE = -3, 36*7c568831SAndroid Build Coastguard Worker XML_ENC_ERR_MEMORY = -4 37*7c568831SAndroid Build Coastguard Worker } xmlCharEncError; 38*7c568831SAndroid Build Coastguard Worker 39*7c568831SAndroid Build Coastguard Worker /* 40*7c568831SAndroid Build Coastguard Worker * xmlCharEncoding: 41*7c568831SAndroid Build Coastguard Worker * 42*7c568831SAndroid Build Coastguard Worker * Predefined values for some standard encodings. 43*7c568831SAndroid Build Coastguard Worker */ 44*7c568831SAndroid Build Coastguard Worker typedef enum { 45*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_ERROR= -1, /* No char encoding detected */ 46*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_NONE= 0, /* No char encoding detected */ 47*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_UTF8= 1, /* UTF-8 */ 48*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_UTF16LE= 2, /* UTF-16 little endian */ 49*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_UTF16BE= 3, /* UTF-16 big endian */ 50*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_UCS4LE= 4, /* UCS-4 little endian */ 51*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_UCS4BE= 5, /* UCS-4 big endian */ 52*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_EBCDIC= 6, /* EBCDIC uh! */ 53*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_UCS4_2143=7, /* UCS-4 unusual ordering */ 54*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_UCS4_3412=8, /* UCS-4 unusual ordering */ 55*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_UCS2= 9, /* UCS-2 */ 56*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_1= 10,/* ISO-8859-1 ISO Latin 1 */ 57*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_2= 11,/* ISO-8859-2 ISO Latin 2 */ 58*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_3= 12,/* ISO-8859-3 */ 59*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_4= 13,/* ISO-8859-4 */ 60*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_5= 14,/* ISO-8859-5 */ 61*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_6= 15,/* ISO-8859-6 */ 62*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_7= 16,/* ISO-8859-7 */ 63*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_8= 17,/* ISO-8859-8 */ 64*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_9= 18,/* ISO-8859-9 */ 65*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_2022_JP= 19,/* ISO-2022-JP */ 66*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_SHIFT_JIS=20,/* Shift_JIS */ 67*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_EUC_JP= 21,/* EUC-JP */ 68*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_ASCII= 22,/* pure ASCII */ 69*7c568831SAndroid Build Coastguard Worker /* Available since 2.14.0 */ 70*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_UTF16= 23,/* UTF-16 native */ 71*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_HTML= 24,/* HTML (output only) */ 72*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_10= 25,/* ISO-8859-10 */ 73*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_11= 26,/* ISO-8859-11 */ 74*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_13= 27,/* ISO-8859-13 */ 75*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_14= 28,/* ISO-8859-14 */ 76*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_15= 29,/* ISO-8859-15 */ 77*7c568831SAndroid Build Coastguard Worker XML_CHAR_ENCODING_8859_16= 30 /* ISO-8859-16 */ 78*7c568831SAndroid Build Coastguard Worker } xmlCharEncoding; 79*7c568831SAndroid Build Coastguard Worker 80*7c568831SAndroid Build Coastguard Worker /** 81*7c568831SAndroid Build Coastguard Worker * xmlCharEncodingInputFunc: 82*7c568831SAndroid Build Coastguard Worker * @out: a pointer to an array of bytes to store the UTF-8 result 83*7c568831SAndroid Build Coastguard Worker * @outlen: the length of @out 84*7c568831SAndroid Build Coastguard Worker * @in: a pointer to an array of chars in the original encoding 85*7c568831SAndroid Build Coastguard Worker * @inlen: the length of @in 86*7c568831SAndroid Build Coastguard Worker * 87*7c568831SAndroid Build Coastguard Worker * Convert characters to UTF-8. 88*7c568831SAndroid Build Coastguard Worker * 89*7c568831SAndroid Build Coastguard Worker * On success, the value of @inlen after return is the number of 90*7c568831SAndroid Build Coastguard Worker * bytes consumed and @outlen is the number of bytes produced. 91*7c568831SAndroid Build Coastguard Worker * 92*7c568831SAndroid Build Coastguard Worker * Returns the number of bytes written or an XML_ENC_ERR code. 93*7c568831SAndroid Build Coastguard Worker */ 94*7c568831SAndroid Build Coastguard Worker typedef int (*xmlCharEncodingInputFunc)(unsigned char *out, int *outlen, 95*7c568831SAndroid Build Coastguard Worker const unsigned char *in, int *inlen); 96*7c568831SAndroid Build Coastguard Worker 97*7c568831SAndroid Build Coastguard Worker 98*7c568831SAndroid Build Coastguard Worker /** 99*7c568831SAndroid Build Coastguard Worker * xmlCharEncodingOutputFunc: 100*7c568831SAndroid Build Coastguard Worker * @out: a pointer to an array of bytes to store the result 101*7c568831SAndroid Build Coastguard Worker * @outlen: the length of @out 102*7c568831SAndroid Build Coastguard Worker * @in: a pointer to an array of UTF-8 chars 103*7c568831SAndroid Build Coastguard Worker * @inlen: the length of @in 104*7c568831SAndroid Build Coastguard Worker * 105*7c568831SAndroid Build Coastguard Worker * Convert characters from UTF-8. 106*7c568831SAndroid Build Coastguard Worker * 107*7c568831SAndroid Build Coastguard Worker * On success, the value of @inlen after return is the number of 108*7c568831SAndroid Build Coastguard Worker * bytes consumed and @outlen is the number of bytes produced. 109*7c568831SAndroid Build Coastguard Worker * 110*7c568831SAndroid Build Coastguard Worker * Returns the number of bytes written or an XML_ENC_ERR code. 111*7c568831SAndroid Build Coastguard Worker */ 112*7c568831SAndroid Build Coastguard Worker typedef int (*xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen, 113*7c568831SAndroid Build Coastguard Worker const unsigned char *in, int *inlen); 114*7c568831SAndroid Build Coastguard Worker 115*7c568831SAndroid Build Coastguard Worker 116*7c568831SAndroid Build Coastguard Worker /** 117*7c568831SAndroid Build Coastguard Worker * xmlCharEncConvFunc: 118*7c568831SAndroid Build Coastguard Worker * @vctxt: conversion context 119*7c568831SAndroid Build Coastguard Worker * @out: a pointer to an array of bytes to store the result 120*7c568831SAndroid Build Coastguard Worker * @outlen: the length of @out 121*7c568831SAndroid Build Coastguard Worker * @in: a pointer to an array of input bytes 122*7c568831SAndroid Build Coastguard Worker * @inlen: the length of @in 123*7c568831SAndroid Build Coastguard Worker * 124*7c568831SAndroid Build Coastguard Worker * Convert between character encodings. 125*7c568831SAndroid Build Coastguard Worker * 126*7c568831SAndroid Build Coastguard Worker * On success, the value of @inlen after return is the number of 127*7c568831SAndroid Build Coastguard Worker * bytes consumed and @outlen is the number of bytes produced. 128*7c568831SAndroid Build Coastguard Worker * 129*7c568831SAndroid Build Coastguard Worker * Returns the number of bytes written or an XML_ENC_ERR code. 130*7c568831SAndroid Build Coastguard Worker */ 131*7c568831SAndroid Build Coastguard Worker typedef int 132*7c568831SAndroid Build Coastguard Worker (*xmlCharEncConvFunc)(unsigned char *out, int *outlen, 133*7c568831SAndroid Build Coastguard Worker const unsigned char *in, int *inlen, void *vctxt); 134*7c568831SAndroid Build Coastguard Worker 135*7c568831SAndroid Build Coastguard Worker /** 136*7c568831SAndroid Build Coastguard Worker * xmlCharEncConvCtxtDtor: 137*7c568831SAndroid Build Coastguard Worker * @vctxt: conversion context 138*7c568831SAndroid Build Coastguard Worker * 139*7c568831SAndroid Build Coastguard Worker * Free a conversion context. 140*7c568831SAndroid Build Coastguard Worker */ 141*7c568831SAndroid Build Coastguard Worker typedef void 142*7c568831SAndroid Build Coastguard Worker (*xmlCharEncConvCtxtDtor)(void *vctxt); 143*7c568831SAndroid Build Coastguard Worker 144*7c568831SAndroid Build Coastguard Worker typedef struct { 145*7c568831SAndroid Build Coastguard Worker xmlCharEncConvFunc input; 146*7c568831SAndroid Build Coastguard Worker xmlCharEncConvFunc output; 147*7c568831SAndroid Build Coastguard Worker xmlCharEncConvCtxtDtor ctxtDtor; 148*7c568831SAndroid Build Coastguard Worker void *inputCtxt; 149*7c568831SAndroid Build Coastguard Worker void *outputCtxt; 150*7c568831SAndroid Build Coastguard Worker } xmlCharEncConverter; 151*7c568831SAndroid Build Coastguard Worker 152*7c568831SAndroid Build Coastguard Worker /** 153*7c568831SAndroid Build Coastguard Worker * xmlCharEncConvImpl: 154*7c568831SAndroid Build Coastguard Worker * vctxt: user data 155*7c568831SAndroid Build Coastguard Worker * name: encoding name 156*7c568831SAndroid Build Coastguard Worker * conv: pointer to xmlCharEncConverter struct 157*7c568831SAndroid Build Coastguard Worker * 158*7c568831SAndroid Build Coastguard Worker * If this function returns XML_ERR_OK, it must fill the @conv struct 159*7c568831SAndroid Build Coastguard Worker * with a conversion function, and optional destructor and optional 160*7c568831SAndroid Build Coastguard Worker * input and output conversion contexts. 161*7c568831SAndroid Build Coastguard Worker * 162*7c568831SAndroid Build Coastguard Worker * Returns an xmlParserErrors code. 163*7c568831SAndroid Build Coastguard Worker */ 164*7c568831SAndroid Build Coastguard Worker typedef int 165*7c568831SAndroid Build Coastguard Worker (*xmlCharEncConvImpl)(void *vctxt, const char *name, 166*7c568831SAndroid Build Coastguard Worker xmlCharEncConverter *conv); 167*7c568831SAndroid Build Coastguard Worker 168*7c568831SAndroid Build Coastguard Worker /* 169*7c568831SAndroid Build Coastguard Worker * Block defining the handlers for non UTF-8 encodings. 170*7c568831SAndroid Build Coastguard Worker * 171*7c568831SAndroid Build Coastguard Worker * This structure will be made private. 172*7c568831SAndroid Build Coastguard Worker */ 173*7c568831SAndroid Build Coastguard Worker typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler; 174*7c568831SAndroid Build Coastguard Worker typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr; 175*7c568831SAndroid Build Coastguard Worker struct _xmlCharEncodingHandler { 176*7c568831SAndroid Build Coastguard Worker char *name XML_DEPRECATED_MEMBER; 177*7c568831SAndroid Build Coastguard Worker xmlCharEncodingInputFunc input XML_DEPRECATED_MEMBER; 178*7c568831SAndroid Build Coastguard Worker xmlCharEncodingOutputFunc output XML_DEPRECATED_MEMBER; 179*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_ICONV_ENABLED 180*7c568831SAndroid Build Coastguard Worker void *iconv_in XML_DEPRECATED_MEMBER; 181*7c568831SAndroid Build Coastguard Worker void *iconv_out XML_DEPRECATED_MEMBER; 182*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_ICONV_ENABLED */ 183*7c568831SAndroid Build Coastguard Worker void *inputCtxt XML_DEPRECATED_MEMBER; 184*7c568831SAndroid Build Coastguard Worker void *outputCtxt XML_DEPRECATED_MEMBER; 185*7c568831SAndroid Build Coastguard Worker xmlCharEncConvCtxtDtor ctxtDtor XML_DEPRECATED_MEMBER; 186*7c568831SAndroid Build Coastguard Worker int flags XML_DEPRECATED_MEMBER; 187*7c568831SAndroid Build Coastguard Worker }; 188*7c568831SAndroid Build Coastguard Worker 189*7c568831SAndroid Build Coastguard Worker /* 190*7c568831SAndroid Build Coastguard Worker * Interfaces for encoding handlers. 191*7c568831SAndroid Build Coastguard Worker */ 192*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 193*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 194*7c568831SAndroid Build Coastguard Worker xmlInitCharEncodingHandlers (void); 195*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 196*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 197*7c568831SAndroid Build Coastguard Worker xmlCleanupCharEncodingHandlers (void); 198*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 199*7c568831SAndroid Build Coastguard Worker xmlRegisterCharEncodingHandler (xmlCharEncodingHandlerPtr handler); 200*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 201*7c568831SAndroid Build Coastguard Worker xmlLookupCharEncodingHandler (xmlCharEncoding enc, 202*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr *out); 203*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 204*7c568831SAndroid Build Coastguard Worker xmlOpenCharEncodingHandler (const char *name, 205*7c568831SAndroid Build Coastguard Worker int output, 206*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr *out); 207*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 208*7c568831SAndroid Build Coastguard Worker xmlCreateCharEncodingHandler (const char *name, 209*7c568831SAndroid Build Coastguard Worker int output, 210*7c568831SAndroid Build Coastguard Worker xmlCharEncConvImpl impl, 211*7c568831SAndroid Build Coastguard Worker void *implCtxt, 212*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr *out); 213*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlCharEncodingHandlerPtr 214*7c568831SAndroid Build Coastguard Worker xmlGetCharEncodingHandler (xmlCharEncoding enc); 215*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlCharEncodingHandlerPtr 216*7c568831SAndroid Build Coastguard Worker xmlFindCharEncodingHandler (const char *name); 217*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlCharEncodingHandlerPtr 218*7c568831SAndroid Build Coastguard Worker xmlNewCharEncodingHandler (const char *name, 219*7c568831SAndroid Build Coastguard Worker xmlCharEncodingInputFunc input, 220*7c568831SAndroid Build Coastguard Worker xmlCharEncodingOutputFunc output); 221*7c568831SAndroid Build Coastguard Worker 222*7c568831SAndroid Build Coastguard Worker /* 223*7c568831SAndroid Build Coastguard Worker * Interfaces for encoding names and aliases. 224*7c568831SAndroid Build Coastguard Worker */ 225*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 226*7c568831SAndroid Build Coastguard Worker xmlAddEncodingAlias (const char *name, 227*7c568831SAndroid Build Coastguard Worker const char *alias); 228*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 229*7c568831SAndroid Build Coastguard Worker xmlDelEncodingAlias (const char *alias); 230*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const char * 231*7c568831SAndroid Build Coastguard Worker xmlGetEncodingAlias (const char *alias); 232*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 233*7c568831SAndroid Build Coastguard Worker xmlCleanupEncodingAliases (void); 234*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlCharEncoding 235*7c568831SAndroid Build Coastguard Worker xmlParseCharEncoding (const char *name); 236*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const char * 237*7c568831SAndroid Build Coastguard Worker xmlGetCharEncodingName (xmlCharEncoding enc); 238*7c568831SAndroid Build Coastguard Worker 239*7c568831SAndroid Build Coastguard Worker /* 240*7c568831SAndroid Build Coastguard Worker * Interfaces directly used by the parsers. 241*7c568831SAndroid Build Coastguard Worker */ 242*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlCharEncoding 243*7c568831SAndroid Build Coastguard Worker xmlDetectCharEncoding (const unsigned char *in, 244*7c568831SAndroid Build Coastguard Worker int len); 245*7c568831SAndroid Build Coastguard Worker 246*7c568831SAndroid Build Coastguard Worker /** DOC_DISABLE */ 247*7c568831SAndroid Build Coastguard Worker struct _xmlBuffer; 248*7c568831SAndroid Build Coastguard Worker /** DOC_ENABLE */ 249*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 250*7c568831SAndroid Build Coastguard Worker xmlCharEncOutFunc (xmlCharEncodingHandler *handler, 251*7c568831SAndroid Build Coastguard Worker struct _xmlBuffer *out, 252*7c568831SAndroid Build Coastguard Worker struct _xmlBuffer *in); 253*7c568831SAndroid Build Coastguard Worker 254*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 255*7c568831SAndroid Build Coastguard Worker xmlCharEncInFunc (xmlCharEncodingHandler *handler, 256*7c568831SAndroid Build Coastguard Worker struct _xmlBuffer *out, 257*7c568831SAndroid Build Coastguard Worker struct _xmlBuffer *in); 258*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 259*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 260*7c568831SAndroid Build Coastguard Worker xmlCharEncFirstLine (xmlCharEncodingHandler *handler, 261*7c568831SAndroid Build Coastguard Worker struct _xmlBuffer *out, 262*7c568831SAndroid Build Coastguard Worker struct _xmlBuffer *in); 263*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 264*7c568831SAndroid Build Coastguard Worker xmlCharEncCloseFunc (xmlCharEncodingHandler *handler); 265*7c568831SAndroid Build Coastguard Worker 266*7c568831SAndroid Build Coastguard Worker /* 267*7c568831SAndroid Build Coastguard Worker * Export a few useful functions 268*7c568831SAndroid Build Coastguard Worker */ 269*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED 270*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 271*7c568831SAndroid Build Coastguard Worker UTF8Toisolat1 (unsigned char *out, 272*7c568831SAndroid Build Coastguard Worker int *outlen, 273*7c568831SAndroid Build Coastguard Worker const unsigned char *in, 274*7c568831SAndroid Build Coastguard Worker int *inlen); 275*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_OUTPUT_ENABLED */ 276*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 277*7c568831SAndroid Build Coastguard Worker isolat1ToUTF8 (unsigned char *out, 278*7c568831SAndroid Build Coastguard Worker int *outlen, 279*7c568831SAndroid Build Coastguard Worker const unsigned char *in, 280*7c568831SAndroid Build Coastguard Worker int *inlen); 281*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus 282*7c568831SAndroid Build Coastguard Worker } 283*7c568831SAndroid Build Coastguard Worker #endif 284*7c568831SAndroid Build Coastguard Worker 285*7c568831SAndroid Build Coastguard Worker #endif /* __XML_CHAR_ENCODING_H__ */ 286