* Summary: interface for the I/O interfaces used by the parser * Description: interface for the I/O interfaces used by the parser * * Copy: See Copyright for the status of this software. * * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. /if not defined(XML_IO_H__) /define XML_IO_H__ /include "libxmlrpg/xmlversion" /include "libxmlrpg/xmlTypesC" * Those are the functions and datatypes for the parser input * I/O structures. * xmlInputMatchCallback: * @filename: the filename or URI * * Callback used in the I/O Input API to detect if the current handler * can provide input fonctionnalities for this resource. * * Returns 1 if yes and 0 if another Input module should be used
d xmlInputMatchCallback… d s * based(######typedef######) d procptr
* xmlInputOpenCallback: * @filename: the filename or URI * * Callback used in the I/O Input API to open the resource * * Returns an Input context or NULL in case or error
d xmlInputOpenCallback… d s * based(######typedef######) d procptr
* xmlInputReadCallback: * @context: an Input context * @buffer: the buffer to store data read * @len: the length of the buffer in bytes * * Callback used in the I/O Input API to read the resource * * Returns the number of bytes read or -1 in case of error
d xmlInputReadCallback… d s * based(######typedef######) d procptr
* xmlInputCloseCallback: * @context: an Input context * * Callback used in the I/O Input API to close the resource * * Returns 0 or -1 in case of error
d xmlInputCloseCallback… d s * based(######typedef######) d procptr
/if defined(LIBXML_OUTPUT_ENABLED) * Those are the functions and datatypes for the library output * I/O structures. * xmlOutputMatchCallback: * @filename: the filename or URI * * Callback used in the I/O Output API to detect if the current handler * can provide output fonctionnalities for this resource. * * Returns 1 if yes and 0 if another Output module should be used
d xmlOutputMatchCallback… d s * based(######typedef######) d procptr
* xmlOutputOpenCallback: * @filename: the filename or URI * * Callback used in the I/O Output API to open the resource * * Returns an Output context or NULL in case or error
d xmlOutputOpenCallback… d s * based(######typedef######) d procptr
* xmlOutputWriteCallback: * @context: an Output context * @buffer: the buffer of data to write * @len: the length of the buffer in bytes * * Callback used in the I/O Output API to write to the resource * * Returns the number of bytes written or -1 in case of error
d xmlOutputWriteCallback… d s * based(######typedef######) d procptr
* xmlOutputCloseCallback: * @context: an Output context * * Callback used in the I/O Output API to close the resource * * Returns 0 or -1 in case of error
d xmlOutputCloseCallback… d s * based(######typedef######) d procptr
/endif LIBXML_OUTPUT_ENABLD /include "libxmlrpg/globals" /include "libxmlrpg/tree" /include "libxmlrpg/parser" /include "libxmlrpg/encoding"
d xmlParserInputBuffer… d ds based(xmlParserInputBufferPtr) d align qualified d context * void * d readcallback like(xmlInputReadCallback) d closecallback like(xmlInputCloseCallback)
*
d encoder like(xmlCharEncodingHandlerPtr) Conversions –> UTF8
*
d buffer like(xmlBufPtr) UTF-8 local buffer d raw like(xmlBufPtr) Raw input buffer d compressed like(xmlCint) d error like(xmlCint) d rawconsumed like(xmlCulong)
/if defined(LIBXML_OUTPUT_ENABLED)
d xmlOutputBuffer… d ds based(xmlOutputBufferPtr) d align qualified d context * void * d writecallback like(xmlOutputWriteCallback) d closecallback like(xmlOutputCloseCallback)
*
d encoder like(xmlCharEncodingHandlerPtr) Conversions –> UTF8
*
d buffer like(xmlBufPtr) UTF-8/ISOLatin local d conv like(xmlBufPtr) Buffer for output d written like(xmlCint) Total # byte written d error like(xmlCint)
/endif LIBXML_OUTPUT_ENABLD * Interfaces for input
d xmlCleanupInputCallbacks… d pr extproc('xmlCleanupInputCallbacks')
d xmlPopInputCallbacks… d pr extproc('xmlPopInputCallbacks') d like(xmlCint)
d xmlRegisterDefaultInputCallbacks… d pr extproc( d 'xmlRegisterDefaultInputCallbacks')
d xmlAllocParserInputBuffer… d pr extproc('xmlAllocParserInputBuffer') d like(xmlParserInputBufferPtr) d enc value like(xmlCharEncoding)
d xmlParserInputBufferCreateFilename… d pr extproc( d 'xmlParserInputBufferCreateFilename') d like(xmlParserInputBufferPtr) d URI * value options(*string) const char * d enc value like(xmlCharEncoding)
d xmlParserInputBufferCreateFile… d pr extproc( d 'xmlParserInputBufferCreateFile') d like(xmlParserInputBufferPtr) d file * value FILE * d enc value like(xmlCharEncoding)
d xmlParserInputBufferCreateFd… d pr extproc( d 'xmlParserInputBufferCreateFd') d like(xmlParserInputBufferPtr) d fd value like(xmlCint) d enc value like(xmlCharEncoding)
d xmlParserInputBufferCreateMem… d pr extproc( d 'xmlParserInputBufferCreateMem') d like(xmlParserInputBufferPtr) d mem * value options(*string) const char * d size value like(xmlCint) d enc value like(xmlCharEncoding)
d xmlParserInputBufferCreateStatic… d pr extproc( d 'xmlParserInputBufferCreateStatic') d like(xmlParserInputBufferPtr) d mem * value options(*string) const char * d size value like(xmlCint) d enc value like(xmlCharEncoding)
d xmlParserInputBufferCreateIO… d pr extproc( d 'xmlParserInputBufferCreateIO') d like(xmlParserInputBufferPtr) d ioread value like(xmlInputReadCallback) d ioclose value like(xmlInputCloseCallback) d ioctx * value void * d enc value like(xmlCharEncoding)
d xmlParserInputBufferRead… d pr extproc('xmlParserInputBufferRead') d like(xmlCint) d in value like(xmlParserInputBufferPtr) d len value like(xmlCint)
d xmlParserInputBufferGrow… d pr extproc('xmlParserInputBufferGrow') d like(xmlCint) d in value like(xmlParserInputBufferPtr) d len value like(xmlCint)
d xmlParserInputBufferPush… d pr extproc('xmlParserInputBufferPush') d like(xmlCint) d in value like(xmlParserInputBufferPtr) d len value like(xmlCint) d buf * value options(*string) const char *
d xmlFreeParserInputBuffer… d pr extproc('xmlFreeParserInputBuffer') d in value like(xmlParserInputBufferPtr)
d xmlParserGetDirectory… d pr * extproc('xmlParserGetDirectory') char * d filename * value options(*string) const char *
d xmlRegisterInputCallbacks… d pr extproc('xmlRegisterInputCallbacks') d like(xmlCint) d matchFunc value like(xmlInputMatchCallback) d openFunc value like(xmlInputOpenCallback) d readFunc value like(xmlInputReadCallback) d closeFunc value like(xmlInputCloseCallback)
/if defined(LIBXML_OUTPUT_ENABLED) * Interfaces for output
d xmlCleanupOutputCallbacks… d pr extproc('xmlCleanupOutputCallbacks')
d xmlRegisterDefaultOutputCallbacks… d pr extproc( d 'xmlRegisterDefaultOuputCallbacks')
d xmlAllocOutputBuffer… d pr extproc('xmlAllocOutputBuffer') d like(xmlOutputBufferPtr) d encoder value d like(xmlCharEncodingHandlerPtr)
d xmlOutputBufferCreateFilename… d pr extproc( d 'xmlOutputBufferCreateFilename') d like(xmlOutputBufferPtr) d URI * value options(*string) const char * d encoder value d like(xmlCharEncodingHandlerPtr) d compression value like(xmlCint)
d xmlOutputBufferCreateFile… d pr extproc('xmlOutputBufferCreateFile') d like(xmlOutputBufferPtr) d file * value FILE * d encoder value d like(xmlCharEncodingHandlerPtr)
d xmlOutputBufferCreateBuffer… d pr extproc( d 'xmlOutputBufferCreateBuffer') d like(xmlOutputBufferPtr) d buffer value like(xmlBufferPtr) d encoder value d like(xmlCharEncodingHandlerPtr)
d xmlOutputBufferCreateFd… d pr extproc('xmlOutputBufferCreateFd') d like(xmlOutputBufferPtr) d fd value like(xmlCint) d encoder value d like(xmlCharEncodingHandlerPtr)
d xmlOutputBufferCreateIO… d pr extproc('xmlOutputBufferCreateIO') d like(xmlOutputBufferPtr) d iowrite value like(xmlOutputWriteCallback) d ioclose value like(xmlOutputCloseCallback) d ioctx * value void * d encoder value d like(xmlCharEncodingHandlerPtr)
* Couple of APIs to get the output without digging into the buffers
d xmlOutputBufferGetContent… d pr * extproc('xmlOutputBufferGetContent') const xmlChar * d out value like(xmlOutputBufferPtr)
d xmlOutputBufferGetSize… d pr extproc('xmlOutputBufferGetSize') d like(xmlCsize_t) d out value like(xmlOutputBufferPtr)
d xmlOutputBufferWrite… d pr extproc('xmlOutputBufferWrite') d like(xmlCint) d out value like(xmlOutputBufferPtr) d len value like(xmlCint) d buf * value options(*string) const char *
d xmlOutputBufferWriteString… d pr extproc('xmlOutputBufferWriteString') d like(xmlCint) d out value like(xmlOutputBufferPtr) d str * value options(*string) const char *
d xmlOutputBufferWriteEscape… d pr extproc('xmlOutputBufferWriteEscape') d like(xmlCint) d out value like(xmlOutputBufferPtr) d str * value options(*string) const xmlChar * d escaping value like(xmlCharEncodingOutputFunc)
d xmlOutputBufferFlush… d pr extproc('xmlOutputBufferFlush') d like(xmlCint) d out value like(xmlOutputBufferPtr)
d xmlOutputBufferClose… d pr extproc('xmlOutputBufferClose') d like(xmlCint) d out value like(xmlOutputBufferPtr)
d xmlRegisterOutputCallbacks… d pr extproc('xmlRegisterOutputCallbacks') d like(xmlCint) d matchFunc value like(xmlOutputMatchCallback) d openFunc value like(xmlOutputOpenCallback) d writeFunc value like(xmlOutputWriteCallback) d closeFunc value like(xmlOutputCloseCallback)
/if defined(LIBXML_HTTP_ENABLED) * This function only exists if HTTP support built into the library
d xmlRegisterHTTPPostCallbacks… d pr extproc( d 'xmlRegisterHTTPPostCallbacks')
/endif LIBXML_HTTP_ENABLED /endif LIBXML_OUTPUT_ENABLD
d xmlCheckHTTPInput… d pr extproc('xmlCheckHTTPInput') d like(xmlParserInputPtr) d ctxt value like(xmlParserCtxtPtr) d ret value like(xmlParserInputPtr)
* A predefined entity loader disabling network accesses
d xmlNoNetExternalEntityLoader… d pr extproc( d 'xmlNoNetExternalEntityLoader') d like(xmlParserInputPtr) d URL * value options(*string) const char * d ID * value options(*string) const char * d ctxt value like(xmlParserCtxtPtr)
* xmlNormalizeWindowsPath is obsolete, don't use it. * Check xmlCanonicPath in uri.h for a better alternative.
d xmlNormalizeWindowsPath… d pr * extproc('xmlNormalizeWindowsPath') xmlChar * d path * value options(*string) const xmlChar *
d xmlCheckFilename… d pr extproc('xmlCheckFilename') d like(xmlCint) d path * value options(*string) const char *
* Default 'file://' protocol callbacks
d xmlFileMatch pr extproc('xmlFileMatch') d like(xmlCint) d filename * value options(*string) const char *
d xmlFileOpen pr * extproc('xmlFileOpen') void * d filename * value options(*string) const char *
d xmlFileRead pr extproc('xmlFileRead') d like(xmlCint) d context * value void * d buffer 65535 options(*varsize) d len value like(xmlCint)
d xmlFileClose pr extproc('xmlFileClose') d like(xmlCint) d context * value void *
* Default 'http://' protocol callbacks /if defined(LIBXML_HTTP_ENABLED)
d xmlIOHTTPMatch pr extproc('xmlIOHTTPMatch') d like(xmlCint) d filename * value options(*string) const char *
d xmlIOHTTPOpen pr * extproc('xmlIOHTTPOpen') void * d filename * value options(*string) const char *
/if defined(LIBXML_OUTPUT_ENABLED)
d xmlIOHTTPOpenW pr * extproc('xmlIOHTTPOpenW') void * d post_uri * value options(*string) const char * d compression value like(xmlCint)
/endif LIBXML_OUTPUT_ENABLD
d xmlIOHTTPRead pr extproc('xmlIOHTTPRead') d like(xmlCint) d context * value void * d buffer 65535 options(*varsize) d len value like(xmlCint)
d xmlIOHTTPClose pr extproc('xmlIOHTTPClose') d like(xmlCint) d context * value void *
/endif LIBXML_HTTP_ENABLED * Default 'ftp://' protocol callbacks /if defined(LIBXML_FTP_ENABLED)
d xmlIOFTPMatch pr extproc('xmlIOFTPMatch') d like(xmlCint) d filename * value options(*string) const char *
d xmlIOFTPOpen pr * extproc('xmlIOFTPOpen') void * d filename * value options(*string) const char *
d xmlIOFTPRead pr extproc('xmlIOFTPRead') d like(xmlCint) d context * value void * d buffer 65535 options(*varsize) d len value like(xmlCint)
d xmlIOFTPClose pr extproc('xmlIOFTPClose') d like(xmlCint) d context * value void *
/endif LIBXML_FTP_ENABLED /endif XML_IO_H__