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