DragonFly On-Line Manual Pages

Search: Section:  

ENGINE_INIT(3)        DragonFly Library Functions Manual        ENGINE_INIT(3)


ENGINE_init, ENGINE_finish, ENGINE_set_init_function, ENGINE_set_finish_function, ENGINE_get_init_function, ENGINE_get_finish_function - initialize ENGINE objects


#include <openssl/engine.h> int ENGINE_init(ENGINE *e); int ENGINE_finish(ENGINE *e); typedef int (*ENGINE_GEN_INT_FUNC_PTR)(ENGINE *e); int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f); int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f); ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e); ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e);


ENGINE_init() initializes e by calling the init_f previously installed with ENGINE_set_init_function(), if any. In case of success, it also increments both the structural and the functional reference count by 1. If no init_f was installed, ENGINE_init() always succeeds. Calling ENGINE_init() again after it already succeeded always succeeds, but has no effect except that it increments both the structural and the functional reference count by 1. ENGINE_finish() decrements the functional reference count by 1. When it reaches 0, it calls the finish_f previously installed with ENGINE_set_finish_function(), if any. If no finish_f was installed, ENGINE_finish() always succeeds. Unless finish_f fails, ENGINE_finish() also calls ENGINE_free(3). ENGINE_init() is internally called by the functions documented in the ENGINE_get_default_RSA(3) manual page.


ENGINE_init() and ENGINE_finish() return 1 on success or 0 on error. ENGINE_set_init_function() and ENGINE_set_finish_function() always return 1. ENGINE_get_init_function() and ENGINE_get_finish_function() return a function pointer to the respective callback, or NULL if none is installed.


ENGINE_add(3), ENGINE_ctrl(3), ENGINE_get_default_RSA(3), ENGINE_new(3), ENGINE_register_RSA(3), ENGINE_set_default(3), ENGINE_set_flags(3), ENGINE_set_RSA(3), ENGINE_unregister_RSA(3)


These functions first appeared in OpenSSL 0.9.7 and have been available since OpenBSD 2.9. DragonFly 5.9-DEVELOPMENT April 18, 2018 DragonFly 5.9-DEVELOPMENT

Search: Section: