Lines Matching refs:mod

274 _nsmodfree(ns_mod *mod)  in _nsmodfree()  argument
277 free(__UNCONST(mod->name)); in _nsmodfree()
278 if (mod->handle == NULL) in _nsmodfree()
280 if (mod->unregister != NULL) in _nsmodfree()
281 (*mod->unregister)(mod->mtab, mod->mtabsize); in _nsmodfree()
283 if (mod->handle != _nsbuiltin) in _nsmodfree()
284 (void) dlclose(mod->handle); in _nsmodfree()
299 ns_mod mod, *new; in _nsloadmod() local
301 memset(&mod, 0, sizeof(mod)); in _nsloadmod()
302 mod.name = strdup(source); in _nsloadmod()
303 if (mod.name == NULL) in _nsloadmod()
311 mod.handle = _nsbuiltin; in _nsloadmod()
316 if (snprintf(buf, sizeof(buf), "nss_%s.so.%d", mod.name, in _nsloadmod()
319 mod.handle = dlopen(buf, RTLD_LOCAL | RTLD_LAZY); in _nsloadmod()
320 if (mod.handle == NULL) { in _nsloadmod()
330 reg_fn = (nss_module_register_fn) dlsym(mod.handle, in _nsloadmod()
333 (void) dlclose(mod.handle); in _nsloadmod()
334 mod.handle = NULL; in _nsloadmod()
339 mod.handle = NULL; in _nsloadmod()
342 mod.mtab = (*reg_fn)(mod.name, &mod.mtabsize, &mod.unregister); in _nsloadmod()
343 if (mod.mtab == NULL || mod.mtabsize == 0) { in _nsloadmod()
345 if (mod.handle != _nsbuiltin) in _nsloadmod()
346 (void) dlclose(mod.handle); in _nsloadmod()
348 mod.handle = NULL; in _nsloadmod()
352 if (mod.mtabsize > 1) in _nsloadmod()
353 qsort(mod.mtab, mod.mtabsize, sizeof(mod.mtab[0]), in _nsloadmod()
356 new = _nsvect_append(&mod, _nsmod, &_nsmodsize, sizeof(*_nsmod)); in _nsloadmod()
358 _nsmodfree(&mod); in _nsloadmod()
379 const ns_mod *mod; in _nsdbtaddsrc() local
393 mod = bsearch(&modkey, _nsmod, _nsmodsize, sizeof(*_nsmod), _nsmodcmp); in _nsdbtaddsrc()
394 if (mod == NULL) in _nsdbtaddsrc()
558 ns_mod *mod, modkey; in _nsmethod() local
571 mod = bsearch(&modkey, _nsmod, _nsmodsize, sizeof(*_nsmod), in _nsmethod()
573 if (mod != NULL && mod->handle != NULL) { in _nsmethod()
576 mtab = bsearch(&mtabkey, mod->mtab, mod->mtabsize, in _nsmethod()
577 sizeof(mod->mtab[0]), _nsmtabcmp); in _nsmethod()