summaryrefslogtreecommitdiff
path: root/include/unistd.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/unistd.h')
-rw-r--r--include/unistd.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/include/unistd.h b/include/unistd.h
index 6ef351eed..931fe9951 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -641,6 +641,24 @@ extern int setregid (__gid_t __rgid, __gid_t __egid) __THROW;
extern int setegid (__gid_t __gid) __THROW;
#endif /* Use BSD. */
+#ifdef __USE_GNU
+/* Fetch the effective user ID, real user ID, and saved-set user ID,
+ of the calling process. */
+extern int getresuid (__uid_t *__euid, __uid_t *__ruid, __uid_t *__suid);
+
+/* Fetch the effective group ID, real group ID, and saved-set group ID,
+ of the calling process. */
+extern int getresgid (__gid_t *__egid, __gid_t *__rgid, __gid_t *__sgid);
+
+/* Set the effective user ID, real user ID, and saved-set user ID,
+ of the calling process to EUID, RUID, and SUID, respectively. */
+extern int setresuid (__uid_t __euid, __uid_t __ruid, __uid_t __suid);
+
+/* Set the effective group ID, real group ID, and saved-set group ID,
+ of the calling process to EGID, RGID, and SGID, respectively. */
+extern int setresgid (__gid_t __egid, __gid_t __rgid, __gid_t __sgid);
+#endif
+
/* Clone the calling process, creating an exact copy.
Return -1 for errors, 0 to the new process,
@@ -728,7 +746,7 @@ extern int setlogin (__const char *__name) __THROW;
#endif
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
/* Put the name of the current host in no more than LEN bytes of NAME.
The result is null-terminated if LEN is large enough for the full
name and the terminator. */