summaryrefslogtreecommitdiff
path: root/p11-kit/client-init.c
diff options
context:
space:
mode:
Diffstat (limited to 'p11-kit/client-init.c')
-rw-r--r--p11-kit/client-init.c60
1 files changed, 4 insertions, 56 deletions
diff --git a/p11-kit/client-init.c b/p11-kit/client-init.c
index 74e8905..04d323b 100644
--- a/p11-kit/client-init.c
+++ b/p11-kit/client-init.c
@@ -38,7 +38,6 @@
#include "config.h"
#include "client.h"
-#include "library.h"
#include "pkcs11.h"
/* p11_proxy_module_check() is defined as a weak symbol in modules.c */
@@ -52,58 +51,7 @@ p11_proxy_module_check (CK_FUNCTION_LIST_PTR module)
}
#endif
-#ifdef OS_UNIX
-
-void _p11_kit_init (void);
-
-void _p11_kit_fini (void);
-
-#ifdef __GNUC__
-__attribute__((constructor))
-#endif
-void
-_p11_kit_init (void)
-{
- p11_library_init ();
-}
-
-#ifdef __GNUC__
-__attribute__((destructor))
-#endif
-void
-_p11_kit_fini (void)
-{
- p11_client_module_cleanup ();
- p11_library_uninit ();
-}
-
-#endif /* OS_UNIX */
-
-#ifdef OS_WIN32
-
-BOOL WINAPI DllMain (HINSTANCE, DWORD, LPVOID);
-
-BOOL WINAPI
-DllMain (HINSTANCE instance,
- DWORD reason,
- LPVOID reserved)
-{
- switch (reason) {
- case DLL_PROCESS_ATTACH:
- p11_library_init ();
- break;
- case DLL_THREAD_DETACH:
- p11_library_thread_cleanup ();
- break;
- case DLL_PROCESS_DETACH:
- p11_client_module_cleanup ();
- p11_library_uninit ();
- break;
- default:
- break;
- }
-
- return TRUE;
-}
-
-#endif /* OS_WIN32 */
+#define INIT _p11_kit_init
+#define FINI _p11_kit_fini
+#define CLEANUP p11_client_module_cleanup ()
+#include "init.h"