/ include / lsplugin / register.h
register.h
 1  /*
 2   * SPDX-FileCopyrightText: 2023-2024 Le'Sec Plugin collective
 3   *
 4   * SPDX-License-Identifier: LGPL-3.0-or-later
 5   */
 6  
 7  #ifndef LSPLUGIN_REGISTER_H
 8  # define LSPLUGIN_REGISTER_H
 9  
10  # include <lsplugin/mkobject.h>
11  # include <lsplugin/mkoperator.h>
12  
13  # define LSplugin_REGISTRATION_FUNCTIONS(T)                             \
14    LE_STATUS LSplugin_register_##T##_implementations                     \
15      (LSC_env_t *env, LSC_plugin_t *plugin,                              \
16       const LSplugin_##T##_desc_t *desc[]);                              \
17    LE_STATUS LSplugin_deregister_##T##_implementations                   \
18      (LSC_env_t *env, LSC_plugin_t *plugin,                              \
19       const LSplugin_##T##_desc_t *desc[])
20  
21  LSplugin_REGISTRATION_FUNCTIONS(key);
22  LSplugin_REGISTRATION_FUNCTIONS(signer);
23  LSplugin_REGISTRATION_FUNCTIONS(verifier);
24  LSplugin_REGISTRATION_FUNCTIONS(encryptor);
25  LSplugin_REGISTRATION_FUNCTIONS(decryptor);
26  LSplugin_REGISTRATION_FUNCTIONS(digester);
27  LSplugin_REGISTRATION_FUNCTIONS(mac);
28  LSplugin_REGISTRATION_FUNCTIONS(rbg);
29  
30  #endif