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