globals.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455
  1. /*
  2. * Summary: interface for all global variables of the library
  3. * Description: all the global variables and thread handling for
  4. * those variables is handled by this module.
  5. *
  6. * The bottom of this file is automatically generated by build_glob.py
  7. * based on the description file global.data
  8. *
  9. * Copy: See Copyright for the status of this software.
  10. *
  11. * Author: Gary Pennington <[email protected]>, Daniel Veillard
  12. */
  13. #ifndef __XML_GLOBALS_H
  14. #define __XML_GLOBALS_H
  15. #include <libxml/xmlversion.h>
  16. #include <libxml/parser.h>
  17. #include <libxml/xmlerror.h>
  18. #include <libxml/SAX.h>
  19. #include <libxml/SAX2.h>
  20. #include <libxml/xmlmemory.h>
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. XMLPUBFUN void XMLCALL xmlInitGlobals(void);
  25. XMLPUBFUN void XMLCALL xmlCleanupGlobals(void);
  26. typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI, xmlCharEncoding enc);
  27. typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, xmlCharEncodingHandlerPtr encoder, int compression);
  28. XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
  29. XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
  30. XMLPUBFUN xmlOutputBufferCreateFilenameFunc
  31. XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);
  32. /*
  33. * Externally global symbols which need to be protected for backwards
  34. * compatibility support.
  35. */
  36. #undef docbDefaultSAXHandler
  37. #undef htmlDefaultSAXHandler
  38. #undef oldXMLWDcompatibility
  39. #undef xmlBufferAllocScheme
  40. #undef xmlDefaultBufferSize
  41. #undef xmlDefaultSAXHandler
  42. #undef xmlDefaultSAXLocator
  43. #undef xmlDoValidityCheckingDefaultValue
  44. #undef xmlFree
  45. #undef xmlGenericError
  46. #undef xmlStructuredError
  47. #undef xmlGenericErrorContext
  48. #undef xmlGetWarningsDefaultValue
  49. #undef xmlIndentTreeOutput
  50. #undef xmlTreeIndentString
  51. #undef xmlKeepBlanksDefaultValue
  52. #undef xmlLineNumbersDefaultValue
  53. #undef xmlLoadExtDtdDefaultValue
  54. #undef xmlMalloc
  55. #undef xmlMallocAtomic
  56. #undef xmlMemStrdup
  57. #undef xmlParserDebugEntities
  58. #undef xmlParserVersion
  59. #undef xmlPedanticParserDefaultValue
  60. #undef xmlRealloc
  61. #undef xmlSaveNoEmptyTags
  62. #undef xmlSubstituteEntitiesDefaultValue
  63. #undef xmlRegisterNodeDefaultValue
  64. #undef xmlDeregisterNodeDefaultValue
  65. #undef xmlLastError
  66. #undef xmlParserInputBufferCreateFilenameValue
  67. #undef xmlOutputBufferCreateFilenameValue
  68. typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
  69. typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
  70. typedef struct _xmlGlobalState xmlGlobalState;
  71. typedef xmlGlobalState *xmlGlobalStatePtr;
  72. struct _xmlGlobalState
  73. {
  74. const char *xmlParserVersion;
  75. xmlSAXLocator xmlDefaultSAXLocator;
  76. xmlSAXHandlerV1 xmlDefaultSAXHandler;
  77. xmlSAXHandlerV1 docbDefaultSAXHandler;
  78. xmlSAXHandlerV1 htmlDefaultSAXHandler;
  79. xmlFreeFunc xmlFree;
  80. xmlMallocFunc xmlMalloc;
  81. xmlStrdupFunc xmlMemStrdup;
  82. xmlReallocFunc xmlRealloc;
  83. xmlGenericErrorFunc xmlGenericError;
  84. xmlStructuredErrorFunc xmlStructuredError;
  85. void *xmlGenericErrorContext;
  86. int oldXMLWDcompatibility;
  87. xmlBufferAllocationScheme xmlBufferAllocScheme;
  88. int xmlDefaultBufferSize;
  89. int xmlSubstituteEntitiesDefaultValue;
  90. int xmlDoValidityCheckingDefaultValue;
  91. int xmlGetWarningsDefaultValue;
  92. int xmlKeepBlanksDefaultValue;
  93. int xmlLineNumbersDefaultValue;
  94. int xmlLoadExtDtdDefaultValue;
  95. int xmlParserDebugEntities;
  96. int xmlPedanticParserDefaultValue;
  97. int xmlSaveNoEmptyTags;
  98. int xmlIndentTreeOutput;
  99. const char *xmlTreeIndentString;
  100. xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
  101. xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
  102. xmlMallocFunc xmlMallocAtomic;
  103. xmlError xmlLastError;
  104. xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
  105. xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
  106. };
  107. #ifdef __cplusplus
  108. }
  109. #endif
  110. #include <libxml/threads.h>
  111. #ifdef __cplusplus
  112. extern "C" {
  113. #endif
  114. XMLPUBFUN void XMLCALL xmlInitializeGlobalState(xmlGlobalStatePtr gs);
  115. XMLPUBFUN void XMLCALL xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
  116. XMLPUBFUN void XMLCALL xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);
  117. XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
  118. XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
  119. XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
  120. XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
  121. XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
  122. xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
  123. XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
  124. xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func);
  125. /** DOC_DISABLE */
  126. /*
  127. * In general the memory allocation entry points are not kept
  128. * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
  129. * - xmlMalloc
  130. * - xmlMallocAtomic
  131. * - xmlRealloc
  132. * - xmlMemStrdup
  133. * - xmlFree
  134. */
  135. #ifdef LIBXML_THREAD_ALLOC_ENABLED
  136. #ifdef LIBXML_THREAD_ENABLED
  137. XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMalloc(void);
  138. #define xmlMalloc \
  139. (*(__xmlMalloc()))
  140. #else
  141. XMLPUBVAR xmlMallocFunc xmlMalloc;
  142. #endif
  143. #ifdef LIBXML_THREAD_ENABLED
  144. XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMallocAtomic(void);
  145. #define xmlMallocAtomic \
  146. (*(__xmlMallocAtomic()))
  147. #else
  148. XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
  149. #endif
  150. #ifdef LIBXML_THREAD_ENABLED
  151. XMLPUBFUN xmlReallocFunc * XMLCALL __xmlRealloc(void);
  152. #define xmlRealloc \
  153. (*(__xmlRealloc()))
  154. #else
  155. XMLPUBVAR xmlReallocFunc xmlRealloc;
  156. #endif
  157. #ifdef LIBXML_THREAD_ENABLED
  158. XMLPUBFUN xmlFreeFunc * XMLCALL __xmlFree(void);
  159. #define xmlFree \
  160. (*(__xmlFree()))
  161. #else
  162. XMLPUBVAR xmlFreeFunc xmlFree;
  163. #endif
  164. #ifdef LIBXML_THREAD_ENABLED
  165. XMLPUBFUN xmlStrdupFunc * XMLCALL __xmlMemStrdup(void);
  166. #define xmlMemStrdup \
  167. (*(__xmlMemStrdup()))
  168. #else
  169. XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
  170. #endif
  171. #else /* !LIBXML_THREAD_ALLOC_ENABLED */
  172. XMLPUBVAR xmlMallocFunc xmlMalloc;
  173. XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
  174. XMLPUBVAR xmlReallocFunc xmlRealloc;
  175. XMLPUBVAR xmlFreeFunc xmlFree;
  176. XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
  177. #endif /* LIBXML_THREAD_ALLOC_ENABLED */
  178. #ifdef LIBXML_DOCB_ENABLED
  179. XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __docbDefaultSAXHandler(void);
  180. #ifdef LIBXML_THREAD_ENABLED
  181. #define docbDefaultSAXHandler \
  182. (*(__docbDefaultSAXHandler()))
  183. #else
  184. XMLPUBVAR xmlSAXHandlerV1 docbDefaultSAXHandler;
  185. #endif
  186. #endif
  187. #ifdef LIBXML_HTML_ENABLED
  188. XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __htmlDefaultSAXHandler(void);
  189. #ifdef LIBXML_THREAD_ENABLED
  190. #define htmlDefaultSAXHandler \
  191. (*(__htmlDefaultSAXHandler()))
  192. #else
  193. XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler;
  194. #endif
  195. #endif
  196. XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
  197. #ifdef LIBXML_THREAD_ENABLED
  198. #define xmlLastError \
  199. (*(__xmlLastError()))
  200. #else
  201. XMLPUBVAR xmlError xmlLastError;
  202. #endif
  203. /*
  204. * Everything starting from the line below is
  205. * Automatically generated by build_glob.py.
  206. * Do not modify the previous line.
  207. */
  208. XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
  209. #ifdef LIBXML_THREAD_ENABLED
  210. #define oldXMLWDcompatibility \
  211. (*(__oldXMLWDcompatibility()))
  212. #else
  213. XMLPUBVAR int oldXMLWDcompatibility;
  214. #endif
  215. XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
  216. #ifdef LIBXML_THREAD_ENABLED
  217. #define xmlBufferAllocScheme \
  218. (*(__xmlBufferAllocScheme()))
  219. #else
  220. XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
  221. #endif
  222. XMLPUBFUN xmlBufferAllocationScheme XMLCALL xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
  223. XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
  224. #ifdef LIBXML_THREAD_ENABLED
  225. #define xmlDefaultBufferSize \
  226. (*(__xmlDefaultBufferSize()))
  227. #else
  228. XMLPUBVAR int xmlDefaultBufferSize;
  229. #endif
  230. XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);
  231. XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
  232. #ifdef LIBXML_THREAD_ENABLED
  233. #define xmlDefaultSAXHandler \
  234. (*(__xmlDefaultSAXHandler()))
  235. #else
  236. XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
  237. #endif
  238. XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
  239. #ifdef LIBXML_THREAD_ENABLED
  240. #define xmlDefaultSAXLocator \
  241. (*(__xmlDefaultSAXLocator()))
  242. #else
  243. XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
  244. #endif
  245. XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
  246. #ifdef LIBXML_THREAD_ENABLED
  247. #define xmlDoValidityCheckingDefaultValue \
  248. (*(__xmlDoValidityCheckingDefaultValue()))
  249. #else
  250. XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
  251. #endif
  252. XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);
  253. XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
  254. #ifdef LIBXML_THREAD_ENABLED
  255. #define xmlGenericError \
  256. (*(__xmlGenericError()))
  257. #else
  258. XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
  259. #endif
  260. XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
  261. #ifdef LIBXML_THREAD_ENABLED
  262. #define xmlStructuredError \
  263. (*(__xmlStructuredError()))
  264. #else
  265. XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
  266. #endif
  267. XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
  268. #ifdef LIBXML_THREAD_ENABLED
  269. #define xmlGenericErrorContext \
  270. (*(__xmlGenericErrorContext()))
  271. #else
  272. XMLPUBVAR void * xmlGenericErrorContext;
  273. #endif
  274. XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
  275. #ifdef LIBXML_THREAD_ENABLED
  276. #define xmlGetWarningsDefaultValue \
  277. (*(__xmlGetWarningsDefaultValue()))
  278. #else
  279. XMLPUBVAR int xmlGetWarningsDefaultValue;
  280. #endif
  281. XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);
  282. XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
  283. #ifdef LIBXML_THREAD_ENABLED
  284. #define xmlIndentTreeOutput \
  285. (*(__xmlIndentTreeOutput()))
  286. #else
  287. XMLPUBVAR int xmlIndentTreeOutput;
  288. #endif
  289. XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);
  290. XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
  291. #ifdef LIBXML_THREAD_ENABLED
  292. #define xmlTreeIndentString \
  293. (*(__xmlTreeIndentString()))
  294. #else
  295. XMLPUBVAR const char * xmlTreeIndentString;
  296. #endif
  297. XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);
  298. XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
  299. #ifdef LIBXML_THREAD_ENABLED
  300. #define xmlKeepBlanksDefaultValue \
  301. (*(__xmlKeepBlanksDefaultValue()))
  302. #else
  303. XMLPUBVAR int xmlKeepBlanksDefaultValue;
  304. #endif
  305. XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);
  306. XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
  307. #ifdef LIBXML_THREAD_ENABLED
  308. #define xmlLineNumbersDefaultValue \
  309. (*(__xmlLineNumbersDefaultValue()))
  310. #else
  311. XMLPUBVAR int xmlLineNumbersDefaultValue;
  312. #endif
  313. XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);
  314. XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
  315. #ifdef LIBXML_THREAD_ENABLED
  316. #define xmlLoadExtDtdDefaultValue \
  317. (*(__xmlLoadExtDtdDefaultValue()))
  318. #else
  319. XMLPUBVAR int xmlLoadExtDtdDefaultValue;
  320. #endif
  321. XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);
  322. XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
  323. #ifdef LIBXML_THREAD_ENABLED
  324. #define xmlParserDebugEntities \
  325. (*(__xmlParserDebugEntities()))
  326. #else
  327. XMLPUBVAR int xmlParserDebugEntities;
  328. #endif
  329. XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);
  330. XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
  331. #ifdef LIBXML_THREAD_ENABLED
  332. #define xmlParserVersion \
  333. (*(__xmlParserVersion()))
  334. #else
  335. XMLPUBVAR const char * xmlParserVersion;
  336. #endif
  337. XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
  338. #ifdef LIBXML_THREAD_ENABLED
  339. #define xmlPedanticParserDefaultValue \
  340. (*(__xmlPedanticParserDefaultValue()))
  341. #else
  342. XMLPUBVAR int xmlPedanticParserDefaultValue;
  343. #endif
  344. XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);
  345. XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
  346. #ifdef LIBXML_THREAD_ENABLED
  347. #define xmlSaveNoEmptyTags \
  348. (*(__xmlSaveNoEmptyTags()))
  349. #else
  350. XMLPUBVAR int xmlSaveNoEmptyTags;
  351. #endif
  352. XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);
  353. XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
  354. #ifdef LIBXML_THREAD_ENABLED
  355. #define xmlSubstituteEntitiesDefaultValue \
  356. (*(__xmlSubstituteEntitiesDefaultValue()))
  357. #else
  358. XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
  359. #endif
  360. XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);
  361. XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
  362. #ifdef LIBXML_THREAD_ENABLED
  363. #define xmlRegisterNodeDefaultValue \
  364. (*(__xmlRegisterNodeDefaultValue()))
  365. #else
  366. XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
  367. #endif
  368. XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
  369. #ifdef LIBXML_THREAD_ENABLED
  370. #define xmlDeregisterNodeDefaultValue \
  371. (*(__xmlDeregisterNodeDefaultValue()))
  372. #else
  373. XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
  374. #endif
  375. XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL __xmlParserInputBufferCreateFilenameValue(void);
  376. #ifdef LIBXML_THREAD_ENABLED
  377. #define xmlParserInputBufferCreateFilenameValue \
  378. (*(__xmlParserInputBufferCreateFilenameValue()))
  379. #else
  380. XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
  381. #endif
  382. XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
  383. #ifdef LIBXML_THREAD_ENABLED
  384. #define xmlOutputBufferCreateFilenameValue \
  385. (*(__xmlOutputBufferCreateFilenameValue()))
  386. #else
  387. XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
  388. #endif
  389. #ifdef __cplusplus
  390. }
  391. #endif
  392. #endif /* __XML_GLOBALS_H */