Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Specialize parameter for simcall comm_test.
[simgrid.git] / include / simgrid / simix.h
index 61755af..66bfc62 100644 (file)
@@ -176,9 +176,9 @@ XBT_ATTRIB_DEPRECATED_v325("Please use CommImpl::finish") XBT_PUBLIC void SIMIX_
 XBT_PUBLIC smx_activity_t simcall_execution_parallel_start(const std::string& name, int host_nb,
                                                            const sg_host_t* host_list, const double* flops_amount,
                                                            const double* bytes_amount, double rate, double timeout);
+XBT_PUBLIC e_smx_state_t simcall_execution_wait(const smx_activity_t& execution);
+XBT_PUBLIC e_smx_state_t simcall_execution_test(const smx_activity_t& execution);
 #endif
-XBT_PUBLIC e_smx_state_t simcall_execution_wait(smx_activity_t execution);
-XBT_PUBLIC e_smx_state_t simcall_execution_test(smx_activity_t execution);
 
 /**************************** Process simcalls ********************************/
 SG_BEGIN_DECL()
@@ -224,13 +224,13 @@ XBT_PUBLIC smx_activity_t simcall_comm_irecv(smx_actor_t receiver, smx_mailbox_t
 XBT_PUBLIC smx_activity_t simcall_comm_iprobe(smx_mailbox_t mbox, int type,
                                               int (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*),
                                               void* data);
-#endif
 
 /* FIXME: waitany is going to be a vararg function, and should take a timeout */
-XBT_PUBLIC unsigned int simcall_comm_waitany(xbt_dynar_t comms, double timeout);
+XBT_PUBLIC unsigned int simcall_comm_waitany(smx_activity_t* comms, size_t count, double timeout);
 XBT_PUBLIC void simcall_comm_wait(smx_activity_t comm, double timeout);
-XBT_PUBLIC int simcall_comm_test(smx_activity_t comm);
+XBT_PUBLIC int simcall_comm_test(const smx_activity_t& comm);
 XBT_PUBLIC int simcall_comm_testany(smx_activity_t* comms, size_t count);
+#endif
 
 /************************** Synchro simcalls **********************************/
 SG_BEGIN_DECL()
@@ -247,13 +247,19 @@ XBT_PUBLIC int simcall_cond_wait_timeout(smx_cond_t cond, smx_mutex_t mutex, dou
 
 XBT_PUBLIC void simcall_sem_acquire(smx_sem_t sem);
 XBT_PUBLIC int simcall_sem_acquire_timeout(smx_sem_t sem, double max_duration);
+SG_END_DECL()
 
 /*****************************   Io   **************************************/
-XBT_PUBLIC e_smx_state_t simcall_io_wait(smx_activity_t io);
+#ifdef __cplusplus
+XBT_PUBLIC e_smx_state_t simcall_io_wait(const smx_activity_t& io);
+#endif
 /************************** MC simcalls   **********************************/
+SG_BEGIN_DECL()
 XBT_PUBLIC int simcall_mc_random(int min, int max);
+SG_END_DECL()
 
 /***************************** DEPRECATED CALLS ****************************/
+SG_BEGIN_DECL()
 XBT_ATTRIB_DEPRECATED_v325("Please use sg_actor_set_kill_time()") XBT_PUBLIC
     void simcall_process_set_kill_time(smx_actor_t process, double kill_time);