OpenSSL/Engine architecture
< OpenSSL
To print a list of engines:
ENGINE *e; int nengines = 0; ENGINE_load_builtin_engines (); for (e = ENGINE_get_first () ; e != NULL ; e = ENGINE_get_next (e)) { printf ("engine: %s\n", ENGINE_get_name (e)); nengines++; } printf ("%d engines\n", nengines);