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);