Index: fusl/include/grp.h |
diff --git a/fusl/include/grp.h b/fusl/include/grp.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b331d3264c0f1eb4a9844d8a54e4143e514d9609 |
--- /dev/null |
+++ b/fusl/include/grp.h |
@@ -0,0 +1,52 @@ |
+#ifndef _GRP_H |
+#define _GRP_H |
+ |
+#ifdef __cplusplus |
+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 |
+{ |
+ char *gr_name; |
+ char *gr_passwd; |
+ gid_t gr_gid; |
+ char **gr_mem; |
+}; |
+ |
+struct group *getgrgid(gid_t); |
+struct group *getgrnam(const char *); |
+ |
+int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **); |
+int getgrnam_r(const char *, struct group *, char *, size_t, struct group **); |
+ |
+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 |
+ |
+#endif |