From b0766f3da285812c19f68b8bcf49f7f8be5fe697 Mon Sep 17 00:00:00 2001 From: Ewan Mellor Date: Wed, 11 Apr 2007 22:24:30 +0100 Subject: Add documentation and C bindings for VM.add_to_VCPUs_params_live, VM.set_memory_dynamic_{min,max}_live. Signed-off-by: Ewan Mellor --- tools/libxen/include/xen_vm.h | 22 +++++++++++++++++++ tools/libxen/src/xen_vm.c | 50 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) (limited to 'tools/libxen') diff --git a/tools/libxen/include/xen_vm.h b/tools/libxen/include/xen_vm.h index 0f5c440c16..54abe1ba82 100644 --- a/tools/libxen/include/xen_vm.h +++ b/tools/libxen/include/xen_vm.h @@ -837,6 +837,28 @@ extern bool xen_vm_set_vcpus_number_live(xen_session *session, xen_vm self, int64_t nvcpu); +/** + * Add the given key-value pair to VM.VCPUs_params, and apply that + * value on the running VM. + */ +extern bool +xen_vm_add_to_vcpus_params_live(xen_session *session, xen_vm self, char *key, char *value); + + +/** + * Set memory_dynamic_max in database and on running VM. + */ +extern bool +xen_vm_set_memory_dynamic_max_live(xen_session *session, xen_vm self, int64_t max); + + +/** + * Set memory_dynamic_min in database and on running VM. + */ +extern bool +xen_vm_set_memory_dynamic_min_live(xen_session *session, xen_vm self, int64_t min); + + /** * Send the given key as a sysrq to this VM. The key is specified as a * single character (a String of length 1). This can only be called when the diff --git a/tools/libxen/src/xen_vm.c b/tools/libxen/src/xen_vm.c index 5f5aa72b9a..6f88a9239a 100644 --- a/tools/libxen/src/xen_vm.c +++ b/tools/libxen/src/xen_vm.c @@ -1609,6 +1609,56 @@ xen_vm_set_vcpus_number_live(xen_session *session, xen_vm self, int64_t nvcpu) } +bool +xen_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; +} + + +bool +xen_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; +} + + +bool +xen_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; +} + + bool xen_vm_send_sysrq(xen_session *session, xen_vm vm, char *key) { -- cgit v1.2.3