* \param host A host
* \return The properties of this host
*/
-void* simcall_vm_create(const char *name, smx_host_t phys_host){
+void* simcall_vm_ws_create(const char *name, smx_host_t phys_host){
+ return simcall_BODY_vm_ws_create(name, phys_host);
+}
+
+void simcall_vm_start(smx_host_t vm) {
{
- return simcall_BODY_vm_create(name, phys_host);
+ simcall_BODY_set_vm_state(vm, msg_vm_state_running);
}
+void simcall_vm_suspend(smx_host_t vm)
+{
+ /* will jump to SIMIX_pre_vm_suspend */
+ simcall_BODY_vm_suspend(vm);
+}
-void simcall_vm_start(smx_host_t vm){
+void simcall_vm_shutdown(smx_host_t vm)
+{
+ /* will jump to SIMIX_pre_vm_shutdown */
+ simcall_BODY_vm_shutdown(vm);
+}
- simcall_BODY_set_vm_state(vm, msg_vm_state_running);
+void simcall_vm_destroy(smx_host_t vm)
+{
+ /*
+ * simcall_BODY_ is defined in src/simix/smx_smurf_private.h.
+ * This function will jump to SIMIX_pre_vm_destroy.
+ **/
+ simcall_BODY_vm_destroy(vm);
}
/**
* \ingroup simix_process_management
* \brief Kills all SIMIX processes.
*/
-void simcall_process_killall(void)
+void simcall_process_killall(int reset_pid)
{
- simcall_BODY_process_killall();
+ simcall_BODY_process_killall(reset_pid);
}
/**
return simcall_BODY_process_count();
}
+/**
+ * \ingroup simix_process_management
+ * \brief Return the PID of a #smx_process_t.
+ * \param process a SIMIX process
+ * \return the PID of this process
+ */
+int simcall_process_get_PID(smx_process_t process)
+{
+ if (process == SIMIX_process_self()) {
+ /* avoid a simcall if this function is called by the process itself */
+ return SIMIX_process_get_PID(process);
+ }
+
+ return simcall_BODY_process_get_PID(process);
+}
+
+/**
+ * \ingroup simix_process_management
+ * \brief Return the parent PID of a #smx_process_t.
+ * \param process a SIMIX process
+ * \return the PID of this process parenrt
+ */
+int simcall_process_get_PPID(smx_process_t process)
+{
+ if (process == SIMIX_process_self()) {
+ /* avoid a simcall if this function is called by the process itself */
+ return SIMIX_process_get_PPID(process);
+ }
+
+ return simcall_BODY_process_get_PPID(process);
+}
+
/**
* \ingroup simix_process_management
* \brief Return the user data of a #smx_process_t.