Coverage Report

Created: 2024-01-18 20:17

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