Lines Matching defs:dso

62 #include <openssl/dso.h>
81 DSO_METHOD *DSO_get_method(DSO *dso)
83 return(dso->meth);
86 DSO_METHOD *DSO_set_method(DSO *dso, DSO_METHOD *meth)
89 mtmp = dso->meth;
90 dso->meth = meth;
131 int DSO_free(DSO *dso)
135 if(dso == NULL)
141 i=CRYPTO_add(&dso->references,-1,CRYPTO_LOCK_DSO);
143 REF_PRINT("DSO",dso);
154 if((dso->meth->dso_unload != NULL) && !dso->meth->dso_unload(dso))
160 if((dso->meth->finish != NULL) && !dso->meth->finish(dso))
166 sk_void_free(dso->meth_data);
167 if(dso->filename != NULL)
168 OPENSSL_free(dso->filename);
169 if(dso->loaded_filename != NULL)
170 OPENSSL_free(dso->loaded_filename);
172 OPENSSL_free(dso);
176 int DSO_flags(DSO *dso)
178 return((dso == NULL) ? 0 : dso->flags);
182 int DSO_up_ref(DSO *dso)
184 if (dso == NULL)
190 CRYPTO_add(&dso->references,1,CRYPTO_LOCK_DSO);
194 DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags)
199 if(dso == NULL)
216 ret = dso;
223 /* filename can only be NULL if we were passed a dso that already has
255 void *DSO_bind_var(DSO *dso, const char *symname)
259 if((dso == NULL) || (symname == NULL))
264 if(dso->meth->dso_bind_var == NULL)
269 if((ret = dso->meth->dso_bind_var(dso, symname)) == NULL)
278 DSO_FUNC_TYPE DSO_bind_func(DSO *dso, const char *symname)
282 if((dso == NULL) || (symname == NULL))
287 if(dso->meth->dso_bind_func == NULL)
292 if((ret = dso->meth->dso_bind_func(dso, symname)) == NULL)
309 long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg)
311 if(dso == NULL)
322 return dso->flags;
324 dso->flags = (int)larg;
327 dso->flags |= (int)larg;
332 if((dso->meth == NULL) || (dso->meth->dso_ctrl == NULL))
337 return(dso->meth->dso_ctrl(dso,cmd,larg,parg));
340 int DSO_set_name_converter(DSO *dso, DSO_NAME_CONVERTER_FUNC cb,
343 if(dso == NULL)
350 *oldcb = dso->name_converter;
351 dso->name_converter = cb;
355 const char *DSO_get_filename(DSO *dso)
357 if(dso == NULL)
362 return(dso->filename);
365 int DSO_set_filename(DSO *dso, const char *filename)
369 if((dso == NULL) || (filename == NULL))
374 if(dso->loaded_filename)
387 if(dso->filename)
388 OPENSSL_free(dso->filename);
389 dso->filename = copied;
393 char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2)
397 if(dso == NULL || filespec1 == NULL)
402 if((dso->flags & DSO_FLAG_NO_NAME_TRANSLATION) == 0)
404 if(dso->merger != NULL)
405 result = dso->merger(dso, filespec1, filespec2);
406 else if(dso->meth->dso_merger != NULL)
407 result = dso->meth->dso_merger(dso,
413 char *DSO_convert_filename(DSO *dso, const char *filename)
417 if(dso == NULL)
423 filename = dso->filename;
429 if((dso->flags & DSO_FLAG_NO_NAME_TRANSLATION) == 0)
431 if(dso->name_converter != NULL)
432 result = dso->name_converter(dso, filename);
433 else if(dso->meth->dso_name_converter != NULL)
434 result = dso->meth->dso_name_converter(dso, filename);
450 const char *DSO_get_loaded_filename(DSO *dso)
452 if(dso == NULL)
458 return(dso->loaded_filename);