Annotation of embedaddon/libxml2/include/libxml/xmlIO.h, revision 1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>