X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib_internal%2Fsys_unshare.h;h=a1a49f7a3973fd367d3718526ce9e68c587acaea;hb=6bf3be76ddf5222618e57cbb40b0dfcac148aa81;hp=c174bad942ca0db5aaff0e12418015de14e7cf11;hpb=a6be71d3e49f0f633705ba5e4e08cc1cac811344;p=util-vserver.git diff --git a/lib_internal/sys_unshare.h b/lib_internal/sys_unshare.h index c174bad..a1a49f7 100644 --- a/lib_internal/sys_unshare.h +++ b/lib_internal/sys_unshare.h @@ -21,6 +21,55 @@ #include #include "lib/syscall-wrap.h" + +#ifndef __NR_unshare +# if defined(__alpha__) +# define __NR_unshare 465 +# elif defined(__arm__) +# define __NR_unshare 337 +# elif defined(__avr32__) +# define __NR_unshare 258 +# elif defined(__blackfin__) +# define __NR_unshare 310 +# elif defined(__frv__) +# define __NR_unshare 310 +# elif defined(__h8300__) +# define __NR_unshare 310 +# elif defined(__i386__) +# define __NR_unshare 310 +# elif defined(__ia64__) +# define __NR_unshare 1296 +# elif defined(__m68knommu__) +# define __NR_unshare 303 +# elif defined(__m68k__) +# define __NR_unshare 303 +# elif defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_ABI32) +# define __NR_unshare 303 +# elif defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_ABI64) +# define __NR_unshare 262 +# elif defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_NABI32) +# define __NR_unshare 266 +# elif defined(__parisc__) +# define __NR_unshare 288 +# elif defined(__powerpc__) +# define __NR_unshare 282 +# elif defined(__s390__) +# define __NR_unshare 303 +# elif defined(__sh64__) +# define __NR_unshare 338 +# elif defined(__sh__) +# define __NR_unshare 310 +# elif defined(__sparc64__) +# define __NR_unshare 299 +# elif defined(__sparc__) +# define __NR_unshare 299 +# elif defined(__x86_64__) +# define __NR_unshare 272 +# else +# error Sorry, don't know unshare's syscall number for this architecture. +# endif +#endif + #define __NR_sys_unshare __NR_unshare #ifndef ENSC_SYSCALL_TRADITIONAL @@ -32,7 +81,7 @@ _syscall1(int, sys_unshare, int, flags) inline static UNUSED ALWAYSINLINE int sys_unshare(int flags) { - return syscall(__NR_sys_clone, flags); + return syscall(__NR_sys_unshare, flags); } #endif