syscall_getspacemask-v21.hc (1139B)
1 // $Id$ --*- c -*-- 2 3 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> 4 // Copyright (C) 2006 Daniel Hokka Zakrisson 5 // 6 // This program is free software; you can redistribute it and/or modify 7 // it under the terms of the GNU General Public License as published by 8 // the Free Software Foundation; version 2 of the License. 9 // 10 // This program is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with this program; if not, write to the Free Software 17 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 19 20 #ifdef HAVE_CONFIG_H 21 # include <config.h> 22 #endif 23 24 static inline ALWAYSINLINE uint_least64_t 25 vc_get_space_mask_spaces(int UNUSED tmp) 26 { 27 struct vcmd_space_mask_v1 data = { .mask = 0 }; 28 int ret = vserver(VCMD_get_space_mask_v0, 0, &data); 29 if (ret) 30 return ret; 31 return data.mask & ~(CLONE_NEWNS|CLONE_FS); 32 }