X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ensc_wrappers%2Fwrappers-vserver.hc;h=8b8e84e5e08599d9ef3e8bdfef0763eb8fcc8e8a;hb=574a2e9013d6d34b0983a33f84eb5291aa7498a0;hp=0c59a8ccd72ada44607763f66d3ce188b856adfb;hpb=9c78378bebc1a9f3d400f422df8ede9efea57dea;p=util-vserver.git diff --git a/ensc_wrappers/wrappers-vserver.hc b/ensc_wrappers/wrappers-vserver.hc index 0c59a8c..8b8e84e 100644 --- a/ensc_wrappers/wrappers-vserver.hc +++ b/ensc_wrappers/wrappers-vserver.hc @@ -40,6 +40,14 @@ Evc_get_task_xid(pid_t pid) return res; } +inline static WRAPPER_DECL nid_t +Evc_get_task_nid(pid_t pid) +{ + register nid_t res = vc_get_task_nid(pid); + FatalErrnoError(res==VC_NOCTX, "vc_get_task_nid()"); + return res; +} + inline static WRAPPER_DECL xid_t Evc_ctx_create(xid_t xid) { @@ -48,6 +56,14 @@ Evc_ctx_create(xid_t xid) return res; } +inline static WRAPPER_DECL nid_t +Evc_net_create(nid_t nid) +{ + register nid_t res = vc_net_create(nid); + FatalErrnoError(res==VC_NOCTX, "vc_net_create()"); + return res; +} + inline static WRAPPER_DECL void Evc_ctx_migrate(xid_t xid) { @@ -55,6 +71,12 @@ Evc_ctx_migrate(xid_t xid) } inline static WRAPPER_DECL void +Evc_net_migrate(nid_t nid) +{ + FatalErrnoError(vc_net_migrate(nid)==-1, "vc_net_migrate()"); +} + +inline static WRAPPER_DECL void Evc_get_cflags(xid_t xid, struct vc_ctx_flags *flags) { FatalErrnoError(vc_get_cflags(xid, flags)==-1, "vc_get_cflags()"); @@ -67,6 +89,18 @@ Evc_set_cflags(xid_t xid, struct vc_ctx_flags const *flags) } inline static WRAPPER_DECL void +Evc_get_nflags(nid_t nid, struct vc_net_flags *flags) +{ + FatalErrnoError(vc_get_nflags(nid, flags)==-1, "vc_get_nflags()"); +} + +inline static WRAPPER_DECL void +Evc_set_nflags(nid_t nid, struct vc_net_flags const *flags) +{ + FatalErrnoError(vc_set_nflags(nid, flags)==-1, "vc_set_nflags()"); +} + +inline static WRAPPER_DECL void Evc_set_vhi_name(xid_t xid, vc_uts_type type, char const *val, size_t len) { @@ -86,15 +120,27 @@ Evc_set_ccaps(xid_t xid, struct vc_ctx_caps const *caps) } inline static WRAPPER_DECL void -Evc_set_namespace() +Evc_get_ncaps(nid_t nid, struct vc_net_caps *caps) +{ + FatalErrnoError(vc_get_ncaps(nid, caps)==-1, "vc_get_ncaps()"); +} + +inline static WRAPPER_DECL void +Evc_set_ncaps(nid_t nid, struct vc_net_caps const *caps) +{ + FatalErrnoError(vc_set_ncaps(nid, caps)==-1, "vc_set_ncaps()"); +} + +inline static WRAPPER_DECL void +Evc_set_namespace(xid_t xid, uint_least64_t mask) { - FatalErrnoError(vc_set_namespace()==-1, "vc_set_namespace()"); + FatalErrnoError(vc_set_namespace(xid, mask)==-1, "vc_set_namespace()"); } inline static WRAPPER_DECL void -Evc_enter_namespace(xid_t xid) +Evc_enter_namespace(xid_t xid, uint_least64_t mask) { - FatalErrnoError(vc_enter_namespace(xid)==-1, "vc_enter_namespace()"); + FatalErrnoError(vc_enter_namespace(xid, mask)==-1, "vc_enter_namespace()"); } inline static WRAPPER_DECL xid_t @@ -122,3 +168,15 @@ Evc_xidopt2xid(char const *id, bool honor_static) return rc; } + +inline static WRAPPER_DECL nid_t +Evc_nidopt2nid(char const *id, bool honor_static) +{ + char const * err; + nid_t rc = vc_nidopt2nid(id, honor_static, &err); + if (__builtin_expect(rc==VC_NOCTX,0)) { + ENSC_DETAIL1(msg, "vc_nidopt2nid", id, 1); + FatalErrnoErrorFail(msg); + } + return rc; +}