1*7c568831SAndroid Build Coastguard Worker /* 2*7c568831SAndroid Build Coastguard Worker * Summary: interface for the I/O interfaces used by the parser 3*7c568831SAndroid Build Coastguard Worker * Description: interface for the I/O interfaces used by the parser 4*7c568831SAndroid Build Coastguard Worker * 5*7c568831SAndroid Build Coastguard Worker * Copy: See Copyright for the status of this software. 6*7c568831SAndroid Build Coastguard Worker * 7*7c568831SAndroid Build Coastguard Worker * Author: Daniel Veillard 8*7c568831SAndroid Build Coastguard Worker */ 9*7c568831SAndroid Build Coastguard Worker 10*7c568831SAndroid Build Coastguard Worker #ifndef __XML_IO_H__ 11*7c568831SAndroid Build Coastguard Worker #define __XML_IO_H__ 12*7c568831SAndroid Build Coastguard Worker 13*7c568831SAndroid Build Coastguard Worker /** DOC_DISABLE */ 14*7c568831SAndroid Build Coastguard Worker #include <stdio.h> 15*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlversion.h> 16*7c568831SAndroid Build Coastguard Worker #include <libxml/encoding.h> 17*7c568831SAndroid Build Coastguard Worker #define XML_TREE_INTERNALS 18*7c568831SAndroid Build Coastguard Worker #include <libxml/tree.h> 19*7c568831SAndroid Build Coastguard Worker #undef XML_TREE_INTERNALS 20*7c568831SAndroid Build Coastguard Worker /** DOC_ENABLE */ 21*7c568831SAndroid Build Coastguard Worker 22*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus 23*7c568831SAndroid Build Coastguard Worker extern "C" { 24*7c568831SAndroid Build Coastguard Worker #endif 25*7c568831SAndroid Build Coastguard Worker 26*7c568831SAndroid Build Coastguard Worker /* 27*7c568831SAndroid Build Coastguard Worker * Those are the functions and datatypes for the parser input 28*7c568831SAndroid Build Coastguard Worker * I/O structures. 29*7c568831SAndroid Build Coastguard Worker */ 30*7c568831SAndroid Build Coastguard Worker 31*7c568831SAndroid Build Coastguard Worker /** 32*7c568831SAndroid Build Coastguard Worker * xmlInputMatchCallback: 33*7c568831SAndroid Build Coastguard Worker * @filename: the filename or URI 34*7c568831SAndroid Build Coastguard Worker * 35*7c568831SAndroid Build Coastguard Worker * Callback used in the I/O Input API to detect if the current handler 36*7c568831SAndroid Build Coastguard Worker * can provide input functionality for this resource. 37*7c568831SAndroid Build Coastguard Worker * 38*7c568831SAndroid Build Coastguard Worker * Returns 1 if yes and 0 if another Input module should be used 39*7c568831SAndroid Build Coastguard Worker */ 40*7c568831SAndroid Build Coastguard Worker typedef int (*xmlInputMatchCallback) (char const *filename); 41*7c568831SAndroid Build Coastguard Worker /** 42*7c568831SAndroid Build Coastguard Worker * xmlInputOpenCallback: 43*7c568831SAndroid Build Coastguard Worker * @filename: the filename or URI 44*7c568831SAndroid Build Coastguard Worker * 45*7c568831SAndroid Build Coastguard Worker * Callback used in the I/O Input API to open the resource 46*7c568831SAndroid Build Coastguard Worker * 47*7c568831SAndroid Build Coastguard Worker * Returns an Input context or NULL in case or error 48*7c568831SAndroid Build Coastguard Worker */ 49*7c568831SAndroid Build Coastguard Worker typedef void * (*xmlInputOpenCallback) (char const *filename); 50*7c568831SAndroid Build Coastguard Worker /** 51*7c568831SAndroid Build Coastguard Worker * xmlInputReadCallback: 52*7c568831SAndroid Build Coastguard Worker * @context: an Input context 53*7c568831SAndroid Build Coastguard Worker * @buffer: the buffer to store data read 54*7c568831SAndroid Build Coastguard Worker * @len: the length of the buffer in bytes 55*7c568831SAndroid Build Coastguard Worker * 56*7c568831SAndroid Build Coastguard Worker * Callback used in the I/O Input API to read the resource 57*7c568831SAndroid Build Coastguard Worker * 58*7c568831SAndroid Build Coastguard Worker * Returns the number of bytes read or -1 in case of error 59*7c568831SAndroid Build Coastguard Worker */ 60*7c568831SAndroid Build Coastguard Worker typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len); 61*7c568831SAndroid Build Coastguard Worker /** 62*7c568831SAndroid Build Coastguard Worker * xmlInputCloseCallback: 63*7c568831SAndroid Build Coastguard Worker * @context: an Input context 64*7c568831SAndroid Build Coastguard Worker * 65*7c568831SAndroid Build Coastguard Worker * Callback used in the I/O Input API to close the resource 66*7c568831SAndroid Build Coastguard Worker * 67*7c568831SAndroid Build Coastguard Worker * Returns 0 or -1 in case of error 68*7c568831SAndroid Build Coastguard Worker */ 69*7c568831SAndroid Build Coastguard Worker typedef int (*xmlInputCloseCallback) (void * context); 70*7c568831SAndroid Build Coastguard Worker 71*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED 72*7c568831SAndroid Build Coastguard Worker /* 73*7c568831SAndroid Build Coastguard Worker * Those are the functions and datatypes for the library output 74*7c568831SAndroid Build Coastguard Worker * I/O structures. 75*7c568831SAndroid Build Coastguard Worker */ 76*7c568831SAndroid Build Coastguard Worker 77*7c568831SAndroid Build Coastguard Worker /** 78*7c568831SAndroid Build Coastguard Worker * xmlOutputMatchCallback: 79*7c568831SAndroid Build Coastguard Worker * @filename: the filename or URI 80*7c568831SAndroid Build Coastguard Worker * 81*7c568831SAndroid Build Coastguard Worker * Callback used in the I/O Output API to detect if the current handler 82*7c568831SAndroid Build Coastguard Worker * can provide output functionality for this resource. 83*7c568831SAndroid Build Coastguard Worker * 84*7c568831SAndroid Build Coastguard Worker * Returns 1 if yes and 0 if another Output module should be used 85*7c568831SAndroid Build Coastguard Worker */ 86*7c568831SAndroid Build Coastguard Worker typedef int (*xmlOutputMatchCallback) (char const *filename); 87*7c568831SAndroid Build Coastguard Worker /** 88*7c568831SAndroid Build Coastguard Worker * xmlOutputOpenCallback: 89*7c568831SAndroid Build Coastguard Worker * @filename: the filename or URI 90*7c568831SAndroid Build Coastguard Worker * 91*7c568831SAndroid Build Coastguard Worker * Callback used in the I/O Output API to open the resource 92*7c568831SAndroid Build Coastguard Worker * 93*7c568831SAndroid Build Coastguard Worker * Returns an Output context or NULL in case or error 94*7c568831SAndroid Build Coastguard Worker */ 95*7c568831SAndroid Build Coastguard Worker typedef void * (*xmlOutputOpenCallback) (char const *filename); 96*7c568831SAndroid Build Coastguard Worker /** 97*7c568831SAndroid Build Coastguard Worker * xmlOutputWriteCallback: 98*7c568831SAndroid Build Coastguard Worker * @context: an Output context 99*7c568831SAndroid Build Coastguard Worker * @buffer: the buffer of data to write 100*7c568831SAndroid Build Coastguard Worker * @len: the length of the buffer in bytes 101*7c568831SAndroid Build Coastguard Worker * 102*7c568831SAndroid Build Coastguard Worker * Callback used in the I/O Output API to write to the resource 103*7c568831SAndroid Build Coastguard Worker * 104*7c568831SAndroid Build Coastguard Worker * Returns the number of bytes written or -1 in case of error 105*7c568831SAndroid Build Coastguard Worker */ 106*7c568831SAndroid Build Coastguard Worker typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer, 107*7c568831SAndroid Build Coastguard Worker int len); 108*7c568831SAndroid Build Coastguard Worker /** 109*7c568831SAndroid Build Coastguard Worker * xmlOutputCloseCallback: 110*7c568831SAndroid Build Coastguard Worker * @context: an Output context 111*7c568831SAndroid Build Coastguard Worker * 112*7c568831SAndroid Build Coastguard Worker * Callback used in the I/O Output API to close the resource 113*7c568831SAndroid Build Coastguard Worker * 114*7c568831SAndroid Build Coastguard Worker * Returns 0 or -1 in case of error 115*7c568831SAndroid Build Coastguard Worker */ 116*7c568831SAndroid Build Coastguard Worker typedef int (*xmlOutputCloseCallback) (void * context); 117*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_OUTPUT_ENABLED */ 118*7c568831SAndroid Build Coastguard Worker 119*7c568831SAndroid Build Coastguard Worker /** 120*7c568831SAndroid Build Coastguard Worker * xmlParserInputBufferCreateFilenameFunc: 121*7c568831SAndroid Build Coastguard Worker * @URI: the URI to read from 122*7c568831SAndroid Build Coastguard Worker * @enc: the requested source encoding 123*7c568831SAndroid Build Coastguard Worker * 124*7c568831SAndroid Build Coastguard Worker * Signature for the function doing the lookup for a suitable input method 125*7c568831SAndroid Build Coastguard Worker * corresponding to an URI. 126*7c568831SAndroid Build Coastguard Worker * 127*7c568831SAndroid Build Coastguard Worker * Returns the new xmlParserInputBufferPtr in case of success or NULL if no 128*7c568831SAndroid Build Coastguard Worker * method was found. 129*7c568831SAndroid Build Coastguard Worker */ 130*7c568831SAndroid Build Coastguard Worker typedef xmlParserInputBufferPtr 131*7c568831SAndroid Build Coastguard Worker (*xmlParserInputBufferCreateFilenameFunc)(const char *URI, xmlCharEncoding enc); 132*7c568831SAndroid Build Coastguard Worker 133*7c568831SAndroid Build Coastguard Worker /** 134*7c568831SAndroid Build Coastguard Worker * xmlOutputBufferCreateFilenameFunc: 135*7c568831SAndroid Build Coastguard Worker * @URI: the URI to write to 136*7c568831SAndroid Build Coastguard Worker * @enc: the requested target encoding 137*7c568831SAndroid Build Coastguard Worker * 138*7c568831SAndroid Build Coastguard Worker * Signature for the function doing the lookup for a suitable output method 139*7c568831SAndroid Build Coastguard Worker * corresponding to an URI. 140*7c568831SAndroid Build Coastguard Worker * 141*7c568831SAndroid Build Coastguard Worker * Returns the new xmlOutputBufferPtr in case of success or NULL if no 142*7c568831SAndroid Build Coastguard Worker * method was found. 143*7c568831SAndroid Build Coastguard Worker */ 144*7c568831SAndroid Build Coastguard Worker typedef xmlOutputBufferPtr 145*7c568831SAndroid Build Coastguard Worker (*xmlOutputBufferCreateFilenameFunc)(const char *URI, 146*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr encoder, int compression); 147*7c568831SAndroid Build Coastguard Worker 148*7c568831SAndroid Build Coastguard Worker struct _xmlParserInputBuffer { 149*7c568831SAndroid Build Coastguard Worker void* context; 150*7c568831SAndroid Build Coastguard Worker xmlInputReadCallback readcallback; 151*7c568831SAndroid Build Coastguard Worker xmlInputCloseCallback closecallback; 152*7c568831SAndroid Build Coastguard Worker 153*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ 154*7c568831SAndroid Build Coastguard Worker 155*7c568831SAndroid Build Coastguard Worker xmlBufPtr buffer; /* Local buffer encoded in UTF-8 */ 156*7c568831SAndroid Build Coastguard Worker xmlBufPtr raw; /* if encoder != NULL buffer for raw input */ 157*7c568831SAndroid Build Coastguard Worker int compressed; /* -1=unknown, 0=not compressed, 1=compressed */ 158*7c568831SAndroid Build Coastguard Worker int error; 159*7c568831SAndroid Build Coastguard Worker unsigned long rawconsumed;/* amount consumed from raw */ 160*7c568831SAndroid Build Coastguard Worker }; 161*7c568831SAndroid Build Coastguard Worker 162*7c568831SAndroid Build Coastguard Worker 163*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED 164*7c568831SAndroid Build Coastguard Worker struct _xmlOutputBuffer { 165*7c568831SAndroid Build Coastguard Worker void* context; 166*7c568831SAndroid Build Coastguard Worker xmlOutputWriteCallback writecallback; 167*7c568831SAndroid Build Coastguard Worker xmlOutputCloseCallback closecallback; 168*7c568831SAndroid Build Coastguard Worker 169*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ 170*7c568831SAndroid Build Coastguard Worker 171*7c568831SAndroid Build Coastguard Worker xmlBufPtr buffer; /* Local buffer encoded in UTF-8 or ISOLatin */ 172*7c568831SAndroid Build Coastguard Worker xmlBufPtr conv; /* if encoder != NULL buffer for output */ 173*7c568831SAndroid Build Coastguard Worker int written; /* total number of byte written */ 174*7c568831SAndroid Build Coastguard Worker int error; 175*7c568831SAndroid Build Coastguard Worker }; 176*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_OUTPUT_ENABLED */ 177*7c568831SAndroid Build Coastguard Worker 178*7c568831SAndroid Build Coastguard Worker /** DOC_DISABLE */ 179*7c568831SAndroid Build Coastguard Worker #define XML_GLOBALS_IO \ 180*7c568831SAndroid Build Coastguard Worker XML_OP(xmlParserInputBufferCreateFilenameValue, \ 181*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferCreateFilenameFunc, XML_DEPRECATED) \ 182*7c568831SAndroid Build Coastguard Worker XML_OP(xmlOutputBufferCreateFilenameValue, \ 183*7c568831SAndroid Build Coastguard Worker xmlOutputBufferCreateFilenameFunc, XML_DEPRECATED) 184*7c568831SAndroid Build Coastguard Worker 185*7c568831SAndroid Build Coastguard Worker #define XML_OP XML_DECLARE_GLOBAL 186*7c568831SAndroid Build Coastguard Worker XML_GLOBALS_IO 187*7c568831SAndroid Build Coastguard Worker #undef XML_OP 188*7c568831SAndroid Build Coastguard Worker 189*7c568831SAndroid Build Coastguard Worker #if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION) 190*7c568831SAndroid Build Coastguard Worker #define xmlParserInputBufferCreateFilenameValue \ 191*7c568831SAndroid Build Coastguard Worker XML_GLOBAL_MACRO(xmlParserInputBufferCreateFilenameValue) 192*7c568831SAndroid Build Coastguard Worker #define xmlOutputBufferCreateFilenameValue \ 193*7c568831SAndroid Build Coastguard Worker XML_GLOBAL_MACRO(xmlOutputBufferCreateFilenameValue) 194*7c568831SAndroid Build Coastguard Worker #endif 195*7c568831SAndroid Build Coastguard Worker /** DOC_ENABLE */ 196*7c568831SAndroid Build Coastguard Worker 197*7c568831SAndroid Build Coastguard Worker /* 198*7c568831SAndroid Build Coastguard Worker * Interfaces for input 199*7c568831SAndroid Build Coastguard Worker */ 200*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 201*7c568831SAndroid Build Coastguard Worker xmlCleanupInputCallbacks (void); 202*7c568831SAndroid Build Coastguard Worker 203*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 204*7c568831SAndroid Build Coastguard Worker xmlPopInputCallbacks (void); 205*7c568831SAndroid Build Coastguard Worker 206*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 207*7c568831SAndroid Build Coastguard Worker xmlRegisterDefaultInputCallbacks (void); 208*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputBufferPtr 209*7c568831SAndroid Build Coastguard Worker xmlAllocParserInputBuffer (xmlCharEncoding enc); 210*7c568831SAndroid Build Coastguard Worker 211*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputBufferPtr 212*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferCreateFilename (const char *URI, 213*7c568831SAndroid Build Coastguard Worker xmlCharEncoding enc); 214*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 215*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputBufferPtr 216*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferCreateFile (FILE *file, 217*7c568831SAndroid Build Coastguard Worker xmlCharEncoding enc); 218*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputBufferPtr 219*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferCreateFd (int fd, 220*7c568831SAndroid Build Coastguard Worker xmlCharEncoding enc); 221*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputBufferPtr 222*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferCreateMem (const char *mem, int size, 223*7c568831SAndroid Build Coastguard Worker xmlCharEncoding enc); 224*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputBufferPtr 225*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferCreateStatic (const char *mem, int size, 226*7c568831SAndroid Build Coastguard Worker xmlCharEncoding enc); 227*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputBufferPtr 228*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferCreateIO (xmlInputReadCallback ioread, 229*7c568831SAndroid Build Coastguard Worker xmlInputCloseCallback ioclose, 230*7c568831SAndroid Build Coastguard Worker void *ioctx, 231*7c568831SAndroid Build Coastguard Worker xmlCharEncoding enc); 232*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 233*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 234*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferRead (xmlParserInputBufferPtr in, 235*7c568831SAndroid Build Coastguard Worker int len); 236*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 237*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 238*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferGrow (xmlParserInputBufferPtr in, 239*7c568831SAndroid Build Coastguard Worker int len); 240*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 241*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 242*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferPush (xmlParserInputBufferPtr in, 243*7c568831SAndroid Build Coastguard Worker int len, 244*7c568831SAndroid Build Coastguard Worker const char *buf); 245*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 246*7c568831SAndroid Build Coastguard Worker xmlFreeParserInputBuffer (xmlParserInputBufferPtr in); 247*7c568831SAndroid Build Coastguard Worker XMLPUBFUN char * 248*7c568831SAndroid Build Coastguard Worker xmlParserGetDirectory (const char *filename); 249*7c568831SAndroid Build Coastguard Worker 250*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 251*7c568831SAndroid Build Coastguard Worker xmlRegisterInputCallbacks (xmlInputMatchCallback matchFunc, 252*7c568831SAndroid Build Coastguard Worker xmlInputOpenCallback openFunc, 253*7c568831SAndroid Build Coastguard Worker xmlInputReadCallback readFunc, 254*7c568831SAndroid Build Coastguard Worker xmlInputCloseCallback closeFunc); 255*7c568831SAndroid Build Coastguard Worker 256*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferPtr 257*7c568831SAndroid Build Coastguard Worker __xmlParserInputBufferCreateFilename(const char *URI, 258*7c568831SAndroid Build Coastguard Worker xmlCharEncoding enc); 259*7c568831SAndroid Build Coastguard Worker 260*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED 261*7c568831SAndroid Build Coastguard Worker /* 262*7c568831SAndroid Build Coastguard Worker * Interfaces for output 263*7c568831SAndroid Build Coastguard Worker */ 264*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 265*7c568831SAndroid Build Coastguard Worker xmlCleanupOutputCallbacks (void); 266*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 267*7c568831SAndroid Build Coastguard Worker xmlPopOutputCallbacks (void); 268*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 269*7c568831SAndroid Build Coastguard Worker xmlRegisterDefaultOutputCallbacks(void); 270*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlOutputBufferPtr 271*7c568831SAndroid Build Coastguard Worker xmlAllocOutputBuffer (xmlCharEncodingHandlerPtr encoder); 272*7c568831SAndroid Build Coastguard Worker 273*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlOutputBufferPtr 274*7c568831SAndroid Build Coastguard Worker xmlOutputBufferCreateFilename (const char *URI, 275*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr encoder, 276*7c568831SAndroid Build Coastguard Worker int compression); 277*7c568831SAndroid Build Coastguard Worker 278*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlOutputBufferPtr 279*7c568831SAndroid Build Coastguard Worker xmlOutputBufferCreateFile (FILE *file, 280*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr encoder); 281*7c568831SAndroid Build Coastguard Worker 282*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlOutputBufferPtr 283*7c568831SAndroid Build Coastguard Worker xmlOutputBufferCreateBuffer (xmlBufferPtr buffer, 284*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr encoder); 285*7c568831SAndroid Build Coastguard Worker 286*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlOutputBufferPtr 287*7c568831SAndroid Build Coastguard Worker xmlOutputBufferCreateFd (int fd, 288*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr encoder); 289*7c568831SAndroid Build Coastguard Worker 290*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlOutputBufferPtr 291*7c568831SAndroid Build Coastguard Worker xmlOutputBufferCreateIO (xmlOutputWriteCallback iowrite, 292*7c568831SAndroid Build Coastguard Worker xmlOutputCloseCallback ioclose, 293*7c568831SAndroid Build Coastguard Worker void *ioctx, 294*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr encoder); 295*7c568831SAndroid Build Coastguard Worker 296*7c568831SAndroid Build Coastguard Worker /* Couple of APIs to get the output without digging into the buffers */ 297*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const xmlChar * 298*7c568831SAndroid Build Coastguard Worker xmlOutputBufferGetContent (xmlOutputBufferPtr out); 299*7c568831SAndroid Build Coastguard Worker XMLPUBFUN size_t 300*7c568831SAndroid Build Coastguard Worker xmlOutputBufferGetSize (xmlOutputBufferPtr out); 301*7c568831SAndroid Build Coastguard Worker 302*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 303*7c568831SAndroid Build Coastguard Worker xmlOutputBufferWrite (xmlOutputBufferPtr out, 304*7c568831SAndroid Build Coastguard Worker int len, 305*7c568831SAndroid Build Coastguard Worker const char *buf); 306*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 307*7c568831SAndroid Build Coastguard Worker xmlOutputBufferWriteString (xmlOutputBufferPtr out, 308*7c568831SAndroid Build Coastguard Worker const char *str); 309*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 310*7c568831SAndroid Build Coastguard Worker xmlOutputBufferWriteEscape (xmlOutputBufferPtr out, 311*7c568831SAndroid Build Coastguard Worker const xmlChar *str, 312*7c568831SAndroid Build Coastguard Worker xmlCharEncodingOutputFunc escaping); 313*7c568831SAndroid Build Coastguard Worker 314*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 315*7c568831SAndroid Build Coastguard Worker xmlOutputBufferFlush (xmlOutputBufferPtr out); 316*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 317*7c568831SAndroid Build Coastguard Worker xmlOutputBufferClose (xmlOutputBufferPtr out); 318*7c568831SAndroid Build Coastguard Worker 319*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 320*7c568831SAndroid Build Coastguard Worker xmlRegisterOutputCallbacks (xmlOutputMatchCallback matchFunc, 321*7c568831SAndroid Build Coastguard Worker xmlOutputOpenCallback openFunc, 322*7c568831SAndroid Build Coastguard Worker xmlOutputWriteCallback writeFunc, 323*7c568831SAndroid Build Coastguard Worker xmlOutputCloseCallback closeFunc); 324*7c568831SAndroid Build Coastguard Worker 325*7c568831SAndroid Build Coastguard Worker xmlOutputBufferPtr 326*7c568831SAndroid Build Coastguard Worker __xmlOutputBufferCreateFilename(const char *URI, 327*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr encoder, 328*7c568831SAndroid Build Coastguard Worker int compression); 329*7c568831SAndroid Build Coastguard Worker 330*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_HTTP_ENABLED 331*7c568831SAndroid Build Coastguard Worker /* This function only exists if HTTP support built into the library */ 332*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 333*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 334*7c568831SAndroid Build Coastguard Worker xmlRegisterHTTPPostCallbacks (void ); 335*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_HTTP_ENABLED */ 336*7c568831SAndroid Build Coastguard Worker 337*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_OUTPUT_ENABLED */ 338*7c568831SAndroid Build Coastguard Worker 339*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 340*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputPtr 341*7c568831SAndroid Build Coastguard Worker xmlCheckHTTPInput (xmlParserCtxtPtr ctxt, 342*7c568831SAndroid Build Coastguard Worker xmlParserInputPtr ret); 343*7c568831SAndroid Build Coastguard Worker 344*7c568831SAndroid Build Coastguard Worker /* 345*7c568831SAndroid Build Coastguard Worker * A predefined entity loader disabling network accesses 346*7c568831SAndroid Build Coastguard Worker */ 347*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputPtr 348*7c568831SAndroid Build Coastguard Worker xmlNoNetExternalEntityLoader (const char *URL, 349*7c568831SAndroid Build Coastguard Worker const char *ID, 350*7c568831SAndroid Build Coastguard Worker xmlParserCtxtPtr ctxt); 351*7c568831SAndroid Build Coastguard Worker 352*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 353*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar * 354*7c568831SAndroid Build Coastguard Worker xmlNormalizeWindowsPath (const xmlChar *path); 355*7c568831SAndroid Build Coastguard Worker 356*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 357*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 358*7c568831SAndroid Build Coastguard Worker xmlCheckFilename (const char *path); 359*7c568831SAndroid Build Coastguard Worker /** 360*7c568831SAndroid Build Coastguard Worker * Default 'file://' protocol callbacks 361*7c568831SAndroid Build Coastguard Worker */ 362*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 363*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 364*7c568831SAndroid Build Coastguard Worker xmlFileMatch (const char *filename); 365*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 366*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void * 367*7c568831SAndroid Build Coastguard Worker xmlFileOpen (const char *filename); 368*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 369*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 370*7c568831SAndroid Build Coastguard Worker xmlFileRead (void * context, 371*7c568831SAndroid Build Coastguard Worker char * buffer, 372*7c568831SAndroid Build Coastguard Worker int len); 373*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 374*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 375*7c568831SAndroid Build Coastguard Worker xmlFileClose (void * context); 376*7c568831SAndroid Build Coastguard Worker 377*7c568831SAndroid Build Coastguard Worker /** 378*7c568831SAndroid Build Coastguard Worker * Default 'http://' protocol callbacks 379*7c568831SAndroid Build Coastguard Worker */ 380*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_HTTP_ENABLED 381*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 382*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 383*7c568831SAndroid Build Coastguard Worker xmlIOHTTPMatch (const char *filename); 384*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 385*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void * 386*7c568831SAndroid Build Coastguard Worker xmlIOHTTPOpen (const char *filename); 387*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED 388*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 389*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void * 390*7c568831SAndroid Build Coastguard Worker xmlIOHTTPOpenW (const char * post_uri, 391*7c568831SAndroid Build Coastguard Worker int compression ); 392*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_OUTPUT_ENABLED */ 393*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 394*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 395*7c568831SAndroid Build Coastguard Worker xmlIOHTTPRead (void * context, 396*7c568831SAndroid Build Coastguard Worker char * buffer, 397*7c568831SAndroid Build Coastguard Worker int len); 398*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 399*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 400*7c568831SAndroid Build Coastguard Worker xmlIOHTTPClose (void * context); 401*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_HTTP_ENABLED */ 402*7c568831SAndroid Build Coastguard Worker 403*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputBufferCreateFilenameFunc 404*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferCreateFilenameDefault( 405*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferCreateFilenameFunc func); 406*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlOutputBufferCreateFilenameFunc 407*7c568831SAndroid Build Coastguard Worker xmlOutputBufferCreateFilenameDefault( 408*7c568831SAndroid Build Coastguard Worker xmlOutputBufferCreateFilenameFunc func); 409*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 410*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlOutputBufferCreateFilenameFunc 411*7c568831SAndroid Build Coastguard Worker xmlThrDefOutputBufferCreateFilenameDefault( 412*7c568831SAndroid Build Coastguard Worker xmlOutputBufferCreateFilenameFunc func); 413*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 414*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputBufferCreateFilenameFunc 415*7c568831SAndroid Build Coastguard Worker xmlThrDefParserInputBufferCreateFilenameDefault( 416*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferCreateFilenameFunc func); 417*7c568831SAndroid Build Coastguard Worker 418*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus 419*7c568831SAndroid Build Coastguard Worker } 420*7c568831SAndroid Build Coastguard Worker #endif 421*7c568831SAndroid Build Coastguard Worker 422*7c568831SAndroid Build Coastguard Worker #endif /* __XML_IO_H__ */ 423