aboutsummaryrefslogtreecommitdiff
path: root/include/pwd.h
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-01-27 06:01:43 +0000
committerEric Andersen <andersen@codepoet.org>2001-01-27 06:01:43 +0000
commitab050f5522e843bf08994685134adaaac7ffd392 (patch)
treee3f2fbeb43186bbe44fb58ba5a7f6a3c4843c1a5 /include/pwd.h
parent3654ca56fae6e3bdcb7369bc21d2b41d460ef732 (diff)
downloadbusybox-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/pwd.h')
-rw-r--r--include/pwd.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/include/pwd.h b/include/pwd.h
new file mode 100644
index 000000000..82743f5ad
--- /dev/null
+++ b/include/pwd.h
@@ -0,0 +1,51 @@
+#ifndef __BB_PWD_H
+#define __BB_PWD_H
+
+#if defined USE_SYSTEM_PWD_GRP
+#include <pwd.h>
+#else
+
+#define bb_setpwent setpwent
+#define bb_endpwent endpwent
+#define bb_getpwent getpwent
+#define bb_putpwent putpwent
+#define bb_getpw getpw
+#define bb_fgetpwent fgetpwent
+#define bb_getpwuid getpwuid
+#define bb_getpwnam getpwnam
+#define __bb_getpwent __bb_getpwent
+
+
+#include <sys/types.h>
+#include <features.h>
+#include <stdio.h>
+
+/* The passwd structure. */
+struct passwd
+{
+ char *pw_name; /* Username. */
+ char *pw_passwd; /* Password. */
+ uid_t pw_uid; /* User ID. */
+ gid_t pw_gid; /* Group ID. */
+ char *pw_gecos; /* Real name. */
+ char *pw_dir; /* Home directory. */
+ char *pw_shell; /* Shell program. */
+};
+
+extern void bb_setpwent __P ((void));
+extern void bb_endpwent __P ((void));
+extern struct passwd * bb_getpwent __P ((void));
+
+extern int bb_putpwent __P ((__const struct passwd * __p, FILE * __f));
+extern int bb_getpw __P ((uid_t uid, char *buf));
+
+extern struct passwd * bb_fgetpwent __P ((FILE * file));
+
+extern struct passwd * bb_getpwuid __P ((__const uid_t));
+extern struct passwd * bb_getpwnam __P ((__const char *));
+
+extern struct passwd * __bb_getpwent __P ((__const int passwd_fd));
+
+#endif /* USE_SYSTEM_PWD_GRP */
+#endif /* __BB_PWD_H */
+