wrappers-vserver.hc (5690B)
1 // $Id$ --*- c++ -*-- 2 3 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> 4 // 5 // This program is free software; you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation; version 2 of the License. 8 // 9 // This program is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with this program; if not, write to the Free Software 16 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 18 19 #ifndef H_ENSC_IN_WRAPPERS_H 20 # error wrappers_handler.hc can not be used in this way 21 #endif 22 23 #if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY) 24 25 inline static WRAPPER_DECL xid_t 26 Evc_new_s_context(xid_t ctx, unsigned int remove_cap, unsigned int flags) 27 { 28 register xid_t res = vc_new_s_context(ctx,remove_cap,flags); 29 FatalErrnoError(res==VC_NOCTX, "vc_new_s_context()"); 30 return res; 31 } 32 33 #endif 34 35 inline static WRAPPER_DECL xid_t 36 Evc_get_task_xid(pid_t pid) 37 { 38 register xid_t res = vc_get_task_xid(pid); 39 FatalErrnoError(res==VC_NOCTX, "vc_get_task_xid()"); 40 return res; 41 } 42 43 inline static WRAPPER_DECL nid_t 44 Evc_get_task_nid(pid_t pid) 45 { 46 register nid_t res = vc_get_task_nid(pid); 47 FatalErrnoError(res==VC_NOCTX, "vc_get_task_nid()"); 48 return res; 49 } 50 51 inline static WRAPPER_DECL xid_t 52 Evc_ctx_create(xid_t xid, struct vc_ctx_flags *flags) 53 { 54 register xid_t res = vc_ctx_create(xid, flags); 55 FatalErrnoError(res==VC_NOCTX, "vc_ctx_create()"); 56 return res; 57 } 58 59 inline static WRAPPER_DECL nid_t 60 Evc_net_create(nid_t nid) 61 { 62 register nid_t res = vc_net_create(nid); 63 FatalErrnoError(res==VC_NOCTX, "vc_net_create()"); 64 return res; 65 } 66 67 inline static WRAPPER_DECL tag_t 68 Evc_tag_create(tag_t tag) 69 { 70 register tag_t res = vc_tag_create(tag); 71 FatalErrnoError(res==VC_NOCTX, "vc_tag_create()"); 72 return res; 73 } 74 75 inline static WRAPPER_DECL void 76 Evc_ctx_migrate(xid_t xid, uint_least64_t flags) 77 { 78 FatalErrnoError(vc_ctx_migrate(xid, flags)==-1, "vc_ctx_migrate()"); 79 } 80 81 inline static WRAPPER_DECL void 82 Evc_net_migrate(nid_t nid) 83 { 84 FatalErrnoError(vc_net_migrate(nid)==-1, "vc_net_migrate()"); 85 } 86 87 inline static WRAPPER_DECL void 88 Evc_tag_migrate(tag_t tag) 89 { 90 FatalErrnoError(vc_tag_migrate(tag)==-1, "vc_tag_migrate()"); 91 } 92 93 inline static WRAPPER_DECL void 94 Evc_get_cflags(xid_t xid, struct vc_ctx_flags *flags) 95 { 96 FatalErrnoError(vc_get_cflags(xid, flags)==-1, "vc_get_cflags()"); 97 } 98 99 inline static WRAPPER_DECL void 100 Evc_set_cflags(xid_t xid, struct vc_ctx_flags const *flags) 101 { 102 FatalErrnoError(vc_set_cflags(xid, flags)==-1, "vc_set_cflags()"); 103 } 104 105 inline static WRAPPER_DECL void 106 Evc_get_nflags(nid_t nid, struct vc_net_flags *flags) 107 { 108 FatalErrnoError(vc_get_nflags(nid, flags)==-1, "vc_get_nflags()"); 109 } 110 111 inline static WRAPPER_DECL void 112 Evc_set_nflags(nid_t nid, struct vc_net_flags const *flags) 113 { 114 FatalErrnoError(vc_set_nflags(nid, flags)==-1, "vc_set_nflags()"); 115 } 116 117 inline static WRAPPER_DECL void 118 Evc_set_vhi_name(xid_t xid, vc_uts_type type, 119 char const *val, size_t len) 120 { 121 FatalErrnoError(vc_set_vhi_name(xid,type,val,len)==-1, "vc_set_vhi_name()"); 122 } 123 124 inline static WRAPPER_DECL void 125 Evc_get_ccaps(xid_t xid, struct vc_ctx_caps *caps) 126 { 127 FatalErrnoError(vc_get_ccaps(xid, caps)==-1, "vc_get_ccaps()"); 128 } 129 130 inline static WRAPPER_DECL void 131 Evc_set_ccaps(xid_t xid, struct vc_ctx_caps const *caps) 132 { 133 FatalErrnoError(vc_set_ccaps(xid, caps)==-1, "vc_set_ccaps()"); 134 } 135 136 inline static WRAPPER_DECL void 137 Evc_get_umask(xid_t xid, struct vc_umask *umask) 138 { 139 FatalErrnoError(vc_get_umask(xid, umask)==-1, "vc_get_umask()"); 140 } 141 142 inline static WRAPPER_DECL void 143 Evc_get_ncaps(nid_t nid, struct vc_net_caps *caps) 144 { 145 FatalErrnoError(vc_get_ncaps(nid, caps)==-1, "vc_get_ncaps()"); 146 } 147 148 inline static WRAPPER_DECL void 149 Evc_set_ncaps(nid_t nid, struct vc_net_caps const *caps) 150 { 151 FatalErrnoError(vc_set_ncaps(nid, caps)==-1, "vc_set_ncaps()"); 152 } 153 154 inline static WRAPPER_DECL void 155 Evc_set_namespace(xid_t xid, uint_least64_t mask, uint32_t index) 156 { 157 FatalErrnoError(vc_set_namespace(xid, mask, index)==-1, "vc_set_namespace()"); 158 } 159 160 inline static WRAPPER_DECL void 161 Evc_enter_namespace(xid_t xid, uint_least64_t mask, uint32_t index) 162 { 163 FatalErrnoError(vc_enter_namespace(xid, mask, index)==-1, "vc_enter_namespace()"); 164 } 165 166 inline static WRAPPER_DECL xid_t 167 Evc_xidopt2xid(char const *id, bool honor_static) 168 { 169 char const * err; 170 xid_t rc = vc_xidopt2xid(id, honor_static, &err); 171 if (__builtin_expect(rc==VC_NOCTX,0)) { 172 ENSC_DETAIL1(msg, "vc_xidopt2xid", id, 1); 173 #if 1 174 FatalErrnoErrorFail(msg); 175 #else 176 { 177 size_t l1 = strlen(msg); 178 size_t l2 = strlen(err); 179 char buf[l1 + l2 + sizeof(": ")]; 180 memcpy(buf, msg, l1); 181 memcpy(buf+l1, ": ", 2); 182 memcpy(buf+l1+2, err, l2+1); 183 184 FatalErrnoErrorFail(buf); 185 } 186 #endif 187 } 188 189 return rc; 190 } 191 192 inline static WRAPPER_DECL nid_t 193 Evc_nidopt2nid(char const *id, bool honor_static) 194 { 195 char const * err; 196 nid_t rc = vc_nidopt2nid(id, honor_static, &err); 197 if (__builtin_expect(rc==VC_NOCTX,0)) { 198 ENSC_DETAIL1(msg, "vc_nidopt2nid", id, 1); 199 FatalErrnoErrorFail(msg); 200 } 201 return rc; 202 } 203 204 inline static WRAPPER_DECL tag_t 205 Evc_tagopt2tag(char const *id, bool honor_static) 206 { 207 char const * err; 208 tag_t rc = vc_tagopt2tag(id, honor_static, &err); 209 if (__builtin_expect(rc==VC_NOCTX,0)) { 210 ENSC_DETAIL1(msg, "vc_tagopt2tag", id, 1); 211 FatalErrnoErrorFail(msg); 212 } 213 return rc; 214 }