nss 26 examples/nss/nss_winbind.c static void *find_fn(struct nss_state *nss, const char *name) nss 31 examples/nss/nss_winbind.c asprintf(&s, "_nss_%s_%s", nss->nss_name, name); nss 36 examples/nss/nss_winbind.c res = dlsym(nss->dl_handle, s); nss 49 examples/nss/nss_winbind.c int nss_open(struct nss_state *nss, const char *nss_path) nss 58 examples/nss/nss_winbind.c nss->nss_name = strdup(p+1); nss 59 examples/nss/nss_winbind.c p = strchr(nss->nss_name, '.'); nss 62 examples/nss/nss_winbind.c nss->dl_handle = dlopen(nss_path, RTLD_LAZY); nss 63 examples/nss/nss_winbind.c if (!nss->dl_handle) { nss 64 examples/nss/nss_winbind.c free(nss->nss_name); nss 74 examples/nss/nss_winbind.c void nss_close(struct nss_state *nss) nss 76 examples/nss/nss_winbind.c free(nss->nss_name); nss 77 examples/nss/nss_winbind.c dlclose(nss->dl_handle); nss 84 examples/nss/nss_winbind.c int nss_getpwent(struct nss_state *nss, struct passwd *pwd) nss 91 examples/nss/nss_winbind.c _nss_getpwent_r = find_fn(nss, "getpwent_r"); nss 97 examples/nss/nss_winbind.c status = _nss_getpwent_r(pwd, nss->pwnam_buf, sizeof(nss->pwnam_buf), nss 115 examples/nss/nss_winbind.c int nss_setpwent(struct nss_state *nss) nss 117 examples/nss/nss_winbind.c enum nss_status (*_nss_setpwent)(void) = find_fn(nss, "setpwent"); nss 134 examples/nss/nss_winbind.c int nss_endpwent(struct nss_state *nss) nss 136 examples/nss/nss_winbind.c enum nss_status (*_nss_endpwent)(void) = find_fn(nss, "endpwent"); nss 155 examples/nss/nss_winbind.c int nss_nametosid(struct nss_state *nss, const char *name, char **sid) nss 163 examples/nss/nss_winbind.c _nss_nametosid = find_fn(nss, "nametosid"); nss 189 examples/nss/nss_winbind.c int nss_sidtoname(struct nss_state *nss, const char *sid, char **name) nss 197 examples/nss/nss_winbind.c _nss_sidtoname = find_fn(nss, "sidtoname"); nss 223 examples/nss/nss_winbind.c int nss_getusersids(struct nss_state *nss, const char *user_sid, char ***sids) nss 234 examples/nss/nss_winbind.c _nss_getusersids = find_fn(nss, "getusersids"); nss 295 examples/nss/nss_winbind.c int nss_sidtouid(struct nss_state *nss, const char *sid, uid_t *uid) nss 302 examples/nss/nss_winbind.c _nss_sidtouid = find_fn(nss, "sidtouid"); nss 327 examples/nss/nss_winbind.c int nss_sidtogid(struct nss_state *nss, const char *sid, gid_t *gid) nss 334 examples/nss/nss_winbind.c _nss_sidtogid = find_fn(nss, "sidtogid"); nss 360 examples/nss/nss_winbind.c int nss_uidtosid(struct nss_state *nss, uid_t uid, char **sid) nss 368 examples/nss/nss_winbind.c _nss_uidtosid = find_fn(nss, "uidtosid"); nss 394 examples/nss/nss_winbind.c int nss_gidtosid(struct nss_state *nss, gid_t gid, char **sid) nss 402 examples/nss/nss_winbind.c _nss_gidtosid = find_fn(nss, "gidtosid"); nss 27 examples/nss/nss_winbind.h int nss_open(struct nss_state *nss, const char *nss_path); nss 32 examples/nss/nss_winbind.h void nss_close(struct nss_state *nss); nss 38 examples/nss/nss_winbind.h int nss_getpwent(struct nss_state *nss, struct passwd *pwd); nss 44 examples/nss/nss_winbind.h int nss_setpwent(struct nss_state *nss); nss 50 examples/nss/nss_winbind.h int nss_endpwent(struct nss_state *nss); nss 57 examples/nss/nss_winbind.h int nss_nametosid(struct nss_state *nss, const char *name, char **sid); nss 64 examples/nss/nss_winbind.h int nss_sidtoname(struct nss_state *nss, const char *sid, char **name); nss 71 examples/nss/nss_winbind.h int nss_getusersids(struct nss_state *nss, const char *user_sid, char ***sids); nss 77 examples/nss/nss_winbind.h int nss_sidtouid(struct nss_state *nss, const char *sid, uid_t *uid); nss 83 examples/nss/nss_winbind.h int nss_sidtogid(struct nss_state *nss, const char *sid, gid_t *gid); nss 90 examples/nss/nss_winbind.h int nss_uidtosid(struct nss_state *nss, uid_t uid, char **sid); nss 97 examples/nss/nss_winbind.h int nss_gidtosid(struct nss_state *nss, gid_t gid, char **sid); nss 35 examples/nss/wbtest.c static int nss_test_users(struct nss_state *nss) nss 39 examples/nss/wbtest.c if (nss_setpwent(nss) != 0) { nss 45 examples/nss/wbtest.c while ((nss_getpwent(nss, &pwd) == 0)) { nss 50 examples/nss/wbtest.c if (nss_nametosid(nss, pwd.pw_name, &sid) != 0) { nss 56 examples/nss/wbtest.c if (nss_sidtoname(nss, sid, &name2) != 0) { nss 62 examples/nss/wbtest.c if (nss_getusersids(nss, sid, &group_sids) != 0) { nss 79 examples/nss/wbtest.c if (nss_endpwent(nss) != 0) { nss 93 examples/nss/wbtest.c struct nss_state nss; nss 101 examples/nss/wbtest.c if (nss_open(&nss, so_path) != 0) { nss 106 examples/nss/wbtest.c ret = nss_test_users(&nss); nss 108 examples/nss/wbtest.c nss_close(&nss);