remove __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS checks in stdint.h
[oweals/musl.git] / include / grp.h
index d4a3526a50936239d00ad66cde5873c7ce3d4f9a..b331d3264c0f1eb4a9844d8a54e4143e514d9609 100644 (file)
@@ -5,9 +5,15 @@
 extern "C" {
 #endif
 
+#include <features.h>
+
 #define __NEED_size_t
 #define __NEED_gid_t
 
+#ifdef _GNU_SOURCE
+#define __NEED_FILE
+#endif
+
 #include <bits/alltypes.h>
 
 struct group
@@ -28,6 +34,17 @@ struct group  *getgrent(void);
 void           endgrent(void);
 void           setgrent(void);
 
+#ifdef _GNU_SOURCE
+struct group  *fgetgrent(FILE *stream);
+int putgrent(const struct group *, FILE *);
+#endif
+
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+int getgrouplist(const char *, gid_t, gid_t *, int *);
+int setgroups(size_t, const gid_t *);
+int initgroups(const char *, gid_t);
+#endif
+
 #ifdef __cplusplus
 }
 #endif