vc_task_xid(pid_t pid); typedef struct vcmd_vx_info_v0 vx_info; // For now, might need own struct later vc_vx_info(xid_t, vx_info *info); vc_ctx_create(xid_t xid); vc_ctx_migrate(xid_t xid); typedef struct vcmd_ctx_flags_v0 vx_flags; // For now, might need own struct later vc_get_cflags(xid_t xid, vx_flags *flags); vc_set_cflags(xid_t xid, vx_flags *flags); typedef struct vcmd_ctx_caps_v0 vx_caps; // For now, might need own struct later vc_set_ccaps(xid_t xid, vx_caps *caps); vc_get_ccaps(xid_t xid, vx_caps *caps); // Should we have the name outside the struct? typedef struct vcmd_ctx_iattr_v1 vx_iattr; // For now, might need own struct later vc_get_iattr(vx_iattr *iattr); vc_set_iattr(vx_iattr *iattr); typedef struct vcmd_ctx_rlimit_v0 vx_rlimit; // The usual comment ;) vc_get_rlimit(xid_t xid, vx_rlimit *rlimit); vc_set_rlimit(xid_t xid, vx_rlimit *rlimit); typedef struct vcmd_ctx_rlimit_mask_v0 vx_rlimit_mask; // Foobar vc_get_rlimit_mask(vx_rlimit_mask *mask); vc_enter_namespace(xid_t xid); vc_cleanup_namespace(); vc_set_namespace(); vc_task_nid(pid_t pid); typedef struct vcmd_nx_info_v0 nx_info; vc_nx_info(nid_t nid, nx_info *info); vc_net_create(nid_t nid); vc_net_migrate(nid_t nid); typedef vcmd_net_flags_v0 nx_flags; vc_get_nflags(nid_t nid, nx_flags *flags); vc_set_nflags(nid_t nid, nx_flags *flags); typedef vcmd_net_caps_v0 nx_caps; vc_get_ncaps(nid_t nid, nx_caps *caps); vc_set_ncaps(nid_t nid, nx_caps *caps); typedef struct vcmd_set_sched_v3 vx_sched; vc_set_sched(xid_t xid, vx_sched *sched); vc_ctx_kill(xid_t xid, pid_t pid, int sig); vc_wait_exit(xid_t xid); vc_get_version();