Jelajahi Sumber

add linux-specific unshare syscall wrapper

Rich Felker 13 tahun lalu
induk
melakukan
50da5c264f
2 mengubah file dengan 9 tambahan dan 0 penghapusan
  1. 1 0
      include/sched.h
  2. 8 0
      src/linux/unshare.c

+ 1 - 0
include/sched.h

@@ -56,6 +56,7 @@ int     sched_yield(void);
 #define CLONE_NEWNET	0x40000000
 #define CLONE_NEWNET	0x40000000
 #define CLONE_IO	0x80000000
 #define CLONE_IO	0x80000000
 int clone (int (*)(void *), void *, int, void *, ...);
 int clone (int (*)(void *), void *, int, void *, ...);
+int unshare(int);
 #endif
 #endif
 
 
 #ifdef __cplusplus
 #ifdef __cplusplus

+ 8 - 0
src/linux/unshare.c

@@ -0,0 +1,8 @@
+#define _GNU_SOURCE
+#include <sched.h>
+#include "syscall.h"
+
+int unshare(int flags)
+{
+	return syscall(SYS_unshare, flags);
+}