added $(src_legacy_*)
[util-vserver.git] / util-vserver / lib / vserver.h
index a64deaa..f3ad36e 100644 (file)
 #define VC_IATTR_ADMIN                 0x00000001
 #define VC_IATTR_WATCH                 0x00000002
 #define VC_IATTR_HIDE                  0x00000004
+#define VC_IATTR_FLAGS                 0x00000007
 
 #define VC_IATTR_BARRIER               0x00010000
 #define        VC_IATTR_IUNLINK                0x00020000
-
+#define VC_IATTR_IMMUTABLE             0x00040000
 
 #ifdef __cplusplus
 extern "C" {
@@ -137,13 +138,13 @@ extern "C" {
     /** Sets the ipv4root information.
      *  \precondition: nb<16 */
   int  vc_set_ipv4root(uint32_t  bcast, size_t nb, struct vc_ip_mask_pair const *ips);
-  
-  /* rlimit related functions */
-  typedef uint64_t     vc_limit_t;
 
   xid_t        vc_create_context(xid_t xid);
   int  vc_migrate_context(xid_t xid);
   
+  /* rlimit related functions */
+  typedef uint64_t     vc_limit_t;
   struct vc_rlimit {
       vc_limit_t min;
       vc_limit_t soft;
@@ -231,7 +232,24 @@ extern "C" {
     if (vc_get_iattr(filename, &res, 0,0)==-1) return VC_NOCTX;
     return res;
   }
+
+
+  struct vc_set_sched {
+      int32_t  fill_rate;
+      int32_t  period;
+      int32_t  fill_level;
+      int32_t  bucket_size;
+  };
+
+  int          vc_set_sched(xid_t xid, struct vc_set_sched const *);
+  
   
+  typedef enum { vcFEATURE_VKILL,  vcFEATURE_IATTR,   vcFEATURE_RLIMIT,
+                vcFEATURE_COMPAT, vcFEATURE_MIGRATE, vcFEATURE_NAMESPACE,
+                vcFEATURE_SCHED,  vcFEATURE_VINFO,   vcFEATURE_VHI }
+    vcFeatureSet;
+
+  bool         vc_isSupported(vcFeatureSet);
   
   /* The management part */