musl - musl - an implementation of the standard library for Linux-based systems

index : musl
musl - an implementation of the standard library for Linux-based systems
summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012年01月28日 21:09:50 -0500
committerRich Felker <dalias@aerifal.cx>2012年01月28日 21:09:50 -0500
commit4619901ec4b82d233a24e26ef3df01ddadc2d013 (patch)
tree837c6280bcbf1a92214a1b52ff73eca97eedd46b
parentc3db56c4cb2b5eb06cbf46b8fe526f4fe7e10321 (diff)
downloadmusl-4619901ec4b82d233a24e26ef3df01ddadc2d013.tar.gz
add linux setfs[ug]id syscall wrappers
patch by Jeremy Huntwork
Diffstat
-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);
+}
generated by cgit v1.2.1 (git 2.18.0) at 2025年09月07日 03:16:49 +0000

AltStyle によって変換されたページ (->オリジナル) /