Improvements to fogbugz oo stuff to make it more schedulator-compatible.
[wvapps.git] / nss / libnss_wvtest.cc
blob450b347d960ee6cbaf36493c58f322b0942ad58e
1 #include "wvlog.h"
3 #include <stdio.h>
4 #include <nss.h>
5 #include <pwd.h>
6 #include <sys/types.h>
7 #include <errno.h>
9 extern "C" enum nss_status _nss_wvtest_setpwent();
10 extern "C" enum nss_status _nss_wvtest_endpwent();
12 extern "C" enum nss_status _nss_wvtest_setgrent();
13 extern "C" enum nss_status _nss_wvtest_endgrent();
14 extern "C" enum nss_status _nss_wvtest_getgrnam_r();
15 extern "C" enum nss_status _nss_wvtest_getgrgid_r();
17 extern "C" enum nss_status _nss_wvtest_initgroups_dyn();
20 static WvLog log("nss-wvtest", WvLog::Debug5);
24 extern "C" enum nss_status _nss_wvtest_getpwnam_r(
25 const char *user, struct passwd *pw,
26 char *buf, size_t buflen, int *errnop)
28 log("%s(%s) called.\n", __func__, user);
30 pw->pw_name = "fudge";
31 pw->pw_passwd = "snicker";
32 pw->pw_uid = 12002;
33 pw->pw_gid = 12003;
34 pw->pw_gecos = "spitball user";
35 pw->pw_dir = "/tmp";
36 pw->pw_shell = "/bin/yacksh";
38 *errnop = errno = 0;
39 return NSS_STATUS_SUCCESS;
43 extern "C" enum nss_status _nss_wvtest_getpwuid_r(
44 uid_t uid, struct passwd *pw,
45 char *buf, size_t buflen, int *errnop)
47 log("%s(%s) called.\n", __func__, uid);
49 pw->pw_name = "fudge2";
50 pw->pw_passwd = "snicker";
51 pw->pw_uid = 12002;
52 pw->pw_gid = 12003;
53 pw->pw_gecos = "spitball user";
54 pw->pw_dir = "/tmp";
55 pw->pw_shell = "/bin/yacksh";
57 *errnop = errno = 0;
58 return NSS_STATUS_SUCCESS;