X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6a17d773484b05eb5d041babda0b346350b9ae72..48d16e98696450e0dc1ae85cfb8f84b41d15b409:/src/msg/msg_legacy.cpp diff --git a/src/msg/msg_legacy.cpp b/src/msg/msg_legacy.cpp index dff8872692..fd4562c206 100644 --- a/src/msg/msg_legacy.cpp +++ b/src/msg/msg_legacy.cpp @@ -1,13 +1,50 @@ -/* Copyright (c) 2004-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ +#include "simgrid/Exception.hpp" #include "src/msg/msg_private.hpp" #define MSG_CALL(type, oldname, args) -extern "C" { +/* ************************** Engine *************************** */ +void MSG_create_environment(const char* filename) +{ + simgrid_load_platform(filename); +} + +void MSG_launch_application(const char* filename) +{ + simgrid_load_deployment(filename); +} +msg_error_t MSG_main() +{ + simgrid_run(); + return MSG_OK; +} +void MSG_function_register(const char* name, xbt_main_func_t code) +{ + simgrid_register_function(name, code); +} +void MSG_function_register_default(xbt_main_func_t code) +{ + simgrid_register_default(code); +} +double MSG_get_clock() +{ + return simgrid_get_clock(); +} + +/* ************************** Mailboxes ************************ */ +void MSG_mailbox_set_async(const char* alias) +{ + sg_mailbox_set_receiver(alias); +} +int MSG_task_listen(const char* alias) +{ + return sg_mailbox_listen(alias); +} /* ************************** Actors *************************** */ int MSG_process_get_PID(sg_actor_t actor) @@ -18,6 +55,10 @@ int MSG_process_get_PPID(sg_actor_t actor) { return sg_actor_get_PPID(actor); } +msg_process_t MSG_process_from_PID(int PID) +{ + return sg_actor_by_PID(PID); +} const char* MSG_process_get_name(sg_actor_t actor) { return sg_actor_get_name(actor); @@ -50,10 +91,59 @@ void MSG_process_restart(sg_actor_t actor) { sg_actor_restart(actor); } +void MSG_process_auto_restart_set(sg_actor_t actor, int auto_restart) +{ + sg_actor_set_auto_restart(actor, auto_restart); +} + void MSG_process_daemonize(sg_actor_t actor) { sg_actor_daemonize(actor); } +void MSG_process_migrate(sg_actor_t actor, sg_host_t host) +{ + sg_actor_migrate(actor, host); +} +void MSG_process_join(sg_actor_t actor, double timeout) +{ + sg_actor_join(actor, timeout); +} +void MSG_process_kill(sg_actor_t actor) +{ + sg_actor_kill(actor); +} +void MSG_process_killall() +{ + sg_actor_kill_all(); +} +void MSG_process_set_kill_time(sg_actor_t actor, double kill_time) +{ + sg_actor_set_kill_time(actor, kill_time); +} +void MSG_process_yield() +{ + sg_actor_yield(); +} + +msg_error_t MSG_process_sleep(double duration) +{ + try { + sg_actor_sleep_for(duration); + return MSG_OK; + } catch (simgrid::HostFailureException& e) { + return MSG_HOST_FAILURE; + } +} + +msg_process_t MSG_process_attach(const char* name, void* data, msg_host_t host, xbt_dict_t properties) +{ + return sg_actor_attach(name, data, host, properties); +} + +void MSG_process_detach() +{ + sg_actor_detach(); +} /* ************************** NetZones *************************** */ sg_netzone_t MSG_zone_get_root() @@ -204,9 +294,9 @@ int MSG_host_is_on(sg_host_t h) { return sg_host_is_on(h); } -int MSG_host_is_off(sg_host_t h) +int MSG_host_is_off(sg_host_t h) // deprecated { - return sg_host_is_off(h); + return not sg_host_is_on(h); } xbt_dict_t MSG_host_get_properties(sg_host_t host) { @@ -228,4 +318,113 @@ sg_host_t MSG_host_self() { return sg_host_self(); } + +double MSG_host_get_load(sg_host_t host) +{ + return sg_host_load(host); +} +/* ************************** Virtual Machines *************************** */ +sg_vm_t MSG_vm_create_core(sg_host_t pm, const char* name) +{ + return sg_vm_create_core(pm, name); +} +sg_vm_t MSG_vm_create_multicore(sg_host_t pm, const char* name, int coreAmount) +{ + return sg_vm_create_multicore(pm, name, coreAmount); +} +int MSG_vm_is_created(sg_vm_t vm) +{ + return sg_vm_is_created(vm); +} +int MSG_vm_is_running(sg_vm_t vm) +{ + return sg_vm_is_running(vm); +} +int MSG_vm_is_suspended(sg_vm_t vm) +{ + return sg_vm_is_suspended(vm); +} +const char* MSG_vm_get_name(sg_vm_t vm) +{ + return sg_vm_get_name(vm); +} +void MSG_vm_set_ramsize(sg_vm_t vm, size_t size) +{ + sg_vm_set_ramsize(vm, size); +} +size_t MSG_vm_get_ramsize(sg_vm_t vm) +{ + return sg_vm_get_ramsize(vm); +} +sg_host_t MSG_vm_get_pm(sg_vm_t vm) +{ + return sg_vm_get_pm(vm); +} +void MSG_vm_set_bound(sg_vm_t vm, double bound) +{ + sg_vm_set_bound(vm, bound); +} +void MSG_vm_start(sg_vm_t vm) +{ + sg_vm_start(vm); +} +void MSG_vm_suspend(sg_vm_t vm) +{ + sg_vm_suspend(vm); +} +void MSG_vm_resume(sg_vm_t vm) +{ + sg_vm_resume(vm); +} +void MSG_vm_shutdown(sg_vm_t vm) +{ + sg_vm_shutdown(vm); +} +void MSG_vm_destroy(sg_vm_t vm) +{ + sg_vm_destroy(vm); +} +/********* barriers ************/ +sg_bar_t MSG_barrier_init(unsigned int count) +{ + return sg_barrier_init(count); +} + +void MSG_barrier_destroy(sg_bar_t bar) +{ + sg_barrier_destroy(bar); +} + +int MSG_barrier_wait(sg_bar_t bar) +{ + return sg_barrier_wait(bar); +} + +sg_sem_t MSG_sem_init(int initial_value) +{ + return sg_sem_init(initial_value); +} +void MSG_sem_acquire(sg_sem_t sem) +{ + sg_sem_acquire(sem); +} +int MSG_sem_acquire_timeout(sg_sem_t sem, double timeout) +{ + return sg_sem_acquire_timeout(sem, timeout); +} +void MSG_sem_release(sg_sem_t sem) +{ + sg_sem_release(sem); +} +int MSG_sem_get_capacity(sg_sem_t sem) +{ + return sg_sem_get_capacity(sem); +} +void MSG_sem_destroy(sg_sem_t sem) +{ + sg_sem_destroy(sem); +} +int MSG_sem_would_block(sg_sem_t sem) +{ + return sg_sem_would_block(sem); }