| /* |
| * 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 "encoding.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| typedef struct xmlParserInputBuffer { |
| /* Inputs */ |
| FILE *file; /* Input on file handler */ |
| void* gzfile; /* Input on a compressed stream */ |
| int fd; /* Input on a file descriptor */ |
| |
| xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ |
| |
| xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */ |
| |
| } xmlParserInputBuffer; |
| |
| typedef xmlParserInputBuffer *xmlParserInputBufferPtr; |
| |
| /* |
| * Interfaces |
| */ |
| |
| 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); |
| |
| void xmlFreeParserInputBuffer(xmlParserInputBufferPtr in); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* __XML_IO_H__ */ |