Add in a patch to make busybox use the normal pwd.h and grp.h
[oweals/busybox.git] / include / grp.h
1 #ifndef __BB_GRP_H
2 #define __BB_GRP_H
3
4 #if defined USE_SYSTEM_PWD_GRP
5 #include <grp.h>
6 #else
7
8 #define bb_setgrent setgrent
9 #define bb_endgrent endgrent
10 #define bb_getgrent getgrent
11 #define bb_getgrgid getgrgid
12 #define bb_getgrnam getgrnam
13 #define bb_fgetgrent fgetgrent
14 #define bb_setgroups setgroups
15 #define bb_initgroups initgroups
16 #define __bb_getgrent __getgrent
17
18 #include <sys/types.h>
19 #include <features.h>
20 #include <stdio.h>
21
22 /* The group structure */
23 struct group
24 {
25   char *gr_name;                /* Group name.  */
26   char *gr_passwd;              /* Password.    */
27   gid_t gr_gid;                 /* Group ID.    */
28   char **gr_mem;                /* Member list. */
29 };
30
31 extern void bb_setgrent __P ((void));
32 extern void bb_endgrent __P ((void));
33 extern struct group * bb_getgrent __P ((void));
34
35 extern struct group * bb_getgrgid __P ((__const gid_t gid));
36 extern struct group * bb_getgrnam __P ((__const char * name));
37
38 extern struct group * bb_fgetgrent __P ((FILE * file));
39
40 extern int bb_setgroups __P ((size_t n, __const gid_t * groups));
41 extern int bb_initgroups __P ((__const char * user, gid_t gid));
42
43 extern struct group * __bb_getgrent __P ((int grp_fd));
44
45 #endif /* USE_SYSTEM_PWD_GRP */
46 #endif /* __BB_GRP_H */
47