-/* Constructor and Destructor */
-XBT_PUBLIC(smx_process_t) simcall_process_create(const char *name,
- xbt_main_func_t code,
- void *data,
- const char *hostname,
- double kill_time,
- int argc, char **argv,
- xbt_dict_t properties,
- int auto_restart);
-
-XBT_PUBLIC(void) simcall_process_kill(smx_process_t process);
-XBT_PUBLIC(void) simcall_process_killall(int reset_pid);
-XBT_PUBLIC(void) SIMIX_process_throw(smx_process_t process, xbt_errcat_t cat, int value, const char *msg);
-
-
-/* Process handling */
-XBT_PUBLIC(void) simcall_process_cleanup(smx_process_t process);
-XBT_PUBLIC(void) simcall_process_suspend(smx_process_t process);
-XBT_PUBLIC(void) simcall_process_resume(smx_process_t process);
-
-/* Getters and Setters */
-XBT_PUBLIC(int) simcall_process_count(void);
-XBT_PUBLIC(void *) simcall_process_get_data(smx_process_t process);
-XBT_PUBLIC(void) simcall_process_set_data(smx_process_t process, void *data);
-XBT_PUBLIC(void) simcall_process_set_host(smx_process_t process, sg_host_t dest);
-XBT_PUBLIC(sg_host_t) simcall_process_get_host(smx_process_t process);
-XBT_PUBLIC(const char *) simcall_process_get_name(smx_process_t process);
-XBT_PUBLIC(int) simcall_process_get_PID(smx_process_t process);
-XBT_PUBLIC(int) simcall_process_get_PPID(smx_process_t process);
-XBT_PUBLIC(int) simcall_process_is_suspended(smx_process_t process);
-XBT_PUBLIC(xbt_dict_t) simcall_process_get_properties(smx_process_t host);
-XBT_PUBLIC(void) simcall_process_set_kill_time(smx_process_t process, double kill_time);
-XBT_PUBLIC(double) simcall_process_get_kill_time(smx_process_t process);
-XBT_PUBLIC(void) simcall_process_on_exit(smx_process_t process, int_f_pvoid_pvoid_t fun, void *data);
-XBT_PUBLIC(void) simcall_process_auto_restart_set(smx_process_t process, int auto_restart);
-XBT_PUBLIC(smx_process_t) simcall_process_restart(smx_process_t process);
-XBT_PUBLIC(void) simcall_process_join(smx_process_t process, double timeout);
-/* Sleep control */
-XBT_PUBLIC(e_smx_state_t) simcall_process_sleep(double duration);
-
-/************************** Comunication simcalls *****************************/
-/***** Rendez-vous points *****/
-
-XBT_PUBLIC(smx_mailbox_t) simcall_mbox_create(const char *name);
-XBT_PUBLIC(smx_mailbox_t) simcall_mbox_get_by_name(const char *name);
-XBT_PUBLIC(smx_synchro_t) simcall_mbox_front(smx_mailbox_t mbox);
-XBT_PUBLIC(void) simcall_mbox_set_receiver(smx_mailbox_t mbox , smx_process_t process);
-
-/***** Communication simcalls *****/
-
-XBT_PUBLIC(void) simcall_comm_send(smx_process_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_synchro_t),
- void (*copy_data_fun)(smx_synchro_t, void*, size_t),
- void *data, double timeout);
-
-XBT_PUBLIC(smx_synchro_t) simcall_comm_isend(smx_process_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_synchro_t),
- void (*clean_fun)(void *),
- void (*copy_data_fun)(smx_synchro_t, void*, size_t),
- void *data, int detached);
-
-XBT_PUBLIC(void) simcall_comm_recv(smx_process_t receiver, smx_mailbox_t mbox, void *dst_buff,
- size_t * dst_buff_size,
- int (*match_fun)(void *, void *, smx_synchro_t),
- void (*copy_data_fun)(smx_synchro_t, void*, size_t),
- void *data, double timeout, double rate);
-
-XBT_PUBLIC(smx_synchro_t) simcall_comm_irecv(smx_process_t receiver, smx_mailbox_t mbox, void *dst_buff,
- size_t * dst_buff_size,
- int (*match_fun)(void *, void *, smx_synchro_t),
- void (*copy_data_fun)(smx_synchro_t, void*, size_t),
- void *data, double rate);
-
-XBT_PUBLIC(smx_synchro_t) simcall_comm_iprobe(smx_mailbox_t mbox, int type, int src, int tag,
- int (*match_fun)(void *, void *, smx_synchro_t), void *data);
-XBT_PUBLIC(void) simcall_comm_cancel(smx_synchro_t comm);