Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2
[tpg/acess2.git] / Usermode / Libraries / libposix.so_src / grp.c
1 /*
2  * Acess2 POSIX Emulation Layer
3  * - By John Hodge
4  * 
5  * grp.c
6  * - Group management
7  */
8 #include <grp.h>
9 #include <string.h>
10 #include <errno.h>
11
12 // === GLOBALS ===
13 char    *group_wheel_members[] = {"root", NULL};
14 struct group    group_wheel = {
15         .gr_name = "wheel",
16         .gr_password = "",
17         .gr_gid = 0,
18         .gr_mem = group_wheel_members
19 };
20
21 // === CODE ===
22 int initgroups(const char *user, gid_t group)
23 {
24         if( strcmp(user, "root") != 0 ) {
25                 errno = EINVAL;
26                 return 1;
27         }
28         
29         return 0;
30 }
31 struct group *getgrnam(const char *name)
32 {
33         if( strcmp(name, group_wheel.gr_name) == 0 )
34         {
35                 return &group_wheel;
36         }
37         return NULL;
38 }
39
40 struct group *getgrgid(gid_t gid)
41 {
42         if( gid == 0 )
43                 return &group_wheel;
44         return NULL;
45 }
46
47 //extern int    getgrnam_r(const char *name, struct group *grp, char *buf, size_t buflen, struct group **result);
48 //extern int    getgrgid_r(gid_t gid, struct group *grp, char *buf, size_t buflen, struct group **result);
49
50

UCC git Repository :: git.ucc.asn.au