فهرست منبع

add linux setfs[ug]id syscall wrappers

patch by Jeremy Huntwork
Rich Felker 13 سال پیش
والد
کامیت
4619901ec4
3فایلهای تغییر یافته به همراه36 افزوده شده و 0 حذف شده
  1. 20 0
      include/sys/fsuid.h
  2. 8 0
      src/linux/setfsgid.c
  3. 8 0
      src/linux/setfsuid.c

+ 20 - 0
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

+ 8 - 0
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);
+}

+ 8 - 0
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);
+}