Lines Matching refs:dso
62 int DSO_free(DSO *dso) in DSO_free() argument
66 if (dso == NULL) in DSO_free()
69 if (CRYPTO_DOWN_REF(&dso->references, &i, dso->lock) <= 0) in DSO_free()
72 REF_PRINT_COUNT("DSO", dso); in DSO_free()
77 if ((dso->flags & DSO_FLAG_NO_UNLOAD_ON_FREE) == 0) { in DSO_free()
78 if ((dso->meth->dso_unload != NULL) && !dso->meth->dso_unload(dso)) { in DSO_free()
84 if ((dso->meth->finish != NULL) && !dso->meth->finish(dso)) { in DSO_free()
89 sk_void_free(dso->meth_data); in DSO_free()
90 OPENSSL_free(dso->filename); in DSO_free()
91 OPENSSL_free(dso->loaded_filename); in DSO_free()
92 CRYPTO_THREAD_lock_free(dso->lock); in DSO_free()
93 OPENSSL_free(dso); in DSO_free()
97 int DSO_flags(DSO *dso) in DSO_flags() argument
99 return ((dso == NULL) ? 0 : dso->flags); in DSO_flags()
102 int DSO_up_ref(DSO *dso) in DSO_up_ref() argument
106 if (dso == NULL) { in DSO_up_ref()
111 if (CRYPTO_UP_REF(&dso->references, &i, dso->lock) <= 0) in DSO_up_ref()
119 DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags) in DSO_load() argument
124 if (dso == NULL) { in DSO_load()
137 ret = dso; in DSO_load()
173 DSO_FUNC_TYPE DSO_bind_func(DSO *dso, const char *symname) in DSO_bind_func() argument
177 if ((dso == NULL) || (symname == NULL)) { in DSO_bind_func()
181 if (dso->meth->dso_bind_func == NULL) { in DSO_bind_func()
185 if ((ret = dso->meth->dso_bind_func(dso, symname)) == NULL) { in DSO_bind_func()
202 long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg) in DSO_ctrl() argument
204 if (dso == NULL) { in DSO_ctrl()
214 return dso->flags; in DSO_ctrl()
216 dso->flags = (int)larg; in DSO_ctrl()
219 dso->flags |= (int)larg; in DSO_ctrl()
224 if ((dso->meth == NULL) || (dso->meth->dso_ctrl == NULL)) { in DSO_ctrl()
228 return dso->meth->dso_ctrl(dso, cmd, larg, parg); in DSO_ctrl()
231 const char *DSO_get_filename(DSO *dso) in DSO_get_filename() argument
233 if (dso == NULL) { in DSO_get_filename()
237 return dso->filename; in DSO_get_filename()
240 int DSO_set_filename(DSO *dso, const char *filename) in DSO_set_filename() argument
244 if ((dso == NULL) || (filename == NULL)) { in DSO_set_filename()
248 if (dso->loaded_filename) { in DSO_set_filename()
258 OPENSSL_free(dso->filename); in DSO_set_filename()
259 dso->filename = copied; in DSO_set_filename()
263 char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2) in DSO_merge() argument
267 if (dso == NULL || filespec1 == NULL) { in DSO_merge()
271 if ((dso->flags & DSO_FLAG_NO_NAME_TRANSLATION) == 0) { in DSO_merge()
272 if (dso->merger != NULL) in DSO_merge()
273 result = dso->merger(dso, filespec1, filespec2); in DSO_merge()
274 else if (dso->meth->dso_merger != NULL) in DSO_merge()
275 result = dso->meth->dso_merger(dso, filespec1, filespec2); in DSO_merge()
280 char *DSO_convert_filename(DSO *dso, const char *filename) in DSO_convert_filename() argument
284 if (dso == NULL) { in DSO_convert_filename()
289 filename = dso->filename; in DSO_convert_filename()
294 if ((dso->flags & DSO_FLAG_NO_NAME_TRANSLATION) == 0) { in DSO_convert_filename()
295 if (dso->name_converter != NULL) in DSO_convert_filename()
296 result = dso->name_converter(dso, filename); in DSO_convert_filename()
297 else if (dso->meth->dso_name_converter != NULL) in DSO_convert_filename()
298 result = dso->meth->dso_name_converter(dso, filename); in DSO_convert_filename()