X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ensc_wrappers%2Fwrappers-vserver.hc;h=5fc1bfe8ba6f366d858733dce69227a39e4d7485;hb=fc28db1eb4146796ec27c2fb15780d6303120261;hp=1b8f3f63326221945263b5cac8a3c00d8c9dceff;hpb=8cf13bb177d92c93eb73dc8939777150536c2d00;p=util-vserver.git diff --git a/ensc_wrappers/wrappers-vserver.hc b/ensc_wrappers/wrappers-vserver.hc index 1b8f3f6..5fc1bfe 100644 --- a/ensc_wrappers/wrappers-vserver.hc +++ b/ensc_wrappers/wrappers-vserver.hc @@ -1,4 +1,4 @@ -// $Id: wrappers-vserver.hc,v 1.11 2004/10/19 23:11:23 ensc Exp $ --*- c++ -*-- +// $Id: wrappers-vserver.hc 2416 2006-12-08 13:25:29Z dhozac $ --*- c++ -*-- // Copyright (C) 2004 Enrico Scholz // @@ -20,6 +20,8 @@ # error wrappers_handler.hc can not be used in this way #endif +#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY) + inline static WRAPPER_DECL xid_t Evc_new_s_context(xid_t ctx, unsigned int remove_cap, unsigned int flags) { @@ -28,6 +30,8 @@ Evc_new_s_context(xid_t ctx, unsigned int remove_cap, unsigned int flags) return res; } +#endif + inline static WRAPPER_DECL xid_t Evc_get_task_xid(pid_t pid) { @@ -36,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) { @@ -44,12 +56,26 @@ 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) { FatalErrnoError(vc_ctx_migrate(xid)==-1, "vc_ctx_migrate()"); } +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) { @@ -62,6 +88,18 @@ Evc_set_cflags(xid_t xid, struct vc_ctx_flags const *flags) FatalErrnoError(vc_set_cflags(xid, flags)==-1, "vc_set_cflags()"); } +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) @@ -82,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_namespace()==-1, "vc_set_namespace()"); + FatalErrnoError(vc_set_ncaps(nid, caps)==-1, "vc_set_ncaps()"); } inline static WRAPPER_DECL void -Evc_enter_namespace(xid_t xid) +Evc_set_namespace(xid_t xid, uint_least64_t mask) { - FatalErrnoError(vc_enter_namespace(xid)==-1, "vc_enter_namespace()"); + FatalErrnoError(vc_set_namespace(xid, mask)==-1, "vc_set_namespace()"); +} + +inline static WRAPPER_DECL void +Evc_enter_namespace(xid_t xid, uint_least64_t mask) +{ + FatalErrnoError(vc_enter_namespace(xid, mask)==-1, "vc_enter_namespace()"); } inline static WRAPPER_DECL xid_t @@ -118,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; +}