Lines Matching defs:lib
224 char *lib = NULL;
244 &lib);
250 result = strdup(lib);
253 profile_release_string(lib);
258 kdb_setup_opt_functions(db_library lib)
260 if (lib->vftabl.set_master_key == NULL)
261 lib->vftabl.set_master_key = kdb_def_set_mkey;
262 if (lib->vftabl.get_master_key == NULL)
263 lib->vftabl.get_master_key = kdb_def_get_mkey;
264 if (lib->vftabl.fetch_master_key == NULL)
265 lib->vftabl.fetch_master_key = krb5_db_def_fetch_mkey;
266 if (lib->vftabl.verify_master_key == NULL)
267 lib->vftabl.verify_master_key = krb5_def_verify_master_key;
268 if (lib->vftabl.fetch_master_key_list == NULL)
269 lib->vftabl.fetch_master_key_list = krb5_def_fetch_mkey_list;
270 if (lib->vftabl.store_master_key_list == NULL)
271 lib->vftabl.store_master_key_list = krb5_def_store_mkey_list;
272 if (lib->vftabl.dbe_search_enctype == NULL)
273 lib->vftabl.dbe_search_enctype = krb5_dbe_def_search_enctype;
274 if (lib->vftabl.db_change_pwd == NULL)
275 lib->vftabl.db_change_pwd = krb5_dbe_def_cpw;
276 if (lib->vftabl.store_master_key == NULL)
277 lib->vftabl.store_master_key = krb5_def_store_mkey;
278 if (lib->vftabl.promote_db == NULL)
279 lib->vftabl.promote_db = krb5_def_promote_db;
280 if (lib->vftabl.dbekd_decrypt_key_data == NULL)
281 lib->vftabl.dbekd_decrypt_key_data = krb5_dbekd_def_decrypt_key_data;
282 if (lib->vftabl.dbekd_encrypt_key_data == NULL)
283 lib->vftabl.dbekd_encrypt_key_data = krb5_dbekd_def_encrypt_key_data;
297 db_library lib;
313 lib = calloc(1, sizeof(*lib));
314 if (lib == NULL)
317 strlcpy(lib->name, lib_name, sizeof(lib->name));
318 memcpy(&lib->vftabl, vftabl_addr, sizeof(kdb_vftabl));
319 kdb_setup_opt_functions(lib);
321 status = lib->vftabl.init_library();
325 *libptr = lib;
329 free(lib);
339 kdb_load_library(krb5_context kcontext, char *lib_name, db_library * lib)
359 *lib = calloc((size_t) 1, sizeof(**lib));
360 if (*lib == NULL)
363 strlcpy((*lib)->name, lib_name, sizeof((*lib)->name));
387 &(*lib)->dl_dir_handle, &kcontext->err))) {
396 if ((status = krb5int_get_plugin_dir_data (&(*lib)->dl_dir_handle, "kdb_function_table",
415 memcpy(&(*lib)->vftabl, vftabl_addrs[0], sizeof(kdb_vftabl));
416 kdb_setup_opt_functions(*lib);
418 if ((status = (*lib)->vftabl.init_library()))
426 if (status && *lib) {
427 if (PLUGIN_DIR_OPEN((&(*lib)->dl_dir_handle)))
428 krb5int_close_plugin_dirs (&(*lib)->dl_dir_handle);
429 free(*lib);
430 *lib = NULL;
438 kdb_find_library(krb5_context kcontext, char *lib_name, db_library * lib)
458 *lib = curr_elt;
466 status = kdb_load_library(kcontext, lib_name, lib);
472 prev_elt->next = *lib;
473 (*lib)->prev = prev_elt;
475 lib_list = *lib;
479 if (*lib)
480 (*lib)->reference_cnt++;
489 kdb_free_library(db_library lib)
498 lib->reference_cnt--;
500 if (lib->reference_cnt == 0) {
501 status = lib->vftabl.fini_library();
506 if (PLUGIN_DIR_OPEN((&lib->dl_dir_handle)))
507 krb5int_close_plugin_dirs (&lib->dl_dir_handle);
509 if (lib->prev == NULL)
510 lib_list = lib->next; /* first element in the list */
512 lib->prev->next = lib->next;
514 if (lib->next)
515 lib->next->prev = lib->prev;
516 free(lib);
531 db_library lib = NULL;
546 status = kdb_find_library(kcontext, library, &lib);
550 dal_handle->lib_handle = lib;
558 if (lib)
559 kdb_free_library(lib);