int vps_setup_res(vps_handler *h, envid_t veid, dist_actions *actions, fs_param *fs, vps_param *param, int vps_state, skipFlags skip, struct mod_action *action) { int ret; vps_res *res = ¶m->res; if (skip & SKIP_SETUP) return 0; if (vps_state != STATE_STARTING) { if ((ret = vps_set_ublimit(h, veid, &res->ub))) return ret; } if ((ret = vps_net_ctl(h, veid, DEL, ¶m->del_res.net, actions, fs->root, vps_state, skip))) { return ret; } if ((ret = vps_net_ctl(h, veid, ADD, &res->net, actions, fs->root, vps_state, skip))) { return ret; } if ((ret = vps_set_netdev(h, veid, &res->ub, &res->net, ¶m->del_res.net))) return ret; if ((ret = vps_set_cpu(h, veid, &res->cpu))) return ret; if ((ret = vps_set_devperm(h, veid, fs->root, &res->dev))) return ret; if ((ret = vps_set_pci(h, veid, ADD, fs->root, &res->pci))) return ret; if ((ret = vps_set_pci(h, veid, DEL, fs->root, ¶m->del_res.pci))) return ret; if ((ret = vps_set_fs(fs, &res->fs))) return ret; if((ret = vps_meminfo_set(h, veid, &res->meminfo, param, vps_state))) return ret; if ((ret = ve_ioprio_set(h, veid, &res->io))) return ret; if ((ret = vps_2quota_perm(h, veid, fs->root, &res->dq))) return ret; if (!(skip & SKIP_CONFIGURE)) vps_configure(h, veid, actions, fs->root, param, vps_state); /* Setup quota limits after configure steps */ if ((ret = vps_set_quota(veid, &res->dq))) return ret; if ((ret = vps_setup_veth(h, veid, actions, fs->root, &res->veth, ¶m->del_res.veth, vps_state, skip))) { return ret; } ret = mod_setup(h, veid, vps_state, skip, action, param); return ret; }
int main(int argc, char **argv) { _SIZEOF(mod_channel_data_t); _SIZEOF(mod_division_data_t); _SIZEOF(mod_pattern_data_t); if (argc == 2) { mod_setup(); mod_load(argv[1]); mod_process(); mod_save("../../test.mod"); } return 0; }