gentoo: use /var/run for new /run compatibility
[util-vserver.git] / lib / vserver.h
index 4233e33..b2858fa 100644 (file)
 #define VC_VXC_ADMIN_CLOOP             0x00400000ull
 
 #define VC_VXC_KTHREAD                 0x01000000ull
+#define VC_VXC_NAMESPACE               0x02000000ull
 
 
 // the scheduler flags
 
 // the VCI bit values
 #define VC_VCI_NO_DYNAMIC              (1 << 0)
+#define VC_VCI_PROC_SECURE             (1 << 4)
+#define VC_VCI_HARDCPU                 (1 << 5)
+#define VC_VCI_IDLELIMIT               (1 << 6)
+#define VC_VCI_IDLETIME                        (1 << 7)
+#define VC_VCI_COWBL                   (1 << 8)
+#define VC_VCI_FULLCOWBL               (1 << 9)
 #define VC_VCI_SPACES                  (1 << 10)
 #define VC_VCI_NETV2                   (1 << 11)
+#define VC_VCI_MEMCG                   (1 << 12)
+#define VC_VCI_DEBUG                   (1 << 16)
+#define VC_VCI_HISTORY                 (1 << 20)
+#define VC_VCI_TAGGED                  (1 << 24)
 #define VC_VCI_PPTAG                   (1 << 28)
 
 
@@ -381,6 +392,8 @@ extern "C" {
      */
   vc_vci_t     vc_get_vci();
 
+  int          vc_get_kernel();
+
     /** \brief   Moves current process into a context
      *  \ingroup syscalls
      *
@@ -849,6 +862,15 @@ extern "C" {
   int          vc_set_badness(xid_t xid, int64_t badness);
 
 
+  /** \brief   Namespaces allowed to unshare */
+  struct vc_umask {
+      uint_least64_t   umask;
+      uint_least64_t   mask;
+  };
+
+  int          vc_get_umask(xid_t xid, struct vc_umask *umask);
+  int          vc_set_umask(xid_t xid, struct vc_umask const *umask);
+
   /** \brief    Information about parsing errors
    *  \ingroup  helper
    */
@@ -921,7 +943,10 @@ extern "C" {
   int                  vc_list2ccap(char const *, size_t len,
                                     struct vc_err_listparser *err,
                                     struct vc_ctx_caps *);
-
+  char const *         vc_loumask2text(uint_least64_t *);
+  int                  vc_list2umask(char const *, size_t len,
+                                    struct vc_err_listparser *err,
+                                    struct vc_umask *);
   int                  vc_list2cflag(char const *, size_t len,
                                     struct vc_err_listparser *err,
                                     struct vc_ctx_flags *flags);
@@ -979,7 +1004,8 @@ extern "C" {
                  vcFEATURE_VSHELPER0, vcFEATURE_VSHELPER, vcFEATURE_VWAIT,
                 vcFEATURE_VNET,   vcFEATURE_VSTAT,   vcFEATURE_PPTAG,
                 vcFEATURE_PIDSPACE, vcFEATURE_SPACES, vcFEATURE_PERSISTENT,
-                vcFEATURE_PIVOT_ROOT,
+                vcFEATURE_PIVOT_ROOT, vcFEATURE_MEMCG, vcFEATURE_DYNAMIC,
+                vcFEATURE_BME,
                 }
     vcFeatureSet;