| /* | 
 |  * xmlIO.h : interface for the I/O interfaces used by the parser | 
 |  * | 
 |  * See Copyright for the status of this software. | 
 |  * | 
 |  * Daniel.Veillard@w3.org | 
 |  */ | 
 |  | 
 | #ifndef __XML_IO_H__ | 
 | #define __XML_IO_H__ | 
 |  | 
 | #include <stdio.h> | 
 | #include "tree.h" | 
 | #include "parser.h" | 
 | #include "encoding.h" | 
 |  | 
 | #ifdef __cplusplus | 
 | extern "C" { | 
 | #endif | 
 |  | 
 | typedef struct _xmlParserInputBuffer xmlParserInputBuffer; | 
 | typedef xmlParserInputBuffer *xmlParserInputBufferPtr; | 
 | struct _xmlParserInputBuffer { | 
 |     /* Inputs */ | 
 |     FILE          *file;    /* Input on file handler */ | 
 |     void*        gzfile;    /* Input on a compressed stream */ | 
 |     int              fd;    /* Input on a file descriptor */ | 
 |     void        *httpIO;    /* Input from an HTTP stream */ | 
 |     void         *ftpIO;    /* Input from an FTP stream */ | 
 |      | 
 |     xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ | 
 |      | 
 |     xmlBufferPtr buffer;    /* Local buffer encoded in  UTF-8 */ | 
 | }; | 
 |  | 
 |  | 
 | /* | 
 |  * Interfaces | 
 |  */ | 
 |  | 
 | xmlParserInputBufferPtr | 
 | 	xmlAllocParserInputBuffer		(xmlCharEncoding enc); | 
 |  | 
 | xmlParserInputBufferPtr | 
 | 	xmlParserInputBufferCreateFilename	(const char *filename, | 
 |                                                  xmlCharEncoding enc); | 
 | xmlParserInputBufferPtr | 
 | 	xmlParserInputBufferCreateFile		(FILE *file, | 
 |                                                  xmlCharEncoding enc); | 
 | xmlParserInputBufferPtr | 
 | 	xmlParserInputBufferCreateFd		(int fd, | 
 | 	                                         xmlCharEncoding enc); | 
 | int	xmlParserInputBufferRead		(xmlParserInputBufferPtr in, | 
 | 						 int len); | 
 | int	xmlParserInputBufferGrow		(xmlParserInputBufferPtr in, | 
 | 						 int len); | 
 | int	xmlParserInputBufferPush		(xmlParserInputBufferPtr in, | 
 | 						 int len, | 
 | 						 const char *buf); | 
 | void	xmlFreeParserInputBuffer		(xmlParserInputBufferPtr in); | 
 | char *	xmlParserGetDirectory			(const char *filename); | 
 |  | 
 | #ifdef __cplusplus | 
 | } | 
 | #endif | 
 |  | 
 | #endif /* __XML_IO_H__ */ |