add setresuid/setresgid functions (nonstandard)
This commit is contained in:
@@ -154,6 +154,8 @@ int sethostname(const char *, size_t);
|
|||||||
int usleep(unsigned);
|
int usleep(unsigned);
|
||||||
unsigned ualarm(unsigned, unsigned);
|
unsigned ualarm(unsigned, unsigned);
|
||||||
int setgroups(int, const gid_t []);
|
int setgroups(int, const gid_t []);
|
||||||
|
int setresuid(uid_t, uid_t, uid_t);
|
||||||
|
int setresgid(gid_t, gid_t, gid_t);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define _XOPEN_VERSION 700
|
#define _XOPEN_VERSION 700
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#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);
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#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);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user