提交 1db283bf 编写于 作者: R Rich Felker

add setresuid/setresgid functions (nonstandard)

上级 7fd39952
......@@ -154,6 +154,8 @@ int sethostname(const char *, size_t);
int usleep(unsigned);
unsigned ualarm(unsigned, unsigned);
int setgroups(int, const gid_t []);
int setresuid(uid_t, uid_t, uid_t);
int setresgid(gid_t, gid_t, gid_t);
#endif
#define _XOPEN_VERSION 700
......
#define _GNU_SOURCE
#include <unistd.h>
#include "syscall.h"
#include "libc.h"
int setresgid(gid_t rgid, gid_t egid, gid_t sgid)
{
if (libc.rsyscall) return libc.rsyscall(__NR_setresgid, rgid, egid, sgid, 0, 0, 0);
return syscall(SYS_setresgid, rgid, egid, sgid);
}
#define _GNU_SOURCE
#include <unistd.h>
#include "syscall.h"
#include "libc.h"
int setresuid(uid_t ruid, uid_t euid, uid_t suid)
{
if (libc.rsyscall) return libc.rsyscall(__NR_setresuid, ruid, euid, suid, 0, 0, 0);
return syscall(SYS_setresuid, ruid, euid, suid);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册