- int (*)(void *, void *, smx_action_t), void *data);
-void SIMIX_comm_destroy(smx_action_t action);
-void SIMIX_comm_destroy_internal_actions(smx_action_t action);
-void SIMIX_pre_comm_wait(smx_simcall_t simcall, smx_action_t action, double timeout, int idx);
-smx_action_t SIMIX_comm_iprobe(smx_process_t dst_proc, smx_rdv_t rdv, int src,
- int tag, int (*match_fun)(void *, void *, smx_action_t), void *data);
-void SIMIX_pre_comm_waitany(smx_simcall_t simcall, int idx);
-void SIMIX_post_comm(smx_action_t action);
-void SIMIX_pre_comm_test(smx_simcall_t simcall);
-void SIMIX_pre_comm_testany(smx_simcall_t simcall, int idx);
-void SIMIX_comm_cancel(smx_action_t action);
-double SIMIX_comm_get_remains(smx_action_t action);
-e_smx_state_t SIMIX_comm_get_state(smx_action_t action);
-void SIMIX_comm_suspend(smx_action_t action);
-void SIMIX_comm_resume(smx_action_t action);
-void* SIMIX_comm_get_src_data(smx_action_t action);
-void* SIMIX_comm_get_dst_data(smx_action_t action);
-smx_process_t SIMIX_comm_get_src_proc(smx_action_t action);
-smx_process_t SIMIX_comm_get_dst_proc(smx_action_t action);
+ int (*)(void *, void *, smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
+ void *data, double rate);
+void SIMIX_comm_destroy(smx_synchro_t synchro);
+void SIMIX_comm_destroy_internal_actions(smx_synchro_t synchro);
+smx_synchro_t SIMIX_comm_iprobe(smx_process_t dst_proc, smx_rdv_t rdv, int type, int src,
+ int tag, int (*match_fun)(void *, void *, smx_synchro_t), void *data);
+void SIMIX_post_comm(smx_synchro_t synchro);
+void SIMIX_comm_cancel(smx_synchro_t synchro);
+double SIMIX_comm_get_remains(smx_synchro_t synchro);
+e_smx_state_t SIMIX_comm_get_state(smx_synchro_t synchro);
+void SIMIX_comm_suspend(smx_synchro_t synchro);
+void SIMIX_comm_resume(smx_synchro_t synchro);
+smx_process_t SIMIX_comm_get_src_proc(smx_synchro_t synchro);
+smx_process_t SIMIX_comm_get_dst_proc(smx_synchro_t synchro);