X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fplanetlab.h;h=7127c3a68ff44baa2c7f9a3bd7fe9134091ac7bb;hb=361e96e42610e4f7600ae1175617f110874f563e;hp=78a6a9c3ead9dcdc7af3cc0de0c62559954ddee7;hpb=73929cd988b29cc673ff12945fc921957bd3ce78;p=util-vserver-pl.git diff --git a/src/planetlab.h b/src/planetlab.h index 78a6a9c..7127c3a 100644 --- a/src/planetlab.h +++ b/src/planetlab.h @@ -46,27 +46,29 @@ struct sliver_resources { struct vc_rlimit vs_as; struct vc_rlimit vs_nproc; struct vc_rlimit vs_openfd; + unsigned long int personality; }; int adjust_lim(const struct vc_rlimit *vcr, struct rlimit *lim); int -pl_chcontext(xid_t ctx, uint64_t bcaps, const struct sliver_resources *slr); +pl_chcontext(xid_t ctx, uint64_t bcaps, const struct sliver_resources *slr, + int unshare_netns); int pl_setup_done(xid_t ctx); int -pl_setsched(xid_t ctx, uint32_t cpu_share, uint32_t cpu_sched_flags); - -/* scheduler flags */ -#define VS_SCHED_CPU_GUARANTEED 1 +pl_setsched(xid_t ctx, uint32_t cpu_min, uint32_t cpu_share); /* Null byte made explicit */ #define NULLBYTE_SIZE 1 void pl_get_limits(const char *, struct sliver_resources *); -void pl_set_ulimits(const struct sliver_resources *); +int pl_set_ulimits(const struct sliver_resources *); + +/* For network namespaces */ +int pl_unshare_netns(xid_t xid); static inline int _PERROR(const char *format, char *file, int line, int _errno, ...)