X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/97309bb6b5e9ce0ee6b1e761d5ecb1eddf4ea583..dc3c3416c4cca30fef7c29422d45094687f59893:/include/msg/msg.h diff --git a/include/msg/msg.h b/include/msg/msg.h index 986a463507..a739ece795 100644 --- a/include/msg/msg.h +++ b/include/msg/msg.h @@ -362,29 +362,36 @@ XBT_PUBLIC(int) MSG_get_channel_number(void); * */ /* This function should not be called directly, but rather from MSG_vm_start_from_template that does not exist yet*/ -XBT_PUBLIC(msg_vm_t) MSG_vm_start(msg_host_t location, const char *name, int coreAmount); + +// TODO add VDI later +XBT_PUBLIC(msg_vm_t) MSG_vm_create_core(msg_host_t location, const char *name); +XBT_PUBLIC(msg_vm_t) MSG_vm_create(msg_host_t ind_pm, const char *name, + int core_nb, int mem_cap, int net_cap, char *disk_path, int disk_size); + +XBT_PUBLIC(void) MSG_vm_start(msg_vm_t); XBT_PUBLIC(int) MSG_vm_is_suspended(msg_vm_t); XBT_PUBLIC(int) MSG_vm_is_running(msg_vm_t); -XBT_PUBLIC(void) MSG_vm_bind(msg_vm_t vm, msg_process_t process); -XBT_PUBLIC(void) MSG_vm_unbind(msg_vm_t vm, msg_process_t process); // simple wrapper over process_kill +XBT_PUBLIC(const char*) MSG_vm_get_name(msg_vm_t); XBT_PUBLIC(void) MSG_vm_migrate(msg_vm_t vm, msg_host_t destination); +/* Suspend the execution of the VM, but keep its state on memory. */ XBT_PUBLIC(void) MSG_vm_suspend(msg_vm_t vm); - // \forall p in VM, MSG_process_suspend(p) // Freeze the processes - -XBT_PUBLIC(void) MSG_vm_resume(msg_vm_t vm); // Simulate the fact of reading the processes from disk and resuming them - // \forall p in VM, MSG_process_resume(p) // unfreeze them +XBT_PUBLIC(void) MSG_vm_resume(msg_vm_t vm); -XBT_PUBLIC(void) MSG_vm_shutdown(msg_vm_t vm); // killall +/* Save the VM state to a disk. */ +XBT_PUBLIC(void) MSG_vm_save(msg_vm_t vm); +XBT_PUBLIC(void) MSG_vm_restore(msg_vm_t vm); -XBT_PUBLIC(void) MSG_vm_reboot(msg_vm_t vm); +/* Shutdown the guest operating system. */ +XBT_PUBLIC(void) MSG_vm_shutdown(msg_vm_t vm); XBT_PUBLIC(void) MSG_vm_destroy(msg_vm_t vm); -XBT_PUBLIC(xbt_dynar_t) MSG_vms_as_dynar(void); +/* TODO: do we need this? */ +// XBT_PUBLIC(xbt_dynar_t) MSG_vms_as_dynar(void); /* void* MSG_process_get_property(msg_process_t, char* key)