* Authors:
* Jonathan Pryor (jonpryor@vt.edu)
*
- * Copyright (C) 2004 Jonathan Pryor
+ * Copyright (C) 2004-2005 Jonathan Pryor
*/
#include <pwd.h>
gint32
Mono_Posix_Syscall_getpwnam_r (const char *name,
struct Mono_Posix_Syscall__Passwd *pwbuf,
- struct passwd **pwbufp)
+ void **pwbufp)
{
char *buf, *buf2;
size_t buflen;
}
buf = buf2;
errno = 0;
- } while ((r = getpwnam_r (name, &_pwbuf, buf, buflen, pwbufp)) &&
+ } while ((r = getpwnam_r (name, &_pwbuf, buf, buflen, (struct passwd**) pwbufp)) &&
recheck_range (r));
if (r == 0 && !(*pwbufp))
gint32
Mono_Posix_Syscall_getpwuid_r (mph_uid_t uid,
struct Mono_Posix_Syscall__Passwd *pwbuf,
- struct passwd **pwbufp)
+ void **pwbufp)
{
char *buf, *buf2;
size_t buflen;
}
buf = buf2;
errno = 0;
- } while ((r = getpwuid_r (uid, &_pwbuf, buf, buflen, pwbufp)) &&
+ } while ((r = getpwuid_r (uid, &_pwbuf, buf, buflen, (struct passwd**) pwbufp)) &&
recheck_range (r));
if (r == 0 && copy_passwd (pwbuf, &_pwbuf) == -1)
#ifdef HAVE_FGETPWENT
gint32
-Mono_Posix_Syscall_fgetpwent (FILE *stream, struct Mono_Posix_Syscall__Passwd *pwbuf)
+Mono_Posix_Syscall_fgetpwent (void *stream, struct Mono_Posix_Syscall__Passwd *pwbuf)
{
struct passwd *pw;
}
errno = 0;
- pw = fgetpwent (stream);
+ pw = fgetpwent ((FILE*) stream);
if (pw == NULL)
return -1;
}
#endif /* ndef HAVE_FGETPWENT */
+int
+Mono_Posix_Syscall_setpwent (void)
+{
+ errno = 0;
+ setpwent ();
+ return errno == 0 ? 0 : -1;
+}
+
+int
+Mono_Posix_Syscall_endpwent (void)
+{
+ errno = 0;
+ endpwent ();
+ return errno == 0 ? 0 : -1;
+}
+
G_END_DECLS
/*