libxml.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /*
  2. * libxml.h: internal header only used during the compilation of libxml
  3. *
  4. * See COPYRIGHT for the status of this software
  5. *
  6. * Author: breese@users.sourceforge.net
  7. */
  8. #ifndef __XML_LIBXML_H__
  9. #define __XML_LIBXML_H__
  10. #ifndef NO_LARGEFILE_SOURCE
  11. #ifndef _LARGEFILE_SOURCE
  12. #define _LARGEFILE_SOURCE
  13. #endif
  14. #ifndef _FILE_OFFSET_BITS
  15. #define _FILE_OFFSET_BITS 64
  16. #endif
  17. #endif
  18. #if defined(macintosh)
  19. #include "config-mac.h"
  20. #elif defined(_WIN32_WCE)
  21. /*
  22. * Windows CE compatibility definitions and functions
  23. * This is needed to compile libxml2 for Windows CE.
  24. * At least I tested it with WinCE 5.0 for Emulator and WinCE 4.2/SH4 target
  25. */
  26. #include <win32config.h>
  27. #include <libxml/xmlversion.h>
  28. #else
  29. #include "config.h"
  30. #include <libxml/xmlversion.h>
  31. #endif
  32. #if defined(__Lynx__)
  33. #include <stdio.h> /* pull definition of size_t */
  34. #include <varargs.h>
  35. int snprintf(char *, size_t, const char *, ...);
  36. int vfprintf(FILE *, const char *, va_list);
  37. #endif
  38. #ifndef WITH_TRIO
  39. #include <stdio.h>
  40. #else
  41. /**
  42. * TRIO_REPLACE_STDIO:
  43. *
  44. * This macro is defined if teh trio string formatting functions are to
  45. * be used instead of the default stdio ones.
  46. */
  47. #define TRIO_REPLACE_STDIO
  48. #include "trio.h"
  49. #endif
  50. /*
  51. * Internal variable indicating if a callback has been registered for
  52. * node creation/destruction. It avoids spending a lot of time in locking
  53. * function while checking if the callback exists.
  54. */
  55. extern int __xmlRegisterCallbacks;
  56. /*
  57. * internal error reporting routines, shared but not partof the API.
  58. */
  59. void __xmlIOErr(int domain, int code, const char *extra);
  60. void __xmlLoaderErr(void *ctx, const char *msg, const char *filename);
  61. #ifdef LIBXML_HTML_ENABLED
  62. /*
  63. * internal function of HTML parser needed for xmlParseInNodeContext
  64. * but not part of the API
  65. */
  66. void __htmlParseContent(void *ctx);
  67. #endif
  68. /*
  69. * internal global initialization critical section routines.
  70. */
  71. void __xmlGlobalInitMutexLock(void);
  72. void __xmlGlobalInitMutexUnlock(void);
  73. void __xmlGlobalInitMutexDestroy(void);
  74. #ifdef IN_LIBXML
  75. #ifdef __GNUC__
  76. #ifdef PIC
  77. #ifdef linux
  78. #if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
  79. #include "elfgcchack.h"
  80. #endif
  81. #endif
  82. #endif
  83. #endif
  84. #endif
  85. #ifndef PIC
  86. # define LIBXML_STATIC
  87. #endif
  88. #endif /* ! __XML_LIBXML_H__ */