libressl_d.openssl.dso

Undocumented in source.

Public Imports

libressl_d.openssl.crypto
public import libressl_d.openssl.crypto;
Undocumented in source.

Members

Aliases

DSO
alias DSO = .dso_st
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
DSO_FUNC_TYPE
alias DSO_FUNC_TYPE = void function()
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
DSO_MERGER_FUNC
alias DSO_MERGER_FUNC = char* function(.DSO*, const(char)*, const(char)*)

The function prototype used for method functions (or caller-provided callbacks) that merge two file specifications. They are passed a DSO structure pointer (or null if they are to be used independantly of a DSO object) and two file specifications to merge. They should either return null (if there is an error condition) or a newly allocated string containing the result of merging that the caller will need to free with free() when done. Here, merging means that bits and pieces are taken from each of the file specifications and added together in whatever fashion that is sensible for the DSO method in question. The only rule that really applies is that if the two specification contain pieces of the same type, the copy from the first string takes priority. One could see it as the first specification is the one given by the user and the second being a bunch of defaults to add on if they're missing in the first.

DSO_METHOD
alias DSO_METHOD = .dso_meth_st
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
DSO_NAME_CONVERTER_FUNC
alias DSO_NAME_CONVERTER_FUNC = char* function(.DSO*, const(char)*)

The function prototype used for method functions (or caller-provided callbacks) that transform filenames. They are passed a DSO structure pointer (or null if they are to be used independantly of a DSO object) and a filename to transform. They should either return null (if there is an error condition) or a newly allocated string containing the transformed form that the caller will need to free with free() when done.

Functions

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.

Manifest constants

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.

Structs

dso_meth_st
struct dso_meth_st
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
dso_st
struct dso_st
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Meta