about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--include/unistd.h2
-rw-r--r--src/misc/getresgid.c8
-rw-r--r--src/misc/getresuid.c8
3 files changed, 18 insertions, 0 deletions
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 <unistd.h>
+#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 <unistd.h>
+#include "syscall.h"
+
+int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid)
+{
+	return syscall(SYS_getresuid, ruid, euid, suid);
+}