winbindd: winbindd_ccache_ntlm_auth() -> bool_dispatch_table
[samba.git] / nsswitch / winbind_nss_netbsd.c
index 9b8e0a2265f48d7c02182cc89287ec77353085c9..4edf64c2c113d31fe1313a808e07a418ab2d35a5 100644 (file)
 static struct group    _winbind_group;
 static char            _winbind_groupbuf[1024];
 
-/*
- * We need a proper prototype for this :-)
- */
-
-NSS_STATUS _nss_winbind_setpwent(void);
-NSS_STATUS _nss_winbind_endpwent(void);
-NSS_STATUS _nss_winbind_getpwent_r(struct passwd *result, char *buffer,
-                                  size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_getpwuid_r(uid_t uid, struct passwd *result,
-                                  char *buffer, size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_getpwnam_r(const char *name, struct passwd *result,
-                                  char *buffer, size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_setgrent(void);
-NSS_STATUS _nss_winbind_endgrent(void);
-NSS_STATUS _nss_winbind_getgrent_r(struct group *result, char *buffer,
-                                  size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_getgrlst_r(struct group *result, char *buffer,
-                                  size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_getgrnam_r(const char *name, struct group *result,
-                                  char *buffer, size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_getgrgid_r(gid_t gid, struct group *result, char *buffer,
-                                  size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_initgroups_dyn(char *user, gid_t group, long int *start,
-                                      long int *size, gid_t **groups,
-                                      long int limit, int *errnop);
-NSS_STATUS _nss_winbind_getusersids(const char *user_sid, char **group_sids,
-                                   int *num_groups, char *buffer, size_t buf_size,
-                                   int *errnop);
-NSS_STATUS _nss_winbind_nametosid(const char *name, char **sid, char *buffer,
-                                 size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_sidtoname(const char *sid, char **name, char *buffer,
-                                 size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_sidtouid(const char *sid, uid_t *uid, int *errnop);
-NSS_STATUS _nss_winbind_sidtogid(const char *sid, gid_t *gid, int *errnop);
-NSS_STATUS _nss_winbind_uidtosid(uid_t uid, char **sid, char *buffer,
-                                size_t buflen, int *errnop);
-NSS_STATUS _nss_winbind_gidtosid(gid_t gid, char **sid, char *buffer,
-                                size_t buflen, int *errnop);
-
 int
 netbsdwinbind_endgrent(void *nsrv, void *nscb, va_list ap)
 {
@@ -124,7 +85,7 @@ netbsdwinbind_getgrent_r(void *nsrv, void *nscb, va_list ap)
        *result = NULL;
        rerrno = 0;
 
-       rv = _nss_winbind_getgrent_r(grp, buffer, buflen, rerrno);
+       rv = _nss_winbind_getgrent_r(grp, buffer, buflen, &rerrno);
        if (rv == NS_SUCCESS)
                *result = grp;
        else
@@ -215,7 +176,6 @@ netbsdwinbind_getgroupmembership(void *nsrv, void *nscb, va_list ap)
 {
        int             *result = va_arg(ap, int *);
        const char      *uname  = va_arg(ap, const char *);
-       gid_t            agroup = va_arg(ap, gid_t);
        gid_t           *groups = va_arg(ap, gid_t *);
        int              maxgrp = va_arg(ap, int);
        int             *groupc = va_arg(ap, int *);
@@ -229,7 +189,8 @@ netbsdwinbind_getgroupmembership(void *nsrv, void *nscb, va_list ap)
        ZERO_STRUCT(response);
        strncpy(request.data.username, uname,
                                sizeof(request.data.username) - 1);
-       i = winbindd_request_response(WINBINDD_GETGROUPS, &request, &response);
+       i = winbindd_request_response(NULL, WINBINDD_GETGROUPS,
+                                     &request, &response);
        if (i != NSS_STATUS_SUCCESS)
                return NS_NOTFOUND;
        wblistv = (gid_t *)response.extra_data.data;
@@ -312,7 +273,7 @@ netbsdwinbind_getpwent_r(void *nsrv, void *nscb, va_list ap)
        *result = NULL;
        rerrno = 0;
 
-       rv = _nss_winbind_getpwent_r(pw, buffer, buflen, rerrno);
+       rv = _nss_winbind_getpwent_r(pw, buffer, buflen, &rerrno);
        if (rv == NS_SUCCESS)
                *result = pw;
        else