Use status for the process count instead since persistent adds a task there.
[util-vserver.git] / lib / vserver.h
index 20b35f0..5ab9bc4 100644 (file)
@@ -28,6 +28,7 @@
 #include <stdlib.h>
 #include <stdbool.h>
 #include <sys/types.h>
+#include <sched.h>
 
 #ifndef IS_DOXYGEN
 #if defined(__GNUC__)
 #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_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)
+
+
+// the device mapping flags
+#define VC_DATTR_CREATE                        0x00000001
+#define VC_DATTR_OPEN                  0x00000002
+
+#define VC_DATTR_REMAP                 0x00000010
+
+
+#ifndef CLONE_NEWNS
+#  define CLONE_NEWNS                  0x00020000
+#endif
+#ifndef CLONE_NEWUTS
+#  define CLONE_NEWUTS                 0x04000000
+#endif
+#ifndef CLONE_NEWIPC
+#  define CLONE_NEWIPC                 0x08000000
+#endif
 
 
 
@@ -605,9 +632,10 @@ extern "C" {
     /** 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
@@ -828,6 +856,8 @@ extern "C" {
    *  \ingroup syscalls
    */
   int          vc_wait_exit(xid_t xid);
+
+  int          vc_set_mapping(xid_t xid, const char *device, const char *target, uint32_t flags);
     
   typedef enum { vcFEATURE_VKILL,  vcFEATURE_IATTR,   vcFEATURE_RLIMIT,
                 vcFEATURE_COMPAT, vcFEATURE_MIGRATE, vcFEATURE_NAMESPACE,