-SG_BEGIN_DECL()
-/* Constructor and Destructor */
-XBT_PUBLIC(smx_actor_t)
-simcall_process_create(const char* name, xbt_main_func_t code, void* data, sg_host_t host, int argc, char** argv,
- xbt_dict_t properties);
-
-XBT_PUBLIC(void) simcall_process_kill(smx_actor_t process);
-XBT_PUBLIC(void) simcall_process_killall(int reset_pid);
-XBT_PUBLIC(void) SIMIX_process_throw(smx_actor_t process, xbt_errcat_t cat, int value, const char *msg);
-
-
-/* Process handling */
-XBT_PUBLIC(void) simcall_process_cleanup(smx_actor_t process);
-XBT_PUBLIC(void) simcall_process_suspend(smx_actor_t process);
-XBT_PUBLIC(void) simcall_process_resume(smx_actor_t process);
-
-/* Getters and Setters */
-XBT_PUBLIC(int) simcall_process_count();
-XBT_PUBLIC(void) simcall_process_set_data(smx_actor_t process, void *data);
-XBT_PUBLIC(void) simcall_process_set_host(smx_actor_t process, sg_host_t dest);
-XBT_PUBLIC(int) simcall_process_is_suspended(smx_actor_t process);
-XBT_PUBLIC(xbt_dict_t) simcall_process_get_properties(smx_actor_t host);
-XBT_PUBLIC(void) simcall_process_set_kill_time(smx_actor_t process, double kill_time);
-XBT_PUBLIC(double) simcall_process_get_kill_time(smx_actor_t process);
-XBT_PUBLIC(void) simcall_process_on_exit(smx_actor_t process, int_f_pvoid_pvoid_t fun, void *data);
-XBT_PUBLIC(void) simcall_process_auto_restart_set(smx_actor_t process, int auto_restart);
-XBT_PUBLIC(smx_actor_t) simcall_process_restart(smx_actor_t process);
-XBT_PUBLIC(void) simcall_process_join(smx_actor_t process, double timeout);
-/* Sleep control */
-XBT_PUBLIC(e_smx_state_t) simcall_process_sleep(double duration);
-SG_END_DECL()
-
-/************************** Comunication simcalls *****************************/
-
-XBT_PUBLIC(void) simcall_comm_send(smx_actor_t sender, smx_mailbox_t mbox, double task_size,
- double rate, void *src_buff,
- size_t src_buff_size,
- int (*match_fun)(void *, void *, smx_activity_t),
- void (*copy_data_fun)(smx_activity_t, void*, size_t),
- void *data, double timeout);
-
-XBT_PUBLIC(smx_activity_t) simcall_comm_isend(smx_actor_t sender, smx_mailbox_t mbox,
- double task_size,
- double rate, void *src_buff,
- size_t src_buff_size,
- int (*match_fun)(void *, void *, smx_activity_t),
- void (*clean_fun)(void *),
- void (*copy_data_fun)(smx_activity_t, void*, size_t),
- void *data, int detached);
-
-XBT_PUBLIC(void) simcall_comm_recv(smx_actor_t receiver, smx_mailbox_t mbox, void *dst_buff,
- size_t * dst_buff_size,
- int (*match_fun)(void *, void *, smx_activity_t),
- void (*copy_data_fun)(smx_activity_t, void*, size_t),
- void *data, double timeout, double rate);
-
-XBT_PUBLIC(smx_activity_t) simcall_comm_irecv(smx_actor_t receiver, smx_mailbox_t mbox, void *dst_buff,
- size_t * dst_buff_size,
- int (*match_fun)(void *, void *, smx_activity_t),
- void (*copy_data_fun)(smx_activity_t, void*, size_t),
- void *data, double rate);
-
-XBT_PUBLIC(smx_activity_t) simcall_comm_iprobe(smx_mailbox_t mbox, int type, int src, int tag,
- int (*match_fun)(void *, void *, smx_activity_t), void *data);
-XBT_PUBLIC(void) simcall_comm_cancel(smx_activity_t comm);
-
-/* 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(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_testany(smx_activity_t* comms, size_t count);
-
-/************************** Tracing handling **********************************/
-XBT_PUBLIC(void) simcall_set_category(smx_activity_t synchro, const char *category);
+SG_BEGIN_DECL
+XBT_ATTRIB_DEPRECATED_v329("This function will be removed in 3.29") void simcall_process_set_data(smx_actor_t process,
+ void* data);
+XBT_ATTRIB_DEPRECATED_v328("Please use sg_actor_suspend()") XBT_PUBLIC
+ void simcall_process_suspend(smx_actor_t process);
+
+XBT_ATTRIB_DEPRECATED_v328("Please use sg_actor_join()") XBT_PUBLIC
+ void simcall_process_join(smx_actor_t process, double timeout);
+
+XBT_ATTRIB_DEPRECATED_v329("Please use sg_actor_sleep_for()") XBT_PUBLIC e_smx_state_t
+ simcall_process_sleep(double duration);
+SG_END_DECL
+
+/************************** Communication simcalls ****************************/
+
+#ifdef __cplusplus
+XBT_PUBLIC void simcall_comm_send(smx_actor_t sender, smx_mailbox_t mbox, double task_size, double rate, void* src_buff,
+ size_t src_buff_size,
+ bool (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*),
+ void (*copy_data_fun)(simgrid::kernel::activity::CommImpl*, void*, size_t),
+ void* data, double timeout);
+
+XBT_PUBLIC simgrid::kernel::activity::ActivityImplPtr
+simcall_comm_isend(smx_actor_t sender, smx_mailbox_t mbox, double task_size, double rate, void* src_buff,
+ size_t src_buff_size, bool (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*),
+ void (*clean_fun)(void*), void (*copy_data_fun)(simgrid::kernel::activity::CommImpl*, void*, size_t),
+ void* data, bool detached);
+
+XBT_PUBLIC void simcall_comm_recv(smx_actor_t receiver, smx_mailbox_t mbox, void* dst_buff, size_t* dst_buff_size,
+ bool (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*),
+ void (*copy_data_fun)(simgrid::kernel::activity::CommImpl*, void*, size_t),
+ void* data, double timeout, double rate);
+
+XBT_PUBLIC simgrid::kernel::activity::ActivityImplPtr
+simcall_comm_irecv(smx_actor_t receiver, smx_mailbox_t mbox, void* dst_buff, size_t* dst_buff_size,
+ bool (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*),
+ void (*copy_data_fun)(simgrid::kernel::activity::CommImpl*, void*, size_t), void* data, double rate);
+
+XBT_ATTRIB_DEPRECATED_v330("Please use Mailbox::iprobe()") XBT_PUBLIC simgrid::kernel::activity::ActivityImplPtr
+ simcall_comm_iprobe(smx_mailbox_t mbox, int type,
+ bool (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*), void* data);
+
+XBT_ATTRIB_DEPRECATED_v330("Please use a CommImpl*[] for first parameter") XBT_PUBLIC
+ unsigned int simcall_comm_waitany(simgrid::kernel::activity::ActivityImplPtr comms[], size_t count, double timeout);
+XBT_PUBLIC unsigned int simcall_comm_waitany(simgrid::kernel::activity::CommImpl* comms[], size_t count,
+ double timeout);
+XBT_PUBLIC void simcall_comm_wait(simgrid::kernel::activity::ActivityImpl* comm, double timeout);
+XBT_PUBLIC bool simcall_comm_test(simgrid::kernel::activity::ActivityImpl* comm);
+XBT_ATTRIB_DEPRECATED_v330("Please use a CommImpl*[] for first parameter") XBT_PUBLIC
+ int simcall_comm_testany(simgrid::kernel::activity::ActivityImplPtr comms[], size_t count);
+XBT_PUBLIC int simcall_comm_testany(simgrid::kernel::activity::CommImpl* comms[], size_t count);
+
+XBT_ATTRIB_DEPRECATED_v330("Please use a ActivityImpl* for first parameter") inline void simcall_comm_wait(
+ const simgrid::kernel::activity::ActivityImplPtr& comm, double timeout)
+{
+ simcall_comm_wait(comm.get(), timeout);
+}
+XBT_ATTRIB_DEPRECATED_v330("Please use a ActivityImpl* for first parameter") inline bool simcall_comm_test(
+ const simgrid::kernel::activity::ActivityImplPtr& comm)
+{
+ return simcall_comm_test(comm.get());
+}
+#endif