make brace placement in public header struct definitions consistent
[musl] / include / grp.h
1 #ifndef _GRP_H
2 #define _GRP_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #include <features.h>
9
10 #define __NEED_size_t
11 #define __NEED_gid_t
12
13 #ifdef _GNU_SOURCE
14 #define __NEED_FILE
15 #endif
16
17 #include <bits/alltypes.h>
18
19 struct group {
20         char *gr_name;
21         char *gr_passwd;
22         gid_t gr_gid;
23         char **gr_mem;
24 };
25
26 struct group  *getgrgid(gid_t);
27 struct group  *getgrnam(const char *);
28
29 int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
30 int getgrnam_r(const char *, struct group *, char *, size_t, struct group **);
31
32 struct group  *getgrent(void);
33 void           endgrent(void);
34 void           setgrent(void);
35
36 #ifdef _GNU_SOURCE
37 struct group  *fgetgrent(FILE *stream);
38 int putgrent(const struct group *, FILE *);
39 #endif
40
41 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
42 int getgrouplist(const char *, gid_t, gid_t *, int *);
43 int setgroups(size_t, const gid_t *);
44 int initgroups(const char *, gid_t);
45 #endif
46
47 #ifdef __cplusplus
48 }
49 #endif
50
51 #endif