vshost-util-vserver

Build script and sources for util-vserver.
git clone https://ccx.te2000.cz/git/vshost-util-vserver
Log | Files | Refs

sys_unshare.h (2672B)


      1 // $Id$    --*- c -*--
      2 
      3 // Copyright (C) 2007 Daniel Hokka Zakrisson
      4 //  
      5 // This program is free software; you can redistribute it and/or modify
      6 // it under the terms of the GNU General Public License as published by
      7 // the Free Software Foundation; version 2 of the License.
      8 //  
      9 // This program is distributed in the hope that it will be useful,
     10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
     11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12 // GNU General Public License for more details.
     13 //  
     14 // You should have received a copy of the GNU General Public License
     15 // along with this program; if not, write to the Free Software
     16 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
     17 
     18 
     19 #ifndef H_UTIL_VSERVER_SRC_SYS_UNSHARE_H
     20 #define H_UTIL_VSERVER_SRC_SYS_UNSHARE_H
     21 
     22 #include <unistd.h>
     23 #include "lib/syscall-wrap.h"
     24 
     25 #ifndef __NR_unshare
     26 #  if defined(__alpha__)
     27 #    define __NR_unshare	465
     28 #  elif defined(__arm__)
     29 #    define __NR_unshare	337
     30 #  elif defined(__avr32__)
     31 #    define __NR_unshare	258
     32 #  elif defined(__blackfin__)
     33 #    define __NR_unshare	310
     34 #  elif defined(__frv__)
     35 #    define __NR_unshare	310
     36 #  elif defined(__h8300__)
     37 #    define __NR_unshare	310
     38 #  elif defined(__i386__)
     39 #    define __NR_unshare	310
     40 #  elif defined(__ia64__)
     41 #    define __NR_unshare	1296
     42 #  elif defined(__m68knommu__)
     43 #    define __NR_unshare	303
     44 #  elif defined(__m68k__)
     45 #    define __NR_unshare	303
     46 #  elif defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_ABI32)
     47 #    define __NR_unshare	303
     48 #  elif defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_ABI64)
     49 #    define __NR_unshare	262
     50 #  elif defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_NABI32)
     51 #    define __NR_unshare	266
     52 #  elif defined(__parisc__)
     53 #    define __NR_unshare	288
     54 #  elif defined(__powerpc__)
     55 #    define __NR_unshare	282
     56 #  elif defined(__s390__)
     57 #    define __NR_unshare	303
     58 #  elif defined(__sh64__)
     59 #    define __NR_unshare	338
     60 #  elif defined(__sh__)
     61 #    define __NR_unshare	310
     62 #  elif defined(__sparc64__)
     63 #    define __NR_unshare	299
     64 #  elif defined(__sparc__)
     65 #    define __NR_unshare	299
     66 #  elif defined(__x86_64__)
     67 #    define __NR_unshare	272
     68 #  else
     69 #    error Sorry, don't know unshare's syscall number for this architecture.
     70 #  endif
     71 #endif
     72 
     73 #define __NR_sys_unshare	__NR_unshare
     74 
     75 #ifndef ENSC_SYSCALL_TRADITIONAL
     76 #  include <errno.h>
     77 
     78 inline static UNUSED ALWAYSINLINE
     79 _syscall1(int, sys_unshare, int, flags)
     80 #else
     81 inline static UNUSED ALWAYSINLINE
     82 int sys_unshare(int flags)
     83 {
     84   return syscall(__NR_sys_unshare, flags);
     85 }
     86 #endif
     87 
     88 #undef __NR_sys_unshare
     89 
     90 #define ENSC_HAVE_SYSUNSHARE		1
     91   
     92 #endif	//  H_UTIL_VSERVER_SRC_SYS_UNSHARE_H