/ plugin.c
plugin.c
1 /* 2 * SPDX-FileCopyrightText: 2024 Le'Sec oqs plugin collective 3 * 4 * SPDX-License-Identifier: LGPL-3.0-or-later 5 */ 6 7 #include <lscore/environment.h> 8 #include <lscore/plugin.h> 9 #include "local.h" 10 11 /* ---------------------------------------------------------------------- */ 12 13 LSC_EXPORT LE_STATUS LSC_plugin_start(LSC_plugin_t *plugin) 14 { 15 LSC_env_t *env; 16 LE_STATUS sts; 17 18 LE_status_is_OK(sts = LSC_get_plugin_parent_environment(plugin, &env)) 19 && LE_status_is_OK(sts = oqs_register_sigs(env, plugin)) 20 && LE_status_is_OK(sts = oqs_register_kems(env, plugin)); 21 22 return sts; 23 } 24 25 LSC_EXPORT LE_STATUS LSC_plugin_stop(LSC_plugin_t *plugin) 26 { 27 LSC_env_t *env; 28 LE_STATUS sts; 29 30 LE_status_is_OK(sts = LSC_get_plugin_parent_environment(plugin, &env)) 31 && LE_status_is_OK(sts = oqs_deregister_sigs(env, plugin)) 32 && LE_status_is_OK(sts = oqs_deregister_kems(env, plugin)); 33 34 return sts; 35 }