From b1b3d3525bbc50a6781f57bfe423c7e18d64f625 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 22 Apr 2012 10:37:19 -0400 Subject: [PATCH] add getresuid and getresgid syscall wrappers --- include/unistd.h | 2 ++ src/misc/getresgid.c | 8 ++++++++ src/misc/getresuid.c | 8 ++++++++ 3 files changed, 18 insertions(+) create mode 100644 src/misc/getresgid.c create mode 100644 src/misc/getresuid.c 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); +}