1 /* 2 * XML Security Library (http://www.aleksey.com/xmlsec). 3 * 4 * 5 * This is free software; see Copyright file in the source 6 * distribution for preciese wording. 7 * 8 * Copyright (C) 2002-2016 Aleksey Sanin <aleksey@aleksey.com>. All Rights Reserved. 9 */ 10 #ifndef __XMLSEC_DL_H__ 11 #define __XMLSEC_DL_H__ 12 13 #ifndef XMLSEC_NO_CRYPTO_DYNAMIC_LOADING 14 15 #include <libxml/tree.h> 16 #include <libxml/xmlIO.h> 17 18 #include <xmlsec/xmlsec.h> 19 #include <xmlsec/keysdata.h> 20 #include <xmlsec/keys.h> 21 #include <xmlsec/keysmngr.h> 22 #include <xmlsec/transforms.h> 23 24 #endif /* XMLSEC_NO_CRYPTO_DYNAMIC_LOADING */ 25 26 #ifdef __cplusplus 27 extern "C" { 28 #endif /* __cplusplus */ 29 30 typedef struct _xmlSecCryptoDLFunctions xmlSecCryptoDLFunctions, 31 *xmlSecCryptoDLFunctionsPtr; 32 33 XMLSEC_EXPORT int xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms 34 (xmlSecCryptoDLFunctionsPtr functions); 35 36 #ifndef XMLSEC_NO_CRYPTO_DYNAMIC_LOADING 37 38 /**************************************************************************** 39 * 40 * Dynamic load functions 41 * 42 ****************************************************************************/ 43 XMLSEC_EXPORT int xmlSecCryptoDLInit (void); 44 XMLSEC_EXPORT int xmlSecCryptoDLShutdown (void); 45 46 XMLSEC_EXPORT int xmlSecCryptoDLLoadLibrary (const xmlChar* crypto); 47 XMLSEC_EXPORT xmlSecCryptoDLFunctionsPtr xmlSecCryptoDLGetLibraryFunctions(const xmlChar* crypto); 48 XMLSEC_EXPORT int xmlSecCryptoDLUnloadLibrary (const xmlChar* crypto); 49 50 XMLSEC_EXPORT int xmlSecCryptoDLSetFunctions (xmlSecCryptoDLFunctionsPtr functions); 51 XMLSEC_EXPORT xmlSecCryptoDLFunctionsPtr xmlSecCryptoDLGetFunctions (void); 52 53 #endif /* XMLSEC_NO_CRYPTO_DYNAMIC_LOADING */ 54 55 #ifdef __cplusplus 56 } 57 #endif /* __cplusplus */ 58 59 #endif /* __XMLSEC_APP_H__ */ 60 61