aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os/linux.zig
diff options
context:
space:
mode:
authorIsaac Freund <ifreund@ifreund.xyz>2020-09-03 15:08:37 +0200
committerIsaac Freund <ifreund@ifreund.xyz>2020-09-03 15:08:37 +0200
commite8a2aecd2f3ed13d7b9fb74248d455752de19840 (patch)
tree51174f1e23ebdb9bd52eeb452f465e5f273a3c6d /lib/std/os/linux.zig
parent26140678a5c72604f2baac3cb9d1e5f7b37b6b8d (diff)
downloadzig-e8a2aecd2f3ed13d7b9fb74248d455752de19840.tar.gz
zig-e8a2aecd2f3ed13d7b9fb74248d455752de19840.zip
std: fix linux uid_t, use uid_t/gid_t in std.os
- correct uid_t from i32 to u32 on linux - define uid_t and gid_t for OSes missing definitions - use uid_t/gid_t instead of plain u32s throughout std.os
Diffstat (limited to 'lib/std/os/linux.zig')
-rw-r--r--lib/std/os/linux.zig52
1 files changed, 26 insertions, 26 deletions
diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig
index 13094b3a3a..5e2a554018 100644
--- a/lib/std/os/linux.zig
+++ b/lib/std/os/linux.zig
@@ -655,7 +655,7 @@ pub fn nanosleep(req: *const timespec, rem: ?*timespec) usize {
return syscall2(.nanosleep, @ptrToInt(req), @ptrToInt(rem));
}
-pub fn setuid(uid: u32) usize {
+pub fn setuid(uid: uid_t) usize {
if (@hasField(SYS, "setuid32")) {
return syscall1(.setuid32, uid);
} else {
@@ -663,7 +663,7 @@ pub fn setuid(uid: u32) usize {
}
}
-pub fn setgid(gid: u32) usize {
+pub fn setgid(gid: gid_t) usize {
if (@hasField(SYS, "setgid32")) {
return syscall1(.setgid32, gid);
} else {
@@ -671,7 +671,7 @@ pub fn setgid(gid: u32) usize {
}
}
-pub fn setreuid(ruid: u32, euid: u32) usize {
+pub fn setreuid(ruid: uid_t, euid: uid_t) usize {
if (@hasField(SYS, "setreuid32")) {
return syscall2(.setreuid32, ruid, euid);
} else {
@@ -679,7 +679,7 @@ pub fn setreuid(ruid: u32, euid: u32) usize {
}
}
-pub fn setregid(rgid: u32, egid: u32) usize {
+pub fn setregid(rgid: gid_t, egid: gid_t) usize {
if (@hasField(SYS, "setregid32")) {
return syscall2(.setregid32, rgid, egid);
} else {
@@ -687,47 +687,47 @@ pub fn setregid(rgid: u32, egid: u32) usize {
}
}
-pub fn getuid() u32 {
+pub fn getuid() uid_t {
if (@hasField(SYS, "getuid32")) {
- return @as(u32, syscall0(.getuid32));
+ return @as(uid_t, syscall0(.getuid32));
} else {
- return @as(u32, syscall0(.getuid));
+ return @as(uid_t, syscall0(.getuid));
}
}
-pub fn getgid() u32 {
+pub fn getgid() gid_t {
if (@hasField(SYS, "getgid32")) {
- return @as(u32, syscall0(.getgid32));
+ return @as(gid_t, syscall0(.getgid32));
} else {
- return @as(u32, syscall0(.getgid));
+ return @as(gid_t, syscall0(.getgid));
}
}
-pub fn geteuid() u32 {
+pub fn geteuid() uid_t {
if (@hasField(SYS, "geteuid32")) {
- return @as(u32, syscall0(.geteuid32));
+ return @as(uid_t, syscall0(.geteuid32));
} else {
- return @as(u32, syscall0(.geteuid));
+ return @as(uid_t, syscall0(.geteuid));
}
}
-pub fn getegid() u32 {
+pub fn getegid() gid_t {
if (@hasField(SYS, "getegid32")) {
- return @as(u32, syscall0(.getegid32));
+ return @as(gid_t, syscall0(.getegid32));
} else {
- return @as(u32, syscall0(.getegid));
+ return @as(gid_t, syscall0(.getegid));
}
}
-pub fn seteuid(euid: u32) usize {
- return setreuid(std.math.maxInt(u32), euid);
+pub fn seteuid(euid: uid_t) usize {
+ return setresuid(std.math.maxInt(uid_t), euid);
}
-pub fn setegid(egid: u32) usize {
- return setregid(std.math.maxInt(u32), egid);
+pub fn setegid(egid: gid_t) usize {
+ return setregid(std.math.maxInt(gid_t), egid);
}
-pub fn getresuid(ruid: *u32, euid: *u32, suid: *u32) usize {
+pub fn getresuid(ruid: *uid_t, euid: *uid_t, suid: *uid_t) usize {
if (@hasField(SYS, "getresuid32")) {
return syscall3(.getresuid32, @ptrToInt(ruid), @ptrToInt(euid), @ptrToInt(suid));
} else {
@@ -735,7 +735,7 @@ pub fn getresuid(ruid: *u32, euid: *u32, suid: *u32) usize {
}
}
-pub fn getresgid(rgid: *u32, egid: *u32, sgid: *u32) usize {
+pub fn getresgid(rgid: *gid_t, egid: *gid_t, sgid: *gid_t) usize {
if (@hasField(SYS, "getresgid32")) {
return syscall3(.getresgid32, @ptrToInt(rgid), @ptrToInt(egid), @ptrToInt(sgid));
} else {
@@ -743,7 +743,7 @@ pub fn getresgid(rgid: *u32, egid: *u32, sgid: *u32) usize {
}
}
-pub fn setresuid(ruid: u32, euid: u32, suid: u32) usize {
+pub fn setresuid(ruid: uid_t, euid: uid_t, suid: uid_t) usize {
if (@hasField(SYS, "setresuid32")) {
return syscall3(.setresuid32, ruid, euid, suid);
} else {
@@ -751,7 +751,7 @@ pub fn setresuid(ruid: u32, euid: u32, suid: u32) usize {
}
}
-pub fn setresgid(rgid: u32, egid: u32, sgid: u32) usize {
+pub fn setresgid(rgid: gid_t, egid: gid_t, sgid: gid_t) usize {
if (@hasField(SYS, "setresgid32")) {
return syscall3(.setresgid32, rgid, egid, sgid);
} else {
@@ -759,7 +759,7 @@ pub fn setresgid(rgid: u32, egid: u32, sgid: u32) usize {
}
}
-pub fn getgroups(size: usize, list: *u32) usize {
+pub fn getgroups(size: usize, list: *gid_t) usize {
if (@hasField(SYS, "getgroups32")) {
return syscall2(.getgroups32, size, @ptrToInt(list));
} else {
@@ -767,7 +767,7 @@ pub fn getgroups(size: usize, list: *u32) usize {
}
}
-pub fn setgroups(size: usize, list: *const u32) usize {
+pub fn setgroups(size: usize, list: *const gid_t) usize {
if (@hasField(SYS, "setgroups32")) {
return syscall2(.setgroups32, size, @ptrToInt(list));
} else {