1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#ifndef _GRP_H
#define _GRP_H
#include <stddef.h>
#include <stdio.h>
#include <abi-bits/gid_t.h>
#ifdef __cplusplus
extern "C" {
#endif
struct group {
char *gr_name;
char *gr_passwd;
gid_t gr_gid;
char **gr_mem;
};
#ifndef __MLIBC_ABI_ONLY
void endgrent(void);
struct group *getgrent(void);
struct group *getgrgid(gid_t);
int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
struct group *getgrnam(const char *);
int getgrnam_r(const char *, struct group *, char *, size_t, struct group **);
void setgrent(void);
int putgrent(const struct group *, FILE *);
struct group *fgetgrent(FILE *);
int setgroups(size_t size, const gid_t *list);
int initgroups(const char *user, gid_t group);
// Non standard extension
int getgrouplist(const char *, gid_t, gid_t *, int *);
#endif /* !__MLIBC_ABI_ONLY */
#ifdef __cplusplus
}
#endif
#endif // _GRP_H
|