diff --git a/include/unistd.h b/include/unistd.h index ee7ee6d8..307f665c 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -158,6 +158,8 @@ unsigned ualarm(unsigned, unsigned); int setgroups(size_t, const gid_t []); int setresuid(uid_t, uid_t, uid_t); int setresgid(gid_t, gid_t, gid_t); +int getresuid(uid_t *, uid_t *, uid_t *); +int getresgid(gid_t *, gid_t *, gid_t *); char *get_current_dir_name(void); int daemon(int, int); int getdomainname(char *, size_t); diff --git a/src/misc/getresgid.c b/src/misc/getresgid.c new file mode 100644 index 00000000..d00d9a99 --- /dev/null +++ b/src/misc/getresgid.c @@ -0,0 +1,8 @@ +#define _GNU_SOURCE +#include +#include "syscall.h" + +int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid) +{ + return syscall(SYS_getresgid, rgid, egid, sgid); +} diff --git a/src/misc/getresuid.c b/src/misc/getresuid.c new file mode 100644 index 00000000..d75d5d40 --- /dev/null +++ b/src/misc/getresuid.c @@ -0,0 +1,8 @@ +#define _GNU_SOURCE +#include +#include "syscall.h" + +int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid) +{ + return syscall(SYS_getresuid, ruid, euid, suid); +}