aboutsummaryrefslogtreecommitdiff
path: root/std/os/linux.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-09-26 02:42:06 -0400
committerAndrew Kelley <superjoe30@gmail.com>2017-09-26 02:42:06 -0400
commitfd2d502e411c45828ebdf1008c5060db8749ef31 (patch)
treea116b0e692198f52396e426393a9311c8652c221 /std/os/linux.zig
parentcba4a9ad4a149766c650e3f3d71435cef14867a3 (diff)
downloadzig-fd2d502e411c45828ebdf1008c5060db8749ef31.tar.gz
zig-fd2d502e411c45828ebdf1008c5060db8749ef31.zip
std.os.ChildProcess: ability to set both uid and gid
Diffstat (limited to 'std/os/linux.zig')
-rw-r--r--std/os/linux.zig12
1 files changed, 12 insertions, 0 deletions
diff --git a/std/os/linux.zig b/std/os/linux.zig
index 16a368ffbe..dea89be1fd 100644
--- a/std/os/linux.zig
+++ b/std/os/linux.zig
@@ -484,6 +484,18 @@ pub fn setuid(uid: u32) -> usize {
arch.syscall1(arch.SYS_setuid, uid)
}
+pub fn setgid(gid: u32) -> usize {
+ arch.syscall1(arch.SYS_setgid, gid)
+}
+
+pub fn setreuid(ruid: u32, euid: u32) -> usize {
+ arch.syscall2(arch.SYS_setreuid, ruid, euid)
+}
+
+pub fn setregid(rgid: u32, egid: u32) -> usize {
+ arch.syscall2(arch.SYS_setregid, rgid, egid)
+}
+
pub fn sigprocmask(flags: u32, noalias set: &const sigset_t, noalias oldset: ?&sigset_t) -> usize {
arch.syscall4(arch.SYS_rt_sigprocmask, flags, @ptrToInt(set), @ptrToInt(oldset), NSIG/8)
}