X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ensc_wrappers%2Fwrappers-vserver.hc;h=01fe5476d9bf1179c0b1d199514b49fdf80ffa9f;hb=4415d2a7377be61789eb5a6e35222962cbe7a146;hp=dddc258a0f2edfaf9a0c753ad57b411f2e6b0038;hpb=b0a62d195efca12c5cb9e7c0b3bea3be2cd57fc9;p=util-vserver.git diff --git a/ensc_wrappers/wrappers-vserver.hc b/ensc_wrappers/wrappers-vserver.hc index dddc258..01fe547 100644 --- a/ensc_wrappers/wrappers-vserver.hc +++ b/ensc_wrappers/wrappers-vserver.hc @@ -1,4 +1,4 @@ -// $Id: wrappers-vserver.hc 2501 2007-02-20 17:33:35Z dhozac $ --*- c++ -*-- +// $Id: wrappers-vserver.hc 2589 2007-08-16 03:06:50Z dhozac $ --*- c++ -*-- // Copyright (C) 2004 Enrico Scholz // @@ -49,9 +49,9 @@ Evc_get_task_nid(pid_t pid) } inline static WRAPPER_DECL xid_t -Evc_ctx_create(xid_t xid) +Evc_ctx_create(xid_t xid, struct vc_ctx_flags *flags) { - register xid_t res = vc_ctx_create(xid); + register xid_t res = vc_ctx_create(xid, flags); FatalErrnoError(res==VC_NOCTX, "vc_ctx_create()"); return res; } @@ -64,6 +64,14 @@ Evc_net_create(nid_t nid) return res; } +inline static WRAPPER_DECL tag_t +Evc_tag_create(tag_t tag) +{ + register tag_t res = vc_tag_create(tag); + FatalErrnoError(res==VC_NOCTX, "vc_tag_create()"); + return res; +} + inline static WRAPPER_DECL void Evc_ctx_migrate(xid_t xid, uint_least64_t flags) { @@ -76,6 +84,12 @@ Evc_net_migrate(nid_t nid) FatalErrnoError(vc_net_migrate(nid)==-1, "vc_net_migrate()"); } +inline static WRAPPER_DECL void +Evc_tag_migrate(tag_t tag) +{ + FatalErrnoError(vc_tag_migrate(tag)==-1, "vc_tag_migrate()"); +} + inline static WRAPPER_DECL void Evc_get_cflags(xid_t xid, struct vc_ctx_flags *flags) { @@ -180,3 +194,15 @@ Evc_nidopt2nid(char const *id, bool honor_static) } return rc; } + +inline static WRAPPER_DECL tag_t +Evc_tagopt2tag(char const *id, bool honor_static) +{ + char const * err; + tag_t rc = vc_tagopt2tag(id, honor_static, &err); + if (__builtin_expect(rc==VC_NOCTX,0)) { + ENSC_DETAIL1(msg, "vc_tagopt2tag", id, 1); + FatalErrnoErrorFail(msg); + } + return rc; +}