- DSO_METHOD_dlfcn
.DSO_METHOD* DSO_METHOD_dlfcn()
If DSO_DLFCN is defined, the standard dlfcn.h-style functions
(dlopen, dlclose, dlsym, etc) will be used and incorporated into
this method. If not, this method will return null.
- DSO_METHOD_null
.DSO_METHOD* DSO_METHOD_null()
This method is defined for all platforms - if a platform has no
DSO support then this will be the only method!
- DSO_METHOD_openssl
.DSO_METHOD* DSO_METHOD_openssl()
This method is the default, but will beg, borrow, or steal whatever
method should be the default on any particular platform (including
DSO_METH_null() if necessary).
- DSO_bind_func
.DSO_FUNC_TYPE DSO_bind_func(.DSO* dso, const(char)* symname)
This function binds to a function inside a shared library.
- DSO_bind_var
void* DSO_bind_var(.DSO* dso, const(char)* symname)
This function binds to a variable inside a shared library.
- DSO_convert_filename
char* DSO_convert_filename(.DSO* dso, const(char)* filename)
This function will invoke the DSO's name_converter callback to translate a
filename, or if the callback isn't set it will instead use the DSO_METHOD's
converter. If "filename" is null, the "filename" in the DSO itself will be
used. If the DSO_FLAG_NO_NAME_TRANSLATION flag is set, then the filename is
simply duplicated. NB: This function is usually called from within a
DSO_METHOD during the processing of a DSO_load() call, and is exposed so that
caller-created DSO_METHODs can do the same thing. A non-null return value
will need to be free()'d.
- DSO_ctrl
core.stdc.config.c_long DSO_ctrl(.DSO* dso, int cmd, core.stdc.config.c_long larg, void* parg)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_flags
int DSO_flags(.DSO* dso)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_free
int DSO_free(.DSO* dso)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_get_default_method
.DSO_METHOD* DSO_get_default_method()
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_get_filename
const(char)* DSO_get_filename(.DSO* dso)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_get_loaded_filename
const(char)* DSO_get_loaded_filename(.DSO* dso)
If the DSO is currently loaded, this returns the filename that it was loaded
under, otherwise it returns null. So it is also useful as a test as to
whether the DSO is currently loaded. NB: This will not necessarily return
the same value as DSO_convert_filename(dso, dso.filename), because the
DSO_METHOD's load function may have tried a variety of filenames (with
and/or without the aid of the converters) before settling on the one it
actually loaded.
- DSO_get_method
.DSO_METHOD* DSO_get_method(.DSO* dso)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_global_lookup
void* DSO_global_lookup(const(char)* name)
This function should be used with caution! It looks up symbols in
*all* loaded modules and if module gets unloaded by somebody else
attempt to dereference the pointer is doomed to have fatal
consequences. Primary usage for this function is to probe *core*
system functionality, e.g. check if getnameinfo(3) is available
at run-time without bothering about OS-specific details such as
libc.so.versioning or where does it actually reside: in libc
itself or libsocket.
- DSO_load
.DSO* DSO_load(.DSO* dso, const(char)* filename, .DSO_METHOD* meth, int flags)
The all-singing all-dancing load function, you normally pass null
for the first and third parameters. Use DSO_up and DSO_free for
subsequent reference count handling. Any flags passed in will be set
in the constructed DSO after its init() function but before the
load operation. If 'dso' is non-null, 'flags' is ignored.
- DSO_merge
char* DSO_merge(.DSO* dso, const(char)* filespec1, const(char)* filespec2)
This function will invoke the DSO's merger callback to merge two file
specifications, or if the callback isn't set it will instead use the
DSO_METHOD's merger. A non-null return value will need to be
free()'d.
- DSO_new
.DSO* DSO_new()
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_new_method
.DSO* DSO_new_method(.DSO_METHOD* method)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_pathbyaddr
int DSO_pathbyaddr(void* addr, char* path, int sz)
This function writes null-terminated pathname of DSO module
containing 'addr' into 'sz' large caller-provided 'path' and
returns the number of characters [including trailing zero]
written to it. If 'sz' is 0 or negative, 'path' is ignored and
required amount of charachers [including trailing zero] to
accommodate pathname is returned. If 'addr' is null, then
pathname of cryptolib itself is returned. Negative or zero
return value denotes error.
- DSO_set_default_method
void DSO_set_default_method(.DSO_METHOD* meth)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_set_filename
int DSO_set_filename(.DSO* dso, const(char)* filename)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_set_method
.DSO_METHOD* DSO_set_method(.DSO* dso, .DSO_METHOD* meth)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_set_name_converter
int DSO_set_name_converter(.DSO* dso, .DSO_NAME_CONVERTER_FUNC cb, .DSO_NAME_CONVERTER_FUNC* oldcb)
This function sets the DSO's name_converter callback. If it is non-null,
then it will be used instead of the associated DSO_METHOD's function. If
oldcb is non-null then it is set to the function pointer value being
replaced. Return value is non-zero for success.
- DSO_up_ref
int DSO_up_ref(.DSO* dso)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- ERR_load_DSO_strings
void ERR_load_DSO_strings()
The following lines are auto generated by the script mkerr.pl. Any changes
made after this point may be overwritten when the script is next run.
- DSO_CTRL_GET_FLAGS
enum DSO_CTRL_GET_FLAGS;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_CTRL_OR_FLAGS
enum DSO_CTRL_OR_FLAGS;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_CTRL_SET_FLAGS
enum DSO_CTRL_SET_FLAGS;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_FLAG_GLOBAL_SYMBOLS
enum DSO_FLAG_GLOBAL_SYMBOLS;
This flag loads the library with public symbols.
Meaning: The exported symbols of this library are public
to all libraries loaded after this library.
At the moment only implemented in unix.
- DSO_FLAG_NAME_TRANSLATION_EXT_ONLY
enum DSO_FLAG_NAME_TRANSLATION_EXT_ONLY;
An extra flag to give if only the extension should be added as
translation. This is obviously only of importance on Unix and
other operating systems where the translation also may prefix
the name with something, like 'lib', and ignored everywhere else.
This flag is also ignored if DSO_FLAG_NO_NAME_TRANSLATION is used
at the same time.
- DSO_FLAG_NO_NAME_TRANSLATION
enum DSO_FLAG_NO_NAME_TRANSLATION;
By default, DSO_load() will translate the provided filename into a form
typical for the platform (more specifically the DSO_METHOD) using the
dso_name_converter function of the method. Eg. win32 will transform "blah"
into "blah.dll", and dlfcn will transform it into "libblah.so". The
behaviour can be overridden by setting the name_converter callback in the DSO
object (using DSO_set_name_converter()). This callback could even utilise
the DSO_METHOD's converter too if it only wants to override behaviour for
one or two possible DSO methods. However, the following flag can be set in a
DSO to prevent *any* native name-translation at all - eg. if the caller has
prompted the user for a path to a driver library so the filename should be
interpreted as-is.
- DSO_FLAG_UPCASE_SYMBOL
enum DSO_FLAG_UPCASE_SYMBOL;
The following flag controls the translation of symbol names to upper
case. This is currently only being implemented for OpenVMS.
- DSO_F_BEOS_BIND_FUNC
enum DSO_F_BEOS_BIND_FUNC;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_BEOS_BIND_VAR
enum DSO_F_BEOS_BIND_VAR;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_BEOS_LOAD
enum DSO_F_BEOS_LOAD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_BEOS_NAME_CONVERTER
enum DSO_F_BEOS_NAME_CONVERTER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_BEOS_UNLOAD
enum DSO_F_BEOS_UNLOAD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DLFCN_BIND_FUNC
enum DSO_F_DLFCN_BIND_FUNC;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DLFCN_BIND_VAR
enum DSO_F_DLFCN_BIND_VAR;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DLFCN_LOAD
enum DSO_F_DLFCN_LOAD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DLFCN_MERGER
enum DSO_F_DLFCN_MERGER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DLFCN_NAME_CONVERTER
enum DSO_F_DLFCN_NAME_CONVERTER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DLFCN_UNLOAD
enum DSO_F_DLFCN_UNLOAD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DL_BIND_FUNC
enum DSO_F_DL_BIND_FUNC;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DL_BIND_VAR
enum DSO_F_DL_BIND_VAR;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DL_LOAD
enum DSO_F_DL_LOAD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DL_MERGER
enum DSO_F_DL_MERGER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DL_NAME_CONVERTER
enum DSO_F_DL_NAME_CONVERTER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DL_UNLOAD
enum DSO_F_DL_UNLOAD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_BIND_FUNC
enum DSO_F_DSO_BIND_FUNC;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_BIND_VAR
enum DSO_F_DSO_BIND_VAR;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_CONVERT_FILENAME
enum DSO_F_DSO_CONVERT_FILENAME;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_CTRL
enum DSO_F_DSO_CTRL;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_FREE
enum DSO_F_DSO_FREE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_GET_FILENAME
enum DSO_F_DSO_GET_FILENAME;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_GET_LOADED_FILENAME
enum DSO_F_DSO_GET_LOADED_FILENAME;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_GLOBAL_LOOKUP
enum DSO_F_DSO_GLOBAL_LOOKUP;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_LOAD
enum DSO_F_DSO_LOAD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_MERGE
enum DSO_F_DSO_MERGE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_NEW_METHOD
enum DSO_F_DSO_NEW_METHOD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_PATHBYADDR
enum DSO_F_DSO_PATHBYADDR;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_SET_FILENAME
enum DSO_F_DSO_SET_FILENAME;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_SET_NAME_CONVERTER
enum DSO_F_DSO_SET_NAME_CONVERTER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_DSO_UP_REF
enum DSO_F_DSO_UP_REF;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_GLOBAL_LOOKUP_FUNC
enum DSO_F_GLOBAL_LOOKUP_FUNC;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_PATHBYADDR
enum DSO_F_PATHBYADDR;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_VMS_BIND_SYM
enum DSO_F_VMS_BIND_SYM;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_VMS_LOAD
enum DSO_F_VMS_LOAD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_VMS_MERGER
enum DSO_F_VMS_MERGER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_VMS_UNLOAD
enum DSO_F_VMS_UNLOAD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_WIN32_BIND_FUNC
enum DSO_F_WIN32_BIND_FUNC;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_WIN32_BIND_VAR
enum DSO_F_WIN32_BIND_VAR;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_WIN32_GLOBALLOOKUP
enum DSO_F_WIN32_GLOBALLOOKUP;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_WIN32_GLOBALLOOKUP_FUNC
enum DSO_F_WIN32_GLOBALLOOKUP_FUNC;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_WIN32_JOINER
enum DSO_F_WIN32_JOINER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_WIN32_LOAD
enum DSO_F_WIN32_LOAD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_WIN32_MERGER
enum DSO_F_WIN32_MERGER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_WIN32_NAME_CONVERTER
enum DSO_F_WIN32_NAME_CONVERTER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_WIN32_PATHBYADDR
enum DSO_F_WIN32_PATHBYADDR;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_WIN32_SPLITTER
enum DSO_F_WIN32_SPLITTER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_F_WIN32_UNLOAD
enum DSO_F_WIN32_UNLOAD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_CTRL_FAILED
enum DSO_R_CTRL_FAILED;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_DSO_ALREADY_LOADED
enum DSO_R_DSO_ALREADY_LOADED;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_EMPTY_FILE_STRUCTURE
enum DSO_R_EMPTY_FILE_STRUCTURE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_FAILURE
enum DSO_R_FAILURE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_FILENAME_TOO_BIG
enum DSO_R_FILENAME_TOO_BIG;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_FINISH_FAILED
enum DSO_R_FINISH_FAILED;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_INCORRECT_FILE_SYNTAX
enum DSO_R_INCORRECT_FILE_SYNTAX;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_LOAD_FAILED
enum DSO_R_LOAD_FAILED;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_NAME_TRANSLATION_FAILED
enum DSO_R_NAME_TRANSLATION_FAILED;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_NO_FILENAME
enum DSO_R_NO_FILENAME;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_NO_FILE_SPECIFICATION
enum DSO_R_NO_FILE_SPECIFICATION;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_NULL_HANDLE
enum DSO_R_NULL_HANDLE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_SET_FILENAME_FAILED
enum DSO_R_SET_FILENAME_FAILED;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_STACK_ERROR
enum DSO_R_STACK_ERROR;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_SYM_FAILURE
enum DSO_R_SYM_FAILURE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_UNLOAD_FAILED
enum DSO_R_UNLOAD_FAILED;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- DSO_R_UNSUPPORTED
enum DSO_R_UNSUPPORTED;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.