⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xen_vm.c

📁 xen虚拟机源代码安装包
💻 C
📖 第 1 页 / 共 3 页
字号:
{    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = bootloader }        };    xen_call_(session, "VM.set_PV_bootloader", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_set_pv_kernel(xen_session *session, xen_vm vm, char *kernel){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = kernel }        };    xen_call_(session, "VM.set_PV_kernel", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_set_pv_ramdisk(xen_session *session, xen_vm vm, char *ramdisk){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = ramdisk }        };    xen_call_(session, "VM.set_PV_ramdisk", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_set_pv_args(xen_session *session, xen_vm vm, char *args){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = args }        };    xen_call_(session, "VM.set_PV_args", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_set_pv_bootloader_args(xen_session *session, xen_vm vm, char *bootloader_args){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = bootloader_args }        };    xen_call_(session, "VM.set_PV_bootloader_args", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_set_hvm_boot_policy(xen_session *session, xen_vm vm, char *boot_policy){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = boot_policy }        };    xen_call_(session, "VM.set_HVM_boot_policy", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_set_hvm_boot_params(xen_session *session, xen_vm vm, xen_string_string_map *boot_params){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string_string_map,              .u.set_val = (arbitrary_set *)boot_params }        };    xen_call_(session, "VM.set_HVM_boot_params", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_add_to_hvm_boot_params(xen_session *session, xen_vm vm, char *key, char *value){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = key },            { .type = &abstract_type_string,              .u.string_val = value }        };    xen_call_(session, "VM.add_to_HVM_boot_params", param_values, 3, NULL, NULL);    return session->ok;}boolxen_vm_remove_from_hvm_boot_params(xen_session *session, xen_vm vm, char *key){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = key }        };    xen_call_(session, "VM.remove_from_HVM_boot_params", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_set_platform(xen_session *session, xen_vm vm, xen_string_string_map *platform){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string_string_map,              .u.set_val = (arbitrary_set *)platform }        };    xen_call_(session, "VM.set_platform", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_add_to_platform(xen_session *session, xen_vm vm, char *key, char *value){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = key },            { .type = &abstract_type_string,              .u.string_val = value }        };    xen_call_(session, "VM.add_to_platform", param_values, 3, NULL, NULL);    return session->ok;}boolxen_vm_remove_from_platform(xen_session *session, xen_vm vm, char *key){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = key }        };    xen_call_(session, "VM.remove_from_platform", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_set_pci_bus(xen_session *session, xen_vm vm, char *pci_bus){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = pci_bus }        };    xen_call_(session, "VM.set_PCI_bus", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_set_other_config(xen_session *session, xen_vm vm, xen_string_string_map *other_config){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string_string_map,              .u.set_val = (arbitrary_set *)other_config }        };    xen_call_(session, "VM.set_other_config", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_add_to_other_config(xen_session *session, xen_vm vm, char *key, char *value){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = key },            { .type = &abstract_type_string,              .u.string_val = value }        };    xen_call_(session, "VM.add_to_other_config", param_values, 3, NULL, NULL);    return session->ok;}boolxen_vm_remove_from_other_config(xen_session *session, xen_vm vm, char *key){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = key }        };    xen_call_(session, "VM.remove_from_other_config", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_clone(xen_session *session, xen_vm *result, xen_vm vm, char *new_name){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = new_name }        };    abstract_type result_type = abstract_type_string;    *result = NULL;    XEN_CALL_("VM.clone");    return session->ok;}boolxen_vm_start(xen_session *session, xen_vm vm, bool start_paused){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_bool,              .u.bool_val = start_paused }        };    xen_call_(session, "VM.start", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_pause(xen_session *session, xen_vm vm){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm }        };    xen_call_(session, "VM.pause", param_values, 1, NULL, NULL);    return session->ok;}boolxen_vm_unpause(xen_session *session, xen_vm vm){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm }        };    xen_call_(session, "VM.unpause", param_values, 1, NULL, NULL);    return session->ok;}boolxen_vm_clean_shutdown(xen_session *session, xen_vm vm){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm }        };    xen_call_(session, "VM.clean_shutdown", param_values, 1, NULL, NULL);    return session->ok;}boolxen_vm_clean_reboot(xen_session *session, xen_vm vm){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm }        };    xen_call_(session, "VM.clean_reboot", param_values, 1, NULL, NULL);    return session->ok;}boolxen_vm_hard_shutdown(xen_session *session, xen_vm vm){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm }        };    xen_call_(session, "VM.hard_shutdown", param_values, 1, NULL, NULL);    return session->ok;}boolxen_vm_hard_reboot(xen_session *session, xen_vm vm){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm }        };    xen_call_(session, "VM.hard_reboot", param_values, 1, NULL, NULL);    return session->ok;}boolxen_vm_suspend(xen_session *session, xen_vm vm){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm }        };    xen_call_(session, "VM.suspend", param_values, 1, NULL, NULL);    return session->ok;}boolxen_vm_resume(xen_session *session, xen_vm vm, bool start_paused){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_bool,              .u.bool_val = start_paused }        };    xen_call_(session, "VM.resume", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_set_vcpus_number_live(xen_session *session, xen_vm self, int64_t nvcpu){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = self },            { .type = &abstract_type_int,              .u.int_val = nvcpu }        };    xen_call_(session, "VM.set_VCPUs_number_live", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_add_to_vcpus_params_live(xen_session *session, xen_vm self, char *key, char *value){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = self },            { .type = &abstract_type_string,              .u.string_val = key },            { .type = &abstract_type_string,              .u.string_val = value }        };    xen_call_(session, "VM.add_to_VCPUs_params_live", param_values, 3, NULL, NULL);    return session->ok;}boolxen_vm_set_memory_dynamic_max_live(xen_session *session, xen_vm self, int64_t max){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = self },            { .type = &abstract_type_int,              .u.int_val = max }        };    xen_call_(session, "VM.set_memory_dynamic_max_live", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_set_memory_dynamic_min_live(xen_session *session, xen_vm self, int64_t min){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = self },            { .type = &abstract_type_int,              .u.int_val = min }        };    xen_call_(session, "VM.set_memory_dynamic_min_live", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_send_sysrq(xen_session *session, xen_vm vm, char *key){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = key }        };    xen_call_(session, "VM.send_sysrq", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_send_trigger(xen_session *session, xen_vm vm, char *trigger){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = trigger }        };    xen_call_(session, "VM.send_trigger", param_values, 2, NULL, NULL);    return session->ok;}boolxen_vm_migrate(xen_session *session, xen_vm vm, char *dest, bool live, xen_string_string_map *options){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = dest },            { .type = &abstract_type_bool,              .u.bool_val = live },            { .type = &abstract_type_string_string_map,              .u.set_val = (arbitrary_set *)options }        };    xen_call_(session, "VM.migrate", param_values, 4, NULL, NULL);    return session->ok;}boolxen_vm_get_all(xen_session *session, struct xen_vm_set **result){    abstract_type result_type = abstract_type_string_set;    *result = NULL;    xen_call_(session, "VM.get_all", NULL, 0, &result_type, result);    return session->ok;}boolxen_vm_get_uuid(xen_session *session, char **result, xen_vm vm){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm }        };    abstract_type result_type = abstract_type_string;    *result = NULL;    XEN_CALL_("VM.get_uuid");    return session->ok;}boolxen_vm_set_security_label(xen_session *session, int64_t *result, xen_vm vm,                          char *label, char *oldlabel){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },            { .type = &abstract_type_string,              .u.string_val = label },            { .type = &abstract_type_string,              .u.string_val = oldlabel },        };    abstract_type result_type = abstract_type_int;    *result = 0;    XEN_CALL_("VM.set_security_label");    return session->ok;}boolxen_vm_get_security_label(xen_session *session, char **result, xen_vm vm){    abstract_value param_values[] =        {            { .type = &abstract_type_string,              .u.string_val = vm },        };    abstract_type result_type = abstract_type_string;    *result = NULL;    XEN_CALL_("VM.get_security_label");    return session->ok;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -