X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fd3561d45e21b43cd128804f53bd73f6076c58e0..193edb1b7e0828fb6c6daa5dfac260468bb41e96:/include/msg/msg.h diff --git a/include/msg/msg.h b/include/msg/msg.h index 7d2769044b..480d3d8cb4 100644 --- a/include/msg/msg.h +++ b/include/msg/msg.h @@ -8,31 +8,38 @@ #ifndef MSG_H #define MSG_H +#include "xbt/misc.h" +#include "xbt/sysdep.h" + +BEGIN_DECL() #include "msg/datatypes.h" /************************** Global ******************************************/ +xbt_error_t MSG_config(const char *name, ...); void MSG_global_init(void); +void MSG_global_init_args(int *argc, char **argv); void MSG_set_verbosity(MSG_outputmode_t mode); MSG_error_t MSG_set_channel_number(int number); -MSG_error_t MSG_set_sharing_policy(MSG_sharing_t mode, long double param); +MSG_error_t MSG_set_sharing_policy(MSG_sharing_t mode, double param); int MSG_get_channel_number(void); MSG_error_t MSG_main(void); MSG_error_t MSG_clean(void); void MSG_function_register(const char *name, m_process_code_t code); m_process_code_t MSG_get_registered_function(const char *name); void MSG_launch_application(const char *file); +void MSG_paje_output(const char *filename); -long double MSG_getClock(void); +double MSG_getClock(void); +double MSG_get_clock(void); /************************** Host handling ***********************************/ MSG_error_t MSG_host_set_data(m_host_t host, void *data); void *MSG_host_get_data(m_host_t host); - -int MSG_process_get_PPID(m_process_t process); const char *MSG_host_get_name(m_host_t host); m_host_t MSG_host_self(void); int MSG_get_host_msgload(m_host_t host); -int MSG_get_msgload(void); +/* int MSG_get_msgload(void); This function lacks specification; discard it */ +double MSG_get_host_speed(m_host_t h); void MSG_create_environment(const char *file); @@ -44,7 +51,11 @@ m_host_t *MSG_get_host_table(void); m_process_t MSG_process_create(const char *name, m_process_code_t code, void *data, m_host_t host); - +m_process_t MSG_process_create_with_arguments(const char *name, + m_process_code_t code, void *data, + m_host_t host, int argc, char **argv); +void MSG_process_kill(m_process_t process); +int MSG_process_killall(int reset_PIDs); MSG_error_t MSG_get_arguments(int *argc, char ***argv); MSG_error_t MSG_set_arguments(m_process_t process,int argc, char *argv[]); @@ -55,6 +66,7 @@ MSG_error_t MSG_process_set_data(m_process_t process, void *data); m_host_t MSG_process_get_host(m_process_t process); m_process_t MSG_process_from_PID(int PID); int MSG_process_get_PID(m_process_t process); +int MSG_process_get_PPID(m_process_t process); const char *MSG_process_get_name(m_process_t process); int MSG_process_self_PID(void); int MSG_process_self_PPID(void); @@ -68,19 +80,42 @@ MSG_error_t MSG_process_start(m_process_t process); /************************** Task handling ************************************/ -m_task_t MSG_task_create(const char *name, long double compute_duration, - long double message_size, void *data); +m_task_t MSG_task_create(const char *name, double compute_duration, + double message_size, void *data); +m_task_t MSG_parallel_task_create(const char *name, + int host_nb, + const m_host_t *host_list, + double *computation_amount, + double *communication_amount, + void *data); void *MSG_task_get_data(m_task_t task); +m_process_t MSG_task_get_sender(m_task_t task); +const char *MSG_task_get_name(m_task_t task); +MSG_error_t MSG_task_cancel(m_task_t task); MSG_error_t MSG_task_destroy(m_task_t task); MSG_error_t MSG_task_get(m_task_t * task, m_channel_t channel); +MSG_error_t MSG_task_get_with_time_out(m_task_t * task, m_channel_t channel, + double max_duration); MSG_error_t MSG_task_put(m_task_t task, m_host_t dest, m_channel_t channel); +MSG_error_t MSG_task_put_bounded(m_task_t task, + m_host_t dest, m_channel_t channel, + double max_rate); MSG_error_t MSG_task_execute(m_task_t task); +MSG_error_t MSG_parallel_task_execute(m_task_t task); + int MSG_task_Iprobe(m_channel_t channel); -void MSG_process_sleep(long double nb_sec); +int MSG_task_probe_from(m_channel_t channel); +MSG_error_t MSG_channel_select_from(m_channel_t channel, double max_duration, + int *PID); +MSG_error_t MSG_process_sleep(double nb_sec); MSG_error_t MSG_get_errno(void); +double MSG_task_get_compute_duration(m_task_t task); +double MSG_task_get_remaining_computation(m_task_t task); +double MSG_task_get_data_size(m_task_t task); + /************************** Deprecated ***************************************/ /* MSG_error_t MSG_routing_table_init(void); */ /* MSG_error_t MSG_routing_table_set(m_host_t host1, m_host_t host2, */ @@ -103,5 +138,5 @@ MSG_error_t MSG_get_errno(void); /* m_link_t MSG_link_merge(const char *name, m_link_t src1, m_link_t src2); */ /* m_link_t MSG_get_link_by_name(const char *name); */ /* void MSG_tracelink(m_host_t dest, const char* **names, int *count); */ - +END_DECL() #endif