File indexing completed on 2026-09-13 09:14:04
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef __XML_IO_H__
0014 #define __XML_IO_H__
0015
0016 #include <stdio.h>
0017 #include <libxml/xmlversion.h>
0018 #include <libxml/encoding.h>
0019 #define XML_TREE_INTERNALS
0020 #include <libxml/tree.h>
0021 #undef XML_TREE_INTERNALS
0022
0023 #ifdef __cplusplus
0024 extern "C" {
0025 #endif
0026
0027
0028
0029
0030
0031
0032
0033
0034 typedef int (*xmlInputMatchCallback) (const char *filename);
0035
0036
0037
0038
0039
0040
0041 typedef void * (*xmlInputOpenCallback) (const char *filename);
0042
0043
0044
0045
0046
0047
0048
0049
0050 typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len);
0051
0052
0053
0054
0055
0056
0057 typedef int (*xmlInputCloseCallback) (void * context);
0058
0059 #ifdef LIBXML_OUTPUT_ENABLED
0060
0061
0062
0063
0064
0065
0066
0067 typedef int (*xmlOutputMatchCallback) (const char *filename);
0068
0069
0070
0071
0072
0073
0074 typedef void * (*xmlOutputOpenCallback) (const char *filename);
0075
0076
0077
0078
0079
0080
0081
0082
0083 typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer,
0084 int len);
0085
0086
0087
0088
0089
0090
0091 typedef int (*xmlOutputCloseCallback) (void * context);
0092 #endif
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103 typedef xmlParserInputBuffer *
0104 (*xmlParserInputBufferCreateFilenameFunc)(const char *URI, xmlCharEncoding enc);
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116 typedef xmlOutputBuffer *
0117 (*xmlOutputBufferCreateFilenameFunc)(const char *URI,
0118 xmlCharEncodingHandler *encoder, int compression);
0119
0120
0121
0122
0123
0124
0125
0126 struct _xmlParserInputBuffer {
0127 void* context XML_DEPRECATED_MEMBER;
0128 xmlInputReadCallback readcallback XML_DEPRECATED_MEMBER;
0129 xmlInputCloseCallback closecallback XML_DEPRECATED_MEMBER;
0130
0131
0132 xmlCharEncodingHandler *encoder XML_DEPRECATED_MEMBER;
0133
0134
0135 xmlBuf *buffer XML_DEPRECATED_MEMBER;
0136
0137 xmlBuf *raw XML_DEPRECATED_MEMBER;
0138
0139 int compressed XML_DEPRECATED_MEMBER;
0140 int error XML_DEPRECATED_MEMBER;
0141
0142 unsigned long rawconsumed XML_DEPRECATED_MEMBER;
0143 };
0144
0145
0146 #ifdef LIBXML_OUTPUT_ENABLED
0147
0148
0149
0150 struct _xmlOutputBuffer {
0151 void* context;
0152 xmlOutputWriteCallback writecallback;
0153 xmlOutputCloseCallback closecallback;
0154
0155
0156 xmlCharEncodingHandler *encoder;
0157
0158
0159 xmlBuf *buffer;
0160
0161 xmlBuf *conv;
0162
0163 int written;
0164 int error;
0165 };
0166 #endif
0167
0168
0169
0170 XML_DEPRECATED
0171 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc *
0172 __xmlParserInputBufferCreateFilenameValue(void);
0173 XML_DEPRECATED
0174 XMLPUBFUN xmlOutputBufferCreateFilenameFunc *
0175 __xmlOutputBufferCreateFilenameValue(void);
0176
0177 #ifndef XML_GLOBALS_NO_REDEFINITION
0178 #define xmlParserInputBufferCreateFilenameValue \
0179 (*__xmlParserInputBufferCreateFilenameValue())
0180 #define xmlOutputBufferCreateFilenameValue \
0181 (*__xmlOutputBufferCreateFilenameValue())
0182 #endif
0183
0184
0185
0186
0187
0188
0189 XMLPUBFUN void
0190 xmlCleanupInputCallbacks (void);
0191
0192 XMLPUBFUN int
0193 xmlPopInputCallbacks (void);
0194
0195 XMLPUBFUN void
0196 xmlRegisterDefaultInputCallbacks (void);
0197 XMLPUBFUN xmlParserInputBuffer *
0198 xmlAllocParserInputBuffer (xmlCharEncoding enc);
0199
0200 XMLPUBFUN xmlParserInputBuffer *
0201 xmlParserInputBufferCreateFilename (const char *URI,
0202 xmlCharEncoding enc);
0203 XML_DEPRECATED
0204 XMLPUBFUN xmlParserInputBuffer *
0205 xmlParserInputBufferCreateFile (FILE *file,
0206 xmlCharEncoding enc);
0207 XMLPUBFUN xmlParserInputBuffer *
0208 xmlParserInputBufferCreateFd (int fd,
0209 xmlCharEncoding enc);
0210 XMLPUBFUN xmlParserInputBuffer *
0211 xmlParserInputBufferCreateMem (const char *mem, int size,
0212 xmlCharEncoding enc);
0213 XMLPUBFUN xmlParserInputBuffer *
0214 xmlParserInputBufferCreateStatic (const char *mem, int size,
0215 xmlCharEncoding enc);
0216 XMLPUBFUN xmlParserInputBuffer *
0217 xmlParserInputBufferCreateIO (xmlInputReadCallback ioread,
0218 xmlInputCloseCallback ioclose,
0219 void *ioctx,
0220 xmlCharEncoding enc);
0221 XML_DEPRECATED
0222 XMLPUBFUN int
0223 xmlParserInputBufferRead (xmlParserInputBuffer *in,
0224 int len);
0225 XML_DEPRECATED
0226 XMLPUBFUN int
0227 xmlParserInputBufferGrow (xmlParserInputBuffer *in,
0228 int len);
0229 XML_DEPRECATED
0230 XMLPUBFUN int
0231 xmlParserInputBufferPush (xmlParserInputBuffer *in,
0232 int len,
0233 const char *buf);
0234 XMLPUBFUN void
0235 xmlFreeParserInputBuffer (xmlParserInputBuffer *in);
0236 XMLPUBFUN char *
0237 xmlParserGetDirectory (const char *filename);
0238
0239 XMLPUBFUN int
0240 xmlRegisterInputCallbacks (xmlInputMatchCallback matchFunc,
0241 xmlInputOpenCallback openFunc,
0242 xmlInputReadCallback readFunc,
0243 xmlInputCloseCallback closeFunc);
0244
0245 XMLPUBFUN xmlParserInputBuffer *
0246 __xmlParserInputBufferCreateFilename(const char *URI,
0247 xmlCharEncoding enc);
0248
0249 #ifdef LIBXML_OUTPUT_ENABLED
0250
0251
0252
0253 XMLPUBFUN void
0254 xmlCleanupOutputCallbacks (void);
0255 XMLPUBFUN int
0256 xmlPopOutputCallbacks (void);
0257 XMLPUBFUN void
0258 xmlRegisterDefaultOutputCallbacks(void);
0259 XMLPUBFUN xmlOutputBuffer *
0260 xmlAllocOutputBuffer (xmlCharEncodingHandler *encoder);
0261
0262 XMLPUBFUN xmlOutputBuffer *
0263 xmlOutputBufferCreateFilename (const char *URI,
0264 xmlCharEncodingHandler *encoder,
0265 int compression);
0266
0267 XMLPUBFUN xmlOutputBuffer *
0268 xmlOutputBufferCreateFile (FILE *file,
0269 xmlCharEncodingHandler *encoder);
0270
0271 XMLPUBFUN xmlOutputBuffer *
0272 xmlOutputBufferCreateBuffer (xmlBuffer *buffer,
0273 xmlCharEncodingHandler *encoder);
0274
0275 XMLPUBFUN xmlOutputBuffer *
0276 xmlOutputBufferCreateFd (int fd,
0277 xmlCharEncodingHandler *encoder);
0278
0279 XMLPUBFUN xmlOutputBuffer *
0280 xmlOutputBufferCreateIO (xmlOutputWriteCallback iowrite,
0281 xmlOutputCloseCallback ioclose,
0282 void *ioctx,
0283 xmlCharEncodingHandler *encoder);
0284
0285
0286 XMLPUBFUN const xmlChar *
0287 xmlOutputBufferGetContent (xmlOutputBuffer *out);
0288 XMLPUBFUN size_t
0289 xmlOutputBufferGetSize (xmlOutputBuffer *out);
0290
0291 XMLPUBFUN int
0292 xmlOutputBufferWrite (xmlOutputBuffer *out,
0293 int len,
0294 const char *buf);
0295 XMLPUBFUN int
0296 xmlOutputBufferWriteString (xmlOutputBuffer *out,
0297 const char *str);
0298 XMLPUBFUN int
0299 xmlOutputBufferWriteEscape (xmlOutputBuffer *out,
0300 const xmlChar *str,
0301 xmlCharEncodingOutputFunc escaping);
0302
0303 XMLPUBFUN int
0304 xmlOutputBufferFlush (xmlOutputBuffer *out);
0305 XMLPUBFUN int
0306 xmlOutputBufferClose (xmlOutputBuffer *out);
0307
0308 XMLPUBFUN int
0309 xmlRegisterOutputCallbacks (xmlOutputMatchCallback matchFunc,
0310 xmlOutputOpenCallback openFunc,
0311 xmlOutputWriteCallback writeFunc,
0312 xmlOutputCloseCallback closeFunc);
0313
0314 XMLPUBFUN xmlOutputBuffer *
0315 __xmlOutputBufferCreateFilename(const char *URI,
0316 xmlCharEncodingHandler *encoder,
0317 int compression);
0318 #endif
0319
0320 XML_DEPRECATED
0321 XMLPUBFUN xmlParserInput *
0322 xmlCheckHTTPInput (xmlParserCtxt *ctxt,
0323 xmlParserInput *ret);
0324
0325 XML_DEPRECATED
0326 XMLPUBFUN xmlParserInput *
0327 xmlNoNetExternalEntityLoader (const char *URL,
0328 const char *ID,
0329 xmlParserCtxt *ctxt);
0330
0331 XML_DEPRECATED
0332 XMLPUBFUN xmlChar *
0333 xmlNormalizeWindowsPath (const xmlChar *path);
0334
0335 XML_DEPRECATED
0336 XMLPUBFUN int
0337 xmlCheckFilename (const char *path);
0338
0339 XML_DEPRECATED
0340 XMLPUBFUN int
0341 xmlFileMatch (const char *filename);
0342 XML_DEPRECATED
0343 XMLPUBFUN void *
0344 xmlFileOpen (const char *filename);
0345 XML_DEPRECATED
0346 XMLPUBFUN int
0347 xmlFileRead (void * context,
0348 char * buffer,
0349 int len);
0350 XML_DEPRECATED
0351 XMLPUBFUN int
0352 xmlFileClose (void * context);
0353
0354 #ifdef LIBXML_HTTP_STUBS_ENABLED
0355
0356 XML_DEPRECATED
0357 XMLPUBFUN int
0358 xmlIOHTTPMatch (const char *filename);
0359 XML_DEPRECATED
0360 XMLPUBFUN void *
0361 xmlIOHTTPOpen (const char *filename);
0362 #ifdef LIBXML_OUTPUT_ENABLED
0363 XML_DEPRECATED
0364 XMLPUBFUN void
0365 xmlRegisterHTTPPostCallbacks (void );
0366 XML_DEPRECATED
0367 XMLPUBFUN void *
0368 xmlIOHTTPOpenW (const char * post_uri,
0369 int compression );
0370 #endif
0371 XML_DEPRECATED
0372 XMLPUBFUN int
0373 xmlIOHTTPRead (void * context,
0374 char * buffer,
0375 int len);
0376 XML_DEPRECATED
0377 XMLPUBFUN int
0378 xmlIOHTTPClose (void * context);
0379
0380 #endif
0381
0382 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
0383 xmlParserInputBufferCreateFilenameDefault(
0384 xmlParserInputBufferCreateFilenameFunc func);
0385 XMLPUBFUN xmlOutputBufferCreateFilenameFunc
0386 xmlOutputBufferCreateFilenameDefault(
0387 xmlOutputBufferCreateFilenameFunc func);
0388 XML_DEPRECATED
0389 XMLPUBFUN xmlOutputBufferCreateFilenameFunc
0390 xmlThrDefOutputBufferCreateFilenameDefault(
0391 xmlOutputBufferCreateFilenameFunc func);
0392 XML_DEPRECATED
0393 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
0394 xmlThrDefParserInputBufferCreateFilenameDefault(
0395 xmlParserInputBufferCreateFilenameFunc func);
0396
0397 #ifdef __cplusplus
0398 }
0399 #endif
0400
0401 #endif