globals.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529
  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 <Gary.Pennington@uk.sun.com>, 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/SAX2.h>
  19. #include <libxml/xmlmemory.h>
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23. XML_DEPRECATED
  24. XMLPUBFUN void xmlInitGlobals(void);
  25. XML_DEPRECATED
  26. XMLPUBFUN void xmlCleanupGlobals(void);
  27. /**
  28. * xmlParserInputBufferCreateFilenameFunc:
  29. * @URI: the URI to read from
  30. * @enc: the requested source encoding
  31. *
  32. * Signature for the function doing the lookup for a suitable input method
  33. * corresponding to an URI.
  34. *
  35. * Returns the new xmlParserInputBufferPtr in case of success or NULL if no
  36. * method was found.
  37. */
  38. typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI,
  39. xmlCharEncoding enc);
  40. /**
  41. * xmlOutputBufferCreateFilenameFunc:
  42. * @URI: the URI to write to
  43. * @enc: the requested target encoding
  44. *
  45. * Signature for the function doing the lookup for a suitable output method
  46. * corresponding to an URI.
  47. *
  48. * Returns the new xmlOutputBufferPtr in case of success or NULL if no
  49. * method was found.
  50. */
  51. typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI,
  52. xmlCharEncodingHandlerPtr encoder,
  53. int compression);
  54. XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
  55. xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
  56. XMLPUBFUN xmlOutputBufferCreateFilenameFunc
  57. xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);
  58. /*
  59. * Externally global symbols which need to be protected for backwards
  60. * compatibility support.
  61. */
  62. #undef htmlDefaultSAXHandler
  63. #undef oldXMLWDcompatibility
  64. #undef xmlBufferAllocScheme
  65. #undef xmlDefaultBufferSize
  66. #undef xmlDefaultSAXHandler
  67. #undef xmlDefaultSAXLocator
  68. #undef xmlDoValidityCheckingDefaultValue
  69. #undef xmlFree
  70. #undef xmlGenericError
  71. #undef xmlStructuredError
  72. #undef xmlGenericErrorContext
  73. #undef xmlStructuredErrorContext
  74. #undef xmlGetWarningsDefaultValue
  75. #undef xmlIndentTreeOutput
  76. #undef xmlTreeIndentString
  77. #undef xmlKeepBlanksDefaultValue
  78. #undef xmlLineNumbersDefaultValue
  79. #undef xmlLoadExtDtdDefaultValue
  80. #undef xmlMalloc
  81. #undef xmlMallocAtomic
  82. #undef xmlMemStrdup
  83. #undef xmlParserDebugEntities
  84. #undef xmlParserVersion
  85. #undef xmlPedanticParserDefaultValue
  86. #undef xmlRealloc
  87. #undef xmlSaveNoEmptyTags
  88. #undef xmlSubstituteEntitiesDefaultValue
  89. #undef xmlRegisterNodeDefaultValue
  90. #undef xmlDeregisterNodeDefaultValue
  91. #undef xmlLastError
  92. #undef xmlParserInputBufferCreateFilenameValue
  93. #undef xmlOutputBufferCreateFilenameValue
  94. /**
  95. * xmlRegisterNodeFunc:
  96. * @node: the current node
  97. *
  98. * Signature for the registration callback of a created node
  99. */
  100. typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
  101. /**
  102. * xmlDeregisterNodeFunc:
  103. * @node: the current node
  104. *
  105. * Signature for the deregistration callback of a discarded node
  106. */
  107. typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
  108. typedef struct _xmlGlobalState xmlGlobalState;
  109. typedef xmlGlobalState *xmlGlobalStatePtr;
  110. struct _xmlGlobalState
  111. {
  112. const char *xmlParserVersion;
  113. xmlSAXLocator xmlDefaultSAXLocator;
  114. xmlSAXHandlerV1 xmlDefaultSAXHandler;
  115. xmlSAXHandlerV1 docbDefaultSAXHandler; /* unused */
  116. xmlSAXHandlerV1 htmlDefaultSAXHandler;
  117. xmlFreeFunc xmlFree;
  118. xmlMallocFunc xmlMalloc;
  119. xmlStrdupFunc xmlMemStrdup;
  120. xmlReallocFunc xmlRealloc;
  121. xmlGenericErrorFunc xmlGenericError;
  122. xmlStructuredErrorFunc xmlStructuredError;
  123. void *xmlGenericErrorContext;
  124. int oldXMLWDcompatibility;
  125. xmlBufferAllocationScheme xmlBufferAllocScheme;
  126. int xmlDefaultBufferSize;
  127. int xmlSubstituteEntitiesDefaultValue;
  128. int xmlDoValidityCheckingDefaultValue;
  129. int xmlGetWarningsDefaultValue;
  130. int xmlKeepBlanksDefaultValue;
  131. int xmlLineNumbersDefaultValue;
  132. int xmlLoadExtDtdDefaultValue;
  133. int xmlParserDebugEntities;
  134. int xmlPedanticParserDefaultValue;
  135. int xmlSaveNoEmptyTags;
  136. int xmlIndentTreeOutput;
  137. const char *xmlTreeIndentString;
  138. xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
  139. xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
  140. xmlMallocFunc xmlMallocAtomic;
  141. xmlError xmlLastError;
  142. xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
  143. xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
  144. void *xmlStructuredErrorContext;
  145. };
  146. #ifdef __cplusplus
  147. }
  148. #endif
  149. #include <libxml/threads.h>
  150. #ifdef __cplusplus
  151. extern "C" {
  152. #endif
  153. XMLPUBFUN void xmlInitializeGlobalState(xmlGlobalStatePtr gs);
  154. XMLPUBFUN void xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
  155. XMLPUBFUN void xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);
  156. XMLPUBFUN xmlRegisterNodeFunc xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
  157. XMLPUBFUN xmlRegisterNodeFunc xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
  158. XMLPUBFUN xmlDeregisterNodeFunc xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
  159. XMLPUBFUN xmlDeregisterNodeFunc xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
  160. XMLPUBFUN xmlOutputBufferCreateFilenameFunc
  161. xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
  162. XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
  163. xmlThrDefParserInputBufferCreateFilenameDefault(
  164. xmlParserInputBufferCreateFilenameFunc func);
  165. /*
  166. * In general the memory allocation entry points are not kept
  167. * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
  168. * - xmlMalloc
  169. * - xmlMallocAtomic
  170. * - xmlRealloc
  171. * - xmlMemStrdup
  172. * - xmlFree
  173. */
  174. #ifdef LIBXML_THREAD_ALLOC_ENABLED
  175. /** DOC_DISABLE */
  176. #ifdef LIBXML_THREAD_ENABLED
  177. XMLPUBFUN xmlMallocFunc * __xmlMalloc(void);
  178. #define xmlMalloc \
  179. (*(__xmlMalloc()))
  180. #else
  181. XMLPUBVAR xmlMallocFunc xmlMalloc;
  182. #endif
  183. #ifdef LIBXML_THREAD_ENABLED
  184. XMLPUBFUN xmlMallocFunc * __xmlMallocAtomic(void);
  185. #define xmlMallocAtomic \
  186. (*(__xmlMallocAtomic()))
  187. #else
  188. XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
  189. #endif
  190. #ifdef LIBXML_THREAD_ENABLED
  191. XMLPUBFUN xmlReallocFunc * __xmlRealloc(void);
  192. #define xmlRealloc \
  193. (*(__xmlRealloc()))
  194. #else
  195. XMLPUBVAR xmlReallocFunc xmlRealloc;
  196. #endif
  197. #ifdef LIBXML_THREAD_ENABLED
  198. XMLPUBFUN xmlFreeFunc * __xmlFree(void);
  199. #define xmlFree \
  200. (*(__xmlFree()))
  201. #else
  202. XMLPUBVAR xmlFreeFunc xmlFree;
  203. #endif
  204. #ifdef LIBXML_THREAD_ENABLED
  205. XMLPUBFUN xmlStrdupFunc * __xmlMemStrdup(void);
  206. #define xmlMemStrdup \
  207. (*(__xmlMemStrdup()))
  208. #else
  209. XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
  210. #endif
  211. /** DOC_ENABLE */
  212. #else /* !LIBXML_THREAD_ALLOC_ENABLED */
  213. XMLPUBVAR xmlMallocFunc xmlMalloc;
  214. XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
  215. XMLPUBVAR xmlReallocFunc xmlRealloc;
  216. XMLPUBVAR xmlFreeFunc xmlFree;
  217. XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
  218. #endif /* LIBXML_THREAD_ALLOC_ENABLED */
  219. #ifdef LIBXML_HTML_ENABLED
  220. XML_DEPRECATED
  221. XMLPUBFUN xmlSAXHandlerV1 * __htmlDefaultSAXHandler(void);
  222. #ifdef LIBXML_THREAD_ENABLED
  223. #define htmlDefaultSAXHandler \
  224. (*(__htmlDefaultSAXHandler()))
  225. #else
  226. XML_DEPRECATED
  227. XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler;
  228. #endif
  229. #endif
  230. XMLPUBFUN xmlError * __xmlLastError(void);
  231. #ifdef LIBXML_THREAD_ENABLED
  232. #define xmlLastError \
  233. (*(__xmlLastError()))
  234. #else
  235. XMLPUBVAR xmlError xmlLastError;
  236. #endif
  237. /*
  238. * Everything starting from the line below is
  239. * Automatically generated by build_glob.py.
  240. * Do not modify the previous line.
  241. */
  242. XML_DEPRECATED
  243. XMLPUBFUN int * __oldXMLWDcompatibility(void);
  244. #ifdef LIBXML_THREAD_ENABLED
  245. #define oldXMLWDcompatibility \
  246. (*(__oldXMLWDcompatibility()))
  247. #else
  248. XML_DEPRECATED
  249. XMLPUBVAR int oldXMLWDcompatibility;
  250. #endif
  251. XML_DEPRECATED
  252. XMLPUBFUN xmlBufferAllocationScheme * __xmlBufferAllocScheme(void);
  253. #ifdef LIBXML_THREAD_ENABLED
  254. #define xmlBufferAllocScheme \
  255. (*(__xmlBufferAllocScheme()))
  256. #else
  257. XML_DEPRECATED
  258. XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
  259. #endif
  260. XML_DEPRECATED
  261. XMLPUBFUN xmlBufferAllocationScheme
  262. xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
  263. XML_DEPRECATED
  264. XMLPUBFUN int * __xmlDefaultBufferSize(void);
  265. #ifdef LIBXML_THREAD_ENABLED
  266. #define xmlDefaultBufferSize \
  267. (*(__xmlDefaultBufferSize()))
  268. #else
  269. XML_DEPRECATED
  270. XMLPUBVAR int xmlDefaultBufferSize;
  271. #endif
  272. XML_DEPRECATED
  273. XMLPUBFUN int xmlThrDefDefaultBufferSize(int v);
  274. XML_DEPRECATED
  275. XMLPUBFUN xmlSAXHandlerV1 * __xmlDefaultSAXHandler(void);
  276. #ifdef LIBXML_THREAD_ENABLED
  277. #define xmlDefaultSAXHandler \
  278. (*(__xmlDefaultSAXHandler()))
  279. #else
  280. XML_DEPRECATED
  281. XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
  282. #endif
  283. XML_DEPRECATED
  284. XMLPUBFUN xmlSAXLocator * __xmlDefaultSAXLocator(void);
  285. #ifdef LIBXML_THREAD_ENABLED
  286. #define xmlDefaultSAXLocator \
  287. (*(__xmlDefaultSAXLocator()))
  288. #else
  289. XML_DEPRECATED
  290. XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
  291. #endif
  292. XMLPUBFUN int * __xmlDoValidityCheckingDefaultValue(void);
  293. #ifdef LIBXML_THREAD_ENABLED
  294. #define xmlDoValidityCheckingDefaultValue \
  295. (*(__xmlDoValidityCheckingDefaultValue()))
  296. #else
  297. XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
  298. #endif
  299. XMLPUBFUN int xmlThrDefDoValidityCheckingDefaultValue(int v);
  300. XMLPUBFUN xmlGenericErrorFunc * __xmlGenericError(void);
  301. #ifdef LIBXML_THREAD_ENABLED
  302. #define xmlGenericError \
  303. (*(__xmlGenericError()))
  304. #else
  305. XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
  306. #endif
  307. XMLPUBFUN xmlStructuredErrorFunc * __xmlStructuredError(void);
  308. #ifdef LIBXML_THREAD_ENABLED
  309. #define xmlStructuredError \
  310. (*(__xmlStructuredError()))
  311. #else
  312. XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
  313. #endif
  314. XMLPUBFUN void * * __xmlGenericErrorContext(void);
  315. #ifdef LIBXML_THREAD_ENABLED
  316. #define xmlGenericErrorContext \
  317. (*(__xmlGenericErrorContext()))
  318. #else
  319. XMLPUBVAR void * xmlGenericErrorContext;
  320. #endif
  321. XMLPUBFUN void * * __xmlStructuredErrorContext(void);
  322. #ifdef LIBXML_THREAD_ENABLED
  323. #define xmlStructuredErrorContext \
  324. (*(__xmlStructuredErrorContext()))
  325. #else
  326. XMLPUBVAR void * xmlStructuredErrorContext;
  327. #endif
  328. XMLPUBFUN int * __xmlGetWarningsDefaultValue(void);
  329. #ifdef LIBXML_THREAD_ENABLED
  330. #define xmlGetWarningsDefaultValue \
  331. (*(__xmlGetWarningsDefaultValue()))
  332. #else
  333. XMLPUBVAR int xmlGetWarningsDefaultValue;
  334. #endif
  335. XMLPUBFUN int xmlThrDefGetWarningsDefaultValue(int v);
  336. XMLPUBFUN int * __xmlIndentTreeOutput(void);
  337. #ifdef LIBXML_THREAD_ENABLED
  338. #define xmlIndentTreeOutput \
  339. (*(__xmlIndentTreeOutput()))
  340. #else
  341. XMLPUBVAR int xmlIndentTreeOutput;
  342. #endif
  343. XMLPUBFUN int xmlThrDefIndentTreeOutput(int v);
  344. XMLPUBFUN const char * * __xmlTreeIndentString(void);
  345. #ifdef LIBXML_THREAD_ENABLED
  346. #define xmlTreeIndentString \
  347. (*(__xmlTreeIndentString()))
  348. #else
  349. XMLPUBVAR const char * xmlTreeIndentString;
  350. #endif
  351. XMLPUBFUN const char * xmlThrDefTreeIndentString(const char * v);
  352. XMLPUBFUN int * __xmlKeepBlanksDefaultValue(void);
  353. #ifdef LIBXML_THREAD_ENABLED
  354. #define xmlKeepBlanksDefaultValue \
  355. (*(__xmlKeepBlanksDefaultValue()))
  356. #else
  357. XMLPUBVAR int xmlKeepBlanksDefaultValue;
  358. #endif
  359. XMLPUBFUN int xmlThrDefKeepBlanksDefaultValue(int v);
  360. XML_DEPRECATED
  361. XMLPUBFUN int * __xmlLineNumbersDefaultValue(void);
  362. #ifdef LIBXML_THREAD_ENABLED
  363. #define xmlLineNumbersDefaultValue \
  364. (*(__xmlLineNumbersDefaultValue()))
  365. #else
  366. XML_DEPRECATED
  367. XMLPUBVAR int xmlLineNumbersDefaultValue;
  368. #endif
  369. XML_DEPRECATED
  370. XMLPUBFUN int xmlThrDefLineNumbersDefaultValue(int v);
  371. XMLPUBFUN int * __xmlLoadExtDtdDefaultValue(void);
  372. #ifdef LIBXML_THREAD_ENABLED
  373. #define xmlLoadExtDtdDefaultValue \
  374. (*(__xmlLoadExtDtdDefaultValue()))
  375. #else
  376. XMLPUBVAR int xmlLoadExtDtdDefaultValue;
  377. #endif
  378. XMLPUBFUN int xmlThrDefLoadExtDtdDefaultValue(int v);
  379. XMLPUBFUN int * __xmlParserDebugEntities(void);
  380. #ifdef LIBXML_THREAD_ENABLED
  381. #define xmlParserDebugEntities \
  382. (*(__xmlParserDebugEntities()))
  383. #else
  384. XMLPUBVAR int xmlParserDebugEntities;
  385. #endif
  386. XMLPUBFUN int xmlThrDefParserDebugEntities(int v);
  387. XMLPUBFUN const char * * __xmlParserVersion(void);
  388. #ifdef LIBXML_THREAD_ENABLED
  389. #define xmlParserVersion \
  390. (*(__xmlParserVersion()))
  391. #else
  392. XMLPUBVAR const char * xmlParserVersion;
  393. #endif
  394. XML_DEPRECATED
  395. XMLPUBFUN int * __xmlPedanticParserDefaultValue(void);
  396. #ifdef LIBXML_THREAD_ENABLED
  397. #define xmlPedanticParserDefaultValue \
  398. (*(__xmlPedanticParserDefaultValue()))
  399. #else
  400. XML_DEPRECATED
  401. XMLPUBVAR int xmlPedanticParserDefaultValue;
  402. #endif
  403. XML_DEPRECATED
  404. XMLPUBFUN int xmlThrDefPedanticParserDefaultValue(int v);
  405. XMLPUBFUN int * __xmlSaveNoEmptyTags(void);
  406. #ifdef LIBXML_THREAD_ENABLED
  407. #define xmlSaveNoEmptyTags \
  408. (*(__xmlSaveNoEmptyTags()))
  409. #else
  410. XMLPUBVAR int xmlSaveNoEmptyTags;
  411. #endif
  412. XMLPUBFUN int xmlThrDefSaveNoEmptyTags(int v);
  413. XMLPUBFUN int * __xmlSubstituteEntitiesDefaultValue(void);
  414. #ifdef LIBXML_THREAD_ENABLED
  415. #define xmlSubstituteEntitiesDefaultValue \
  416. (*(__xmlSubstituteEntitiesDefaultValue()))
  417. #else
  418. XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
  419. #endif
  420. XMLPUBFUN int xmlThrDefSubstituteEntitiesDefaultValue(int v);
  421. XML_DEPRECATED
  422. XMLPUBFUN xmlRegisterNodeFunc * __xmlRegisterNodeDefaultValue(void);
  423. #ifdef LIBXML_THREAD_ENABLED
  424. #define xmlRegisterNodeDefaultValue \
  425. (*(__xmlRegisterNodeDefaultValue()))
  426. #else
  427. XML_DEPRECATED
  428. XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
  429. #endif
  430. XML_DEPRECATED
  431. XMLPUBFUN xmlDeregisterNodeFunc * __xmlDeregisterNodeDefaultValue(void);
  432. #ifdef LIBXML_THREAD_ENABLED
  433. #define xmlDeregisterNodeDefaultValue \
  434. (*(__xmlDeregisterNodeDefaultValue()))
  435. #else
  436. XML_DEPRECATED
  437. XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
  438. #endif
  439. XML_DEPRECATED
  440. XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * \
  441. __xmlParserInputBufferCreateFilenameValue(void);
  442. #ifdef LIBXML_THREAD_ENABLED
  443. #define xmlParserInputBufferCreateFilenameValue \
  444. (*(__xmlParserInputBufferCreateFilenameValue()))
  445. #else
  446. XML_DEPRECATED
  447. XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
  448. #endif
  449. XML_DEPRECATED
  450. XMLPUBFUN xmlOutputBufferCreateFilenameFunc * __xmlOutputBufferCreateFilenameValue(void);
  451. #ifdef LIBXML_THREAD_ENABLED
  452. #define xmlOutputBufferCreateFilenameValue \
  453. (*(__xmlOutputBufferCreateFilenameValue()))
  454. #else
  455. XML_DEPRECATED
  456. XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
  457. #endif
  458. #ifdef __cplusplus
  459. }
  460. #endif
  461. #endif /* __XML_GLOBALS_H */