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
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);