/*
 *
 */
 
#ifndef __STOKEN_OSSL_ENGINE_H
#define __STOKEN_OSSL_ENGINE_H

#include <crd_ut10xx.h>

#ifndef NO_OSSL_ENGINE_INTERFACE

#ifdef __cplusplus
extern "C"
{
#endif

/**
 * \addtogroup interface_group
 * \{
 */

/**
 * \defgroup ossl_engine_interface_group OpenSSL ENGINE interface
 * \brief Module defines interface to OpenSSL library.
 * \{
 */

/**
 * \brief Add engine to OpenSSL.
 *
 * Function adds CRD-UT10XX to OpenSSL internal engine table. After this 
 * function call you can access to this engine by its id. Use function 
 * ENGINE_by_id("stoken") to get pointer to sToken CRD-UT10XX hardware 
 * ENGINE structure or ENGINE_by_id("stokensoft") to get pointer to 
 * software sToken ENGINE structure.
 */
CRD_DECLARE void ENGINE_load_stoken(void);

/** \} */

/** \} */

#ifdef __cplusplus
};
#endif

#endif /* ifndef NO_OSSL_ENGINE_INTERFACE */

#endif /* ifndef __STOKEN_OSSL_ENGINE_H */

