Lines Matching refs:mod

472 	ns_mod		 mod;  in nss_load_module()  local
475 memset(&mod, 0, sizeof(mod)); in nss_load_module()
476 mod.name = strdup(source); in nss_load_module()
477 if (mod.name == NULL) { in nss_load_module()
485 mod.handle = nss_builtin_handle; in nss_load_module()
490 if (snprintf(buf, sizeof(buf), "nss_%s.so.%d", mod.name, in nss_load_module()
493 mod.handle = libc_dlopen(buf, RTLD_LOCAL|RTLD_LAZY); in nss_load_module()
494 if (mod.handle == NULL) { in nss_load_module()
499 nss_log(LOG_DEBUG, "%s, %s", mod.name, dlerror()); in nss_load_module()
503 fn = (nss_module_register_fn)dlfunc(mod.handle, in nss_load_module()
506 (void)dlclose(mod.handle); in nss_load_module()
507 mod.handle = NULL; in nss_load_module()
508 nss_log(LOG_ERR, "%s, %s", mod.name, dlerror()); in nss_load_module()
512 mod.mtab = fn(mod.name, &mod.mtabsize, &mod.unregister); in nss_load_module()
513 if (mod.mtab == NULL || mod.mtabsize == 0) { in nss_load_module()
514 if (mod.handle != nss_builtin_handle) in nss_load_module()
515 (void)dlclose(mod.handle); in nss_load_module()
516 mod.handle = NULL; in nss_load_module()
517 nss_log(LOG_ERR, "%s, registration failed", mod.name); in nss_load_module()
520 if (mod.mtabsize > 1) in nss_load_module()
521 qsort(mod.mtab, mod.mtabsize, sizeof(mod.mtab[0]), in nss_load_module()
524 _nsmod = vector_append(&mod, _nsmod, &_nsmodsize, sizeof(*_nsmod)); in nss_load_module()
531 ns_mod_free(ns_mod *mod) in ns_mod_free() argument
534 free(mod->name); in ns_mod_free()
535 if (mod->handle == NULL) in ns_mod_free()
537 if (mod->unregister != NULL) in ns_mod_free()
538 mod->unregister(mod->mtab, mod->mtabsize); in ns_mod_free()
539 if (mod->handle != nss_builtin_handle) in ns_mod_free()
540 (void)dlclose(mod->handle); in ns_mod_free()
573 ns_mod *mod; in nss_method_lookup() local
583 mod = vector_search(&source, _nsmod, _nsmodsize, sizeof(*_nsmod), in nss_method_lookup()
585 if (mod != NULL && mod->handle != NULL) { in nss_method_lookup()
588 match = bsearch(&key, mod->mtab, mod->mtabsize, in nss_method_lookup()
589 sizeof(mod->mtab[0]), mtab_compare); in nss_method_lookup()