This function is passed the ENGINE structure to initialise with its own
function and command settings. It should not adjust the structural or
functional reference counts. If this function returns zero, (a) the load will
be aborted, (b) the previous ENGINE state will be memcpy'd back onto the
structure, and (c) the shared library will be unloaded. So implementations
should do their own internal cleanup in failure circumstances otherwise they
could leak. The 'id' parameter, if non-null, represents the ENGINE id that
the loader is looking for. If this is null, the shared library can choose to
return failure or to initialise a 'default' ENGINE. If non-null, the shared
library must initialise only an ENGINE matching the passed 'id'. The function
is expected to be implemented with the symbol name "bind_engine". A standard
implementation can be instantiated with IMPLEMENT_DYNAMIC_BIND_FN(fn) where
the parameter 'fn' is a callback function that populates the ENGINE structure
and returns an int value (zero for failure). 'fn' should have prototype;
static int fn(libressl_d.openssl.ossl_typ.ENGINE* , const (char)* id);
This function is passed the ENGINE structure to initialise with its own function and command settings. It should not adjust the structural or functional reference counts. If this function returns zero, (a) the load will be aborted, (b) the previous ENGINE state will be memcpy'd back onto the structure, and (c) the shared library will be unloaded. So implementations should do their own internal cleanup in failure circumstances otherwise they could leak. The 'id' parameter, if non-null, represents the ENGINE id that the loader is looking for. If this is null, the shared library can choose to return failure or to initialise a 'default' ENGINE. If non-null, the shared library must initialise only an ENGINE matching the passed 'id'. The function is expected to be implemented with the symbol name "bind_engine". A standard implementation can be instantiated with IMPLEMENT_DYNAMIC_BIND_FN(fn) where the parameter 'fn' is a callback function that populates the ENGINE structure and returns an int value (zero for failure). 'fn' should have prototype; static int fn(libressl_d.openssl.ossl_typ.ENGINE* , const (char)* id);