diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-01-28 21:09:50 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-01-28 21:09:50 -0500 |
commit | 4619901ec4b82d233a24e26ef3df01ddadc2d013 (patch) | |
tree | 837c6280bcbf1a92214a1b52ff73eca97eedd46b | |
parent | c3db56c4cb2b5eb06cbf46b8fe526f4fe7e10321 (diff) | |
download | musl-4619901ec4b82d233a24e26ef3df01ddadc2d013.tar.gz |
add linux setfs[ug]id syscall wrappers
patch by Jeremy Huntwork
-rw-r--r-- | include/sys/fsuid.h | 20 | ||||
-rw-r--r-- | src/linux/setfsgid.c | 8 | ||||
-rw-r--r-- | src/linux/setfsuid.c | 8 |
3 files changed, 36 insertions, 0 deletions
diff --git a/include/sys/fsuid.h b/include/sys/fsuid.h new file mode 100644 index 00000000..f62184c5 --- /dev/null +++ b/include/sys/fsuid.h @@ -0,0 +1,20 @@ +#ifndef _FSUID_H +#define _FSUID_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_uid_t +#define __NEED_gid_t + +#include <bits/alltypes.h> + +int setfsuid(uid_t); +int setfsgid(gid_t); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/linux/setfsgid.c b/src/linux/setfsgid.c new file mode 100644 index 00000000..a7ed9e92 --- /dev/null +++ b/src/linux/setfsgid.c @@ -0,0 +1,8 @@ +#include <unistd.h> +#include "syscall.h" +#include "libc.h" + +int setfsgid(gid_t gid) +{ + return syscall(SYS_setfsgid, gid); +} diff --git a/src/linux/setfsuid.c b/src/linux/setfsuid.c new file mode 100644 index 00000000..1509e0aa --- /dev/null +++ b/src/linux/setfsuid.c @@ -0,0 +1,8 @@ +#include <unistd.h> +#include "syscall.h" +#include "libc.h" + +int setfsuid(uid_t uid) +{ + return syscall(SYS_setfsuid, uid); +} |