extern "C" {
#endif
+#include <features.h>
+
#define __NEED_size_t
#define __NEED_uid_t
#define __NEED_gid_t
#include <bits/alltypes.h>
-struct passwd
-{
+struct passwd {
char *pw_name;
char *pw_passwd;
uid_t pw_uid;
char *pw_shell;
};
+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
void setpwent (void);
void endpwent (void);
struct passwd *getpwent (void);
+#endif
struct passwd *getpwuid (uid_t);
struct passwd *getpwnam (const char *);
int getpwnam_r (const char *, struct passwd *, char *, size_t, struct passwd **);
#ifdef _GNU_SOURCE
-char *getpass(const char *);
struct passwd *fgetpwent(FILE *);
+int putpwent(const struct passwd *, FILE *);
#endif
#ifdef __cplusplus