xmlIO.h
上传用户:sy_wanhua
上传日期:2013-07-25
资源大小:3048k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

C/C++

  1. /*
  2.  * xmlIO.h : interface for the I/O interfaces used by the parser
  3.  *
  4.  * See Copyright for the status of this software.
  5.  *
  6.  * Daniel.Veillard@w3.org
  7.  */
  8. #ifndef __XML_IO_H__
  9. #define __XML_IO_H__
  10. #include <stdio.h>
  11. #include <libxml/tree.h>
  12. #include <libxml/parser.h>
  13. #include <libxml/encoding.h>
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. typedef int (*xmlInputMatchCallback) (char const *filename);
  18. typedef void * (*xmlInputOpenCallback) (char const *filename);
  19. typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len);
  20. typedef void (*xmlInputCloseCallback) (void * context);
  21. typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
  22. typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
  23. struct _xmlParserInputBuffer {
  24.     void*                  context;
  25.     xmlInputReadCallback   readcallback;
  26.     xmlInputCloseCallback  closecallback;
  27.     
  28.     xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
  29.     
  30.     xmlBufferPtr buffer;    /* Local buffer encoded in  UTF-8 */
  31. };
  32. /*
  33.  * Interfaces
  34.  */
  35. xmlParserInputBufferPtr
  36. xmlAllocParserInputBuffer (xmlCharEncoding enc);
  37. xmlParserInputBufferPtr
  38. xmlParserInputBufferCreateFilename (const char *filename,
  39.                                                  xmlCharEncoding enc);
  40. xmlParserInputBufferPtr
  41. xmlParserInputBufferCreateFile (FILE *file,
  42.                                                  xmlCharEncoding enc);
  43. xmlParserInputBufferPtr
  44. xmlParserInputBufferCreateFd (int fd,
  45.                                          xmlCharEncoding enc);
  46. xmlParserInputBufferPtr
  47. xmlParserInputBufferCreateIO (xmlInputReadCallback   ioread,
  48.  xmlInputCloseCallback  ioclose,
  49.  void *ioctx,
  50.                                          xmlCharEncoding enc);
  51. int xmlParserInputBufferRead (xmlParserInputBufferPtr in,
  52.  int len);
  53. int xmlParserInputBufferGrow (xmlParserInputBufferPtr in,
  54.  int len);
  55. int xmlParserInputBufferPush (xmlParserInputBufferPtr in,
  56.  int len,
  57.  const char *buf);
  58. void xmlFreeParserInputBuffer (xmlParserInputBufferPtr in);
  59. char * xmlParserGetDirectory (const char *filename);
  60. int     xmlRegisterInputCallbacks (xmlInputMatchCallback match,
  61.  xmlInputOpenCallback open,
  62.  xmlInputReadCallback read,
  63.  xmlInputCloseCallback close);
  64. #ifdef __cplusplus
  65. }
  66. #endif
  67. #endif /* __XML_IO_H__ */