1 /*
2  * Summary: macros for marking symbols as exportable/importable.
3  * Description: macros for marking symbols as exportable/importable.
4  *
5  * Copy: See Copyright for the status of this software.
6  */
7 
8 #ifndef __XML_EXPORTS_H__
9 #define __XML_EXPORTS_H__
10 
11 #if defined(_WIN32) || defined(__CYGWIN__)
12 /** DOC_DISABLE */
13 
14 #ifdef LIBXML_STATIC
15   #define XMLPUBLIC
16 #elif defined(IN_LIBXML)
17   #define XMLPUBLIC __declspec(dllexport)
18 #else
19   #define XMLPUBLIC __declspec(dllimport)
20 #endif
21 
22 #if defined(LIBXML_FASTCALL)
23   #define XMLCALL __fastcall
24 #else
25   #define XMLCALL __cdecl
26 #endif
27 #define XMLCDECL __cdecl
28 
29 /** DOC_ENABLE */
30 #else /* not Windows */
31 
32 /**
33  * XMLPUBLIC:
34  *
35  * Macro which declares a public symbol
36  */
37 #define XMLPUBLIC
38 
39 /**
40  * XMLCALL:
41  *
42  * Macro which declares the calling convention for exported functions
43  */
44 #define XMLCALL
45 
46 /**
47  * XMLCDECL:
48  *
49  * Macro which declares the calling convention for exported functions that
50  * use '...'.
51  */
52 #define XMLCDECL
53 
54 #endif /* platform switch */
55 
56 /*
57  * XMLPUBFUN:
58  *
59  * Macro which declares an exportable function
60  */
61 #define XMLPUBFUN XMLPUBLIC
62 
63 /**
64  * XMLPUBVAR:
65  *
66  * Macro which declares an exportable variable
67  */
68 #define XMLPUBVAR XMLPUBLIC extern
69 
70 /* Compatibility */
71 #if !defined(LIBXML_DLL_IMPORT)
72 #define LIBXML_DLL_IMPORT XMLPUBVAR
73 #endif
74 
75 #endif /* __XML_EXPORTS_H__ */
76 
77 
78