summaryrefslogtreecommitdiff
path: root/include/grp.h
diff options
context:
space:
mode:
authorEric Andersen2001-01-27 06:01:43 +0000
committerEric Andersen2001-01-27 06:01:43 +0000
commitab050f5522e843bf08994685134adaaac7ffd392 (patch)
treee3f2fbeb43186bbe44fb58ba5a7f6a3c4843c1a5 /include/grp.h
parent3654ca56fae6e3bdcb7369bc21d2b41d460ef732 (diff)
downloadbusybox-ab050f5522e843bf08994685134adaaac7ffd392.zip
busybox-ab050f5522e843bf08994685134adaaac7ffd392.tar.gz
Add in a patch to make busybox use the normal pwd.h and grp.h
functions. Add in simple implementations of these functions, which can, optionally, be used instead of the system versions. -Erik
Diffstat (limited to 'include/grp.h')
-rw-r--r--include/grp.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/include/grp.h b/include/grp.h
new file mode 100644
index 0000000..f27c466
--- /dev/null
+++ b/include/grp.h
@@ -0,0 +1,47 @@
+#ifndef __BB_GRP_H
+#define __BB_GRP_H
+
+#if defined USE_SYSTEM_PWD_GRP
+#include <grp.h>
+#else
+
+#define bb_setgrent setgrent
+#define bb_endgrent endgrent
+#define bb_getgrent getgrent
+#define bb_getgrgid getgrgid
+#define bb_getgrnam getgrnam
+#define bb_fgetgrent fgetgrent
+#define bb_setgroups setgroups
+#define bb_initgroups initgroups
+#define __bb_getgrent __getgrent
+
+#include <sys/types.h>
+#include <features.h>
+#include <stdio.h>
+
+/* The group structure */
+struct group
+{
+ char *gr_name; /* Group name. */
+ char *gr_passwd; /* Password. */
+ gid_t gr_gid; /* Group ID. */
+ char **gr_mem; /* Member list. */
+};
+
+extern void bb_setgrent __P ((void));
+extern void bb_endgrent __P ((void));
+extern struct group * bb_getgrent __P ((void));
+
+extern struct group * bb_getgrgid __P ((__const gid_t gid));
+extern struct group * bb_getgrnam __P ((__const char * name));
+
+extern struct group * bb_fgetgrent __P ((FILE * file));
+
+extern int bb_setgroups __P ((size_t n, __const gid_t * groups));
+extern int bb_initgroups __P ((__const char * user, gid_t gid));
+
+extern struct group * __bb_getgrent __P ((int grp_fd));
+
+#endif /* USE_SYSTEM_PWD_GRP */
+#endif /* __BB_GRP_H */
+