drop direct use of stat syscalls in fchmodat
[musl] / include / pwd.h
index 38e856d..4f470b5 100644 (file)
@@ -5,14 +5,19 @@
 extern "C" {
 #endif
 
+#include <features.h>
+
 #define __NEED_size_t
 #define __NEED_uid_t
 #define __NEED_gid_t
 
+#ifdef _GNU_SOURCE
+#define __NEED_FILE
+#endif
+
 #include <bits/alltypes.h>
 
-struct passwd
-{
+struct passwd {
        char *pw_name;
        char *pw_passwd;
        uid_t pw_uid;
@@ -22,9 +27,11 @@ struct passwd
        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 *);
@@ -32,7 +39,8 @@ int getpwuid_r (uid_t, struct passwd *, char *, size_t, struct passwd **);
 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