add mips64 port
[musl.git] / include / grp.h
blobb331d3264c0f1eb4a9844d8a54e4143e514d9609
1 #ifndef _GRP_H
2 #define _GRP_H
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
8 #include <features.h>
10 #define __NEED_size_t
11 #define __NEED_gid_t
13 #ifdef _GNU_SOURCE
14 #define __NEED_FILE
15 #endif
17 #include <bits/alltypes.h>
19 struct group
21 char *gr_name;
22 char *gr_passwd;
23 gid_t gr_gid;
24 char **gr_mem;
27 struct group *getgrgid(gid_t);
28 struct group *getgrnam(const char *);
30 int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
31 int getgrnam_r(const char *, struct group *, char *, size_t, struct group **);
33 struct group *getgrent(void);
34 void endgrent(void);
35 void setgrent(void);
37 #ifdef _GNU_SOURCE
38 struct group *fgetgrent(FILE *stream);
39 int putgrent(const struct group *, FILE *);
40 #endif
42 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
43 int getgrouplist(const char *, gid_t, gid_t *, int *);
44 int setgroups(size_t, const gid_t *);
45 int initgroups(const char *, gid_t);
46 #endif
48 #ifdef __cplusplus
50 #endif
52 #endif