関数 | |
int | netbsdwinbind_endgrent (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_setgrent (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getgrent (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getgrent_r (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getgrgid (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getgrgid_r (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getgrnam (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getgrnam_r (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getgroupmembership (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_endpwent (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_setpwent (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getpwent (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getpwent_r (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getpwnam (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getpwnam_r (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getpwuid (void *nsrv, void *nscb, va_list ap) |
int | netbsdwinbind_getpwuid_r (void *nsrv, void *nscb, va_list ap) |
ns_mtab * | nss_module_register (const char *source, unsigned int *mtabsize, nss_module_unregister_fn *unreg) |
変数 | |
static struct group | _winbind_group |
static char | _winbind_groupbuf [1024] |
static struct passwd | _winbind_passwd |
static char | _winbind_passwdbuf [1024] |
static ns_mtab | winbind_methods [] |
int netbsdwinbind_endgrent | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 44 行で定義されています。
00045 { 00046 int rv; 00047 00048 rv = _nss_winbind_endgrent(); 00049 return rv; 00050 }
int netbsdwinbind_setgrent | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 53 行で定義されています。
00054 { 00055 int rv; 00056 00057 rv = _nss_winbind_setgrent(); 00058 return rv; 00059 }
int netbsdwinbind_getgrent | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 62 行で定義されています。
参照先 _nss_winbind_getgrent_r()・_winbind_group・_winbind_groupbuf.
00063 { 00064 struct group **retval = va_arg(ap, struct group **); 00065 00066 int rv, rerrno; 00067 00068 *retval = NULL; 00069 rv = _nss_winbind_getgrent_r(&_winbind_group, 00070 _winbind_groupbuf, sizeof(_winbind_groupbuf), &rerrno); 00071 if (rv == NS_SUCCESS) 00072 *retval = &_winbind_group; 00073 return rv; 00074 }
int netbsdwinbind_getgrent_r | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 77 行で定義されています。
参照先 _nss_winbind_getgrent_r()・result.
00078 { 00079 int *retval = va_arg(ap, int *); 00080 struct group *grp = va_arg(ap, struct group *); 00081 char *buffer = va_arg(ap, char *); 00082 size_t buflen = va_arg(ap, size_t); 00083 struct group **result = va_arg(ap, struct group **); 00084 00085 int rv, rerrno; 00086 00087 *result = NULL; 00088 rerrno = 0; 00089 00090 rv = _nss_winbind_getgrent_r(grp, buffer, buflen, rerrno); 00091 if (rv == NS_SUCCESS) 00092 *result = grp; 00093 else 00094 *retval = rerrno; 00095 return rv; 00096 }
int netbsdwinbind_getgrgid | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 99 行で定義されています。
参照先 _nss_winbind_getgrgid_r()・_winbind_group・_winbind_groupbuf.
00100 { 00101 struct group **retval = va_arg(ap, struct group **); 00102 gid_t gid = va_arg(ap, gid_t); 00103 00104 int rv, rerrno; 00105 00106 *retval = NULL; 00107 rv = _nss_winbind_getgrgid_r(gid, &_winbind_group, 00108 _winbind_groupbuf, sizeof(_winbind_groupbuf), &rerrno); 00109 if (rv == NS_SUCCESS) 00110 *retval = &_winbind_group; 00111 return rv; 00112 }
int netbsdwinbind_getgrgid_r | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 115 行で定義されています。
参照先 _nss_winbind_getgrgid_r()・result.
00116 { 00117 int *retval = va_arg(ap, int *); 00118 gid_t gid = va_arg(ap, gid_t); 00119 struct group *grp = va_arg(ap, struct group *); 00120 char *buffer = va_arg(ap, char *); 00121 size_t buflen = va_arg(ap, size_t); 00122 struct group **result = va_arg(ap, struct group **); 00123 00124 int rv, rerrno; 00125 00126 *result = NULL; 00127 rerrno = 0; 00128 00129 rv = _nss_winbind_getgrgid_r(gid, grp, buffer, buflen, &rerrno); 00130 if (rv == NS_SUCCESS) 00131 *result = grp; 00132 else 00133 *retval = rerrno; 00134 return rv; 00135 }
int netbsdwinbind_getgrnam | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 138 行で定義されています。
参照先 _nss_winbind_getgrnam_r()・_winbind_group・_winbind_groupbuf・name.
00139 { 00140 struct group **retval = va_arg(ap, struct group **); 00141 const char *name = va_arg(ap, const char *); 00142 00143 int rv, rerrno; 00144 00145 *retval = NULL; 00146 rv = _nss_winbind_getgrnam_r(name, &_winbind_group, 00147 _winbind_groupbuf, sizeof(_winbind_groupbuf), &rerrno); 00148 if (rv == NS_SUCCESS) 00149 *retval = &_winbind_group; 00150 return rv; 00151 }
int netbsdwinbind_getgrnam_r | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 154 行で定義されています。
参照先 _nss_winbind_getgrnam_r()・name・result.
00155 { 00156 int *retval = va_arg(ap, int *); 00157 const char *name = va_arg(ap, const char *); 00158 struct group *grp = va_arg(ap, struct group *); 00159 char *buffer = va_arg(ap, char *); 00160 size_t buflen = va_arg(ap, size_t); 00161 struct group **result = va_arg(ap, struct group **); 00162 00163 int rv, rerrno; 00164 00165 *result = NULL; 00166 rerrno = 0; 00167 00168 rv = _nss_winbind_getgrnam_r(name, grp, buffer, buflen, &rerrno); 00169 if (rv == NS_SUCCESS) 00170 *result = grp; 00171 else 00172 *retval = rerrno; 00173 return rv; 00174 }
int netbsdwinbind_getgroupmembership | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 177 行で定義されています。
参照先 winbindd_response::data・winbindd_request::data・winbindd_response::extra_data・NSS_STATUS_SUCCESS・winbindd_response::num_entries・result・winbindd_request::username・WINBINDD_GETGROUPS・winbindd_request_response().
00178 { 00179 int *result = va_arg(ap, int *); 00180 const char *uname = va_arg(ap, const char *); 00181 gid_t agroup = va_arg(ap, gid_t); 00182 gid_t *groups = va_arg(ap, gid_t *); 00183 int maxgrp = va_arg(ap, int); 00184 int *groupc = va_arg(ap, int *); 00185 00186 struct winbindd_request request; 00187 struct winbindd_response response; 00188 gid_t *wblistv; 00189 int wblistc, i, isdup, dupc; 00190 00191 ZERO_STRUCT(request); 00192 ZERO_STRUCT(response); 00193 strncpy(request.data.username, uname, 00194 sizeof(request.data.username) - 1); 00195 i = winbindd_request_response(WINBINDD_GETGROUPS, &request, &response); 00196 if (i != NSS_STATUS_SUCCESS) 00197 return NS_NOTFOUND; 00198 wblistv = (gid_t *)response.extra_data.data; 00199 wblistc = response.data.num_entries; 00200 00201 for (i = 0; i < wblistc; i++) { /* add winbind gids */ 00202 isdup = 0; /* skip duplicates */ 00203 for (dupc = 0; dupc < MIN(maxgrp, *groupc); dupc++) { 00204 if (groups[dupc] == wblistv[i]) { 00205 isdup = 1; 00206 break; 00207 } 00208 } 00209 if (isdup) 00210 continue; 00211 if (*groupc < maxgrp) /* add this gid */ 00212 groups[*groupc] = wblistv[i]; 00213 else 00214 *result = -1; 00215 (*groupc)++; 00216 } 00217 SAFE_FREE(wblistv); 00218 return NS_NOTFOUND; 00219 }
int netbsdwinbind_endpwent | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 231 行で定義されています。
00232 { 00233 int rv; 00234 00235 rv = _nss_winbind_endpwent(); 00236 return rv; 00237 }
int netbsdwinbind_setpwent | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 240 行で定義されています。
00241 { 00242 int rv; 00243 00244 rv = _nss_winbind_setpwent(); 00245 return rv; 00246 }
int netbsdwinbind_getpwent | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 249 行で定義されています。
参照先 _nss_winbind_getpwent_r()・_winbind_passwd・_winbind_passwdbuf.
00250 { 00251 struct passwd **retval = va_arg(ap, struct passwd **); 00252 00253 int rv, rerrno; 00254 00255 *retval = NULL; 00256 00257 rv = _nss_winbind_getpwent_r(&_winbind_passwd, 00258 _winbind_passwdbuf, sizeof(_winbind_passwdbuf), &rerrno); 00259 if (rv == NS_SUCCESS) 00260 *retval = &_winbind_passwd; 00261 return rv; 00262 }
int netbsdwinbind_getpwent_r | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 265 行で定義されています。
参照先 _nss_winbind_getpwent_r()・result.
00266 { 00267 int *retval = va_arg(ap, int *); 00268 struct passwd *pw = va_arg(ap, struct passwd *); 00269 char *buffer = va_arg(ap, char *); 00270 size_t buflen = va_arg(ap, size_t); 00271 struct passwd **result = va_arg(ap, struct passwd **); 00272 00273 int rv, rerrno; 00274 00275 *result = NULL; 00276 rerrno = 0; 00277 00278 rv = _nss_winbind_getpwent_r(pw, buffer, buflen, rerrno); 00279 if (rv == NS_SUCCESS) 00280 *result = pw; 00281 else 00282 *retval = rerrno; 00283 return rv; 00284 }
int netbsdwinbind_getpwnam | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 287 行で定義されています。
参照先 _nss_winbind_getpwnam_r()・_winbind_passwd・_winbind_passwdbuf・name.
00288 { 00289 struct passwd **retval = va_arg(ap, struct passwd **); 00290 const char *name = va_arg(ap, const char *); 00291 00292 int rv, rerrno; 00293 00294 *retval = NULL; 00295 rv = _nss_winbind_getpwnam_r(name, &_winbind_passwd, 00296 _winbind_passwdbuf, sizeof(_winbind_passwdbuf), &rerrno); 00297 if (rv == NS_SUCCESS) 00298 *retval = &_winbind_passwd; 00299 return rv; 00300 }
int netbsdwinbind_getpwnam_r | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 303 行で定義されています。
参照先 _nss_winbind_getpwnam_r()・name・result.
00304 { 00305 int *retval = va_arg(ap, int *); 00306 const char *name = va_arg(ap, const char *); 00307 struct passwd *pw = va_arg(ap, struct passwd *); 00308 char *buffer = va_arg(ap, char *); 00309 size_t buflen = va_arg(ap, size_t); 00310 struct passwd **result = va_arg(ap, struct passwd **); 00311 00312 int rv, rerrno; 00313 00314 *result = NULL; 00315 rerrno = 0; 00316 00317 rv = _nss_winbind_getpwnam_r(name, pw, buffer, buflen, &rerrno); 00318 if (rv == NS_SUCCESS) 00319 *result = pw; 00320 else 00321 *retval = rerrno; 00322 return rv; 00323 }
int netbsdwinbind_getpwuid | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 326 行で定義されています。
参照先 _nss_winbind_getpwuid_r()・_winbind_passwd・_winbind_passwdbuf.
00327 { 00328 struct passwd **retval = va_arg(ap, struct passwd **); 00329 uid_t uid = va_arg(ap, uid_t); 00330 00331 int rv, rerrno; 00332 00333 *retval = NULL; 00334 rv = _nss_winbind_getpwuid_r(uid, &_winbind_passwd, 00335 _winbind_passwdbuf, sizeof(_winbind_passwdbuf), &rerrno); 00336 if (rv == NS_SUCCESS) 00337 *retval = &_winbind_passwd; 00338 return rv; 00339 }
int netbsdwinbind_getpwuid_r | ( | void * | nsrv, | |
void * | nscb, | |||
va_list | ap | |||
) |
winbind_nss_netbsd.c の 342 行で定義されています。
参照先 _nss_winbind_getpwuid_r()・result.
00343 { 00344 int *retval = va_arg(ap, int *); 00345 uid_t uid = va_arg(ap, uid_t); 00346 struct passwd *pw = va_arg(ap, struct passwd *); 00347 char *buffer = va_arg(ap, char *); 00348 size_t buflen = va_arg(ap, size_t); 00349 struct passwd **result = va_arg(ap, struct passwd **); 00350 00351 int rv, rerrno; 00352 00353 *result = NULL; 00354 rerrno = 0; 00355 00356 rv = _nss_winbind_getpwuid_r(uid, pw, buffer, buflen, &rerrno); 00357 if (rv == NS_SUCCESS) 00358 *result = pw; 00359 else 00360 *retval = rerrno; 00361 return rv; 00362 }
ns_mtab* nss_module_register | ( | const char * | source, | |
unsigned int * | mtabsize, | |||
nss_module_unregister_fn * | unreg | |||
) |
winbind_nss_netbsd.c の 397 行で定義されています。
参照先 winbind_methods.
00399 { 00400 *mtabsize = sizeof(winbind_methods)/sizeof(winbind_methods[0]); 00401 *unreg = NULL; 00402 return (winbind_methods); 00403 }
struct group _winbind_group [static] |
char _winbind_groupbuf[1024] [static] |
struct passwd _winbind_passwd [static] |
char _winbind_passwdbuf[1024] [static] |
ns_mtab winbind_methods[] [static] |
初期値:
{ { NSDB_GROUP, "endgrent", netbsdwinbind_endgrent, NULL }, { NSDB_GROUP, "getgrent", netbsdwinbind_getgrent, NULL }, { NSDB_GROUP, "getgrent_r", netbsdwinbind_getgrent_r, NULL }, { NSDB_GROUP, "getgrgid", netbsdwinbind_getgrgid, NULL }, { NSDB_GROUP, "getgrgid_r", netbsdwinbind_getgrgid_r, NULL }, { NSDB_GROUP, "getgrnam", netbsdwinbind_getgrnam, NULL }, { NSDB_GROUP, "getgrnam_r", netbsdwinbind_getgrnam_r, NULL }, { NSDB_GROUP, "setgrent", netbsdwinbind_setgrent, NULL }, { NSDB_GROUP, "setgroupent", netbsdwinbind_setgrent, NULL }, { NSDB_GROUP, "getgroupmembership", netbsdwinbind_getgroupmembership, NULL }, { NSDB_PASSWD, "endpwent", netbsdwinbind_endpwent, NULL }, { NSDB_PASSWD, "getpwent", netbsdwinbind_getpwent, NULL }, { NSDB_PASSWD, "getpwent_r", netbsdwinbind_getpwent_r, NULL }, { NSDB_PASSWD, "getpwnam", netbsdwinbind_getpwnam, NULL }, { NSDB_PASSWD, "getpwnam_r", netbsdwinbind_getpwnam_r, NULL }, { NSDB_PASSWD, "getpwuid", netbsdwinbind_getpwuid, NULL }, { NSDB_PASSWD, "getpwuid_r", netbsdwinbind_getpwuid_r, NULL }, { NSDB_PASSWD, "setpassent", netbsdwinbind_setpwent, NULL }, { NSDB_PASSWD, "setpwent", netbsdwinbind_setpwent, NULL }, }
winbind_nss_netbsd.c の 371 行で定義されています。