Kernel/LibC: Implement {get,set,init}groups
This allows dropping /etc/group parsing from the kernel :D
This commit is contained in:
@@ -14,7 +14,7 @@ __BEGIN_DECLS
|
||||
struct group
|
||||
{
|
||||
char* gr_name; /* The name of the group. */
|
||||
char* gr_passwd;/* The password of the group */
|
||||
char* gr_passwd; /* The password of the group */
|
||||
gid_t gr_gid; /* Numerical group ID. */
|
||||
char** gr_mem; /* Pointer to a null-terminated array of character pointers to member names. */
|
||||
};
|
||||
@@ -27,6 +27,9 @@ struct group* getgrnam(const char* name);
|
||||
int getgrnam_r(const char* name, struct group* grp, char* buffer, size_t bufsize, struct group** result);
|
||||
void setgrent(void);
|
||||
|
||||
int initgroups(const char* user, gid_t group);
|
||||
int setgroups(size_t size, const gid_t list[]);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
|
||||
@@ -111,6 +111,8 @@ __BEGIN_DECLS
|
||||
O(SYS_FLOCK, flock) \
|
||||
O(SYS_GET_NPROCESSOR, get_nprocessor) \
|
||||
O(SYS_FUTEX, futex) \
|
||||
O(SYS_GETGROUPS, getgroups) \
|
||||
O(SYS_SETGROUPS, setgroups) \
|
||||
|
||||
enum Syscall
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user