#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" {
/** 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;
int vc_enter_namespace(xid_t xid);
-
+ int vc_set_namespace();
+ int vc_cleanup_namespace();
struct vc_ctx_flags {
uint64_t flagword;
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 */