From 1aa2156f72a7b981ec1275139a6812711952a81b Mon Sep 17 00:00:00 2001 From: Wildan M Date: Fri, 17 Oct 2025 15:44:18 +0700 Subject: [PATCH 1/2] redox: add setresgid and setresuid --- libc-test/semver/redox.txt | 2 ++ src/unix/redox/mod.rs | 2 ++ 2 files changed, 4 insertions(+) diff --git a/libc-test/semver/redox.txt b/libc-test/semver/redox.txt index b7aaa5706d626..360c0fc29f21a 100644 --- a/libc-test/semver/redox.txt +++ b/libc-test/semver/redox.txt @@ -324,6 +324,8 @@ reallocarray rlim_t setgrent setpwent +setresgid +setresuid setrlimit setservent sigqueue diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs index 3f0bf0bb5954e..f32b413201832 100644 --- a/src/unix/redox/mod.rs +++ b/src/unix/redox/mod.rs @@ -1186,6 +1186,8 @@ extern "C" { // unistd.h pub fn pipe2(fds: *mut c_int, flags: c_int) -> c_int; pub fn getdtablesize() -> c_int; + pub fn setresgid(rgid: crate::gid_t, egid: crate::gid_t, sgid: crate::gid_t) -> c_int; + pub fn setresuid(ruid: crate::uid_t, euid: crate::uid_t, suid: crate::uid_t) -> c_int; // grp.h pub fn getgrent() -> *mut crate::group; From e82dfcee947ca47241da065bb106d2fdae912d7f Mon Sep 17 00:00:00 2001 From: Wildan M Date: Fri, 17 Oct 2025 16:10:53 +0700 Subject: [PATCH 2/2] redox: define getresgid and getresuid --- libc-test/semver/redox.txt | 2 ++ src/unix/redox/mod.rs | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/libc-test/semver/redox.txt b/libc-test/semver/redox.txt index 360c0fc29f21a..e993475f20b4b 100644 --- a/libc-test/semver/redox.txt +++ b/libc-test/semver/redox.txt @@ -302,6 +302,8 @@ getgrouplist getline getpwent getpwnam_r +getresgid +getresuid getrlimit getrusage getservbyport diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs index f32b413201832..c46d6b9341401 100644 --- a/src/unix/redox/mod.rs +++ b/src/unix/redox/mod.rs @@ -1186,6 +1186,16 @@ extern "C" { // unistd.h pub fn pipe2(fds: *mut c_int, flags: c_int) -> c_int; pub fn getdtablesize() -> c_int; + pub fn getresgid( + rgid: *mut crate::gid_t, + egid: *mut crate::gid_t, + sgid: *mut crate::gid_t, + ) -> c_int; + pub fn getresuid( + ruid: *mut crate::uid_t, + euid: *mut crate::uid_t, + suid: *mut crate::uid_t, + ) -> c_int; pub fn setresgid(rgid: crate::gid_t, egid: crate::gid_t, sgid: crate::gid_t) -> c_int; pub fn setresuid(ruid: crate::uid_t, euid: crate::uid_t, suid: crate::uid_t) -> c_int;