#include <stdlib.h>
#include <stdbool.h>
#include <sys/types.h>
+#include <sched.h>
#ifndef IS_DOXYGEN
#if defined(__GNUC__)
// the network flags
#define VC_NXF_INFO_LOCK 0x00000001ull
+#define VC_NXF_INFO_PRIVATE 0x00000008ull
+
+#define VC_NXF_SINGLE_IP 0x00000100ull
+
+#define VC_NXF_HIDE_NETIF 0x02000000ull
#define VC_NXF_STATE_SETUP (1ULL<<32)
#define VC_NXF_STATE_ADMIN (1ULL<<34)
#define VC_VLIMIT_SEMARY 20
#define VC_VLIMIT_NSEMS 21
#define VC_VLIMIT_DENTRY 22
+#define VC_VLIMIT_MAPPED 23
+
+
+// the VCI bit values
+#define VC_VCI_NO_DYNAMIC (1 << 0)
+#define VC_VCI_SPACES (1 << 10)
+
+
+#ifndef CLONE_NEWNS
+# define CLONE_NEWNS 0x00020000
+#endif
+#ifndef CLONE_NEWUTS
+# define CLONE_NEWUTS 0x04000000
+#endif
+#ifndef CLONE_NEWIPC
+# define CLONE_NEWIPC 0x08000000
+#endif
/** Returns true iff \a xid is a dynamic xid */
bool vc_is_dynamic_xid(xid_t xid);
- int vc_enter_namespace(xid_t xid);
- int vc_set_namespace();
+ int vc_enter_namespace(xid_t xid, uint_least64_t mask);
+ int vc_set_namespace(xid_t xid, uint_least64_t mask);
int vc_cleanup_namespace();
+ uint_least64_t vc_get_space_mask();
/** \brief Flags of process-contexts