/********************************* Process ************************************/
XBT_PUBLIC(void) SIMIX_process_cleanup(smx_process_t arg);
XBT_PUBLIC(int) SIMIX_process_count(void);
/********************************* Process ************************************/
XBT_PUBLIC(void) SIMIX_process_cleanup(smx_process_t arg);
XBT_PUBLIC(int) SIMIX_process_count(void);
XBT_PUBLIC(const char*) SIMIX_process_self_get_name(void);
XBT_PUBLIC(void) SIMIX_process_self_set_data(void *data);
XBT_PUBLIC(void*) SIMIX_process_self_get_data(void);
XBT_PUBLIC(const char*) SIMIX_process_self_get_name(void);
XBT_PUBLIC(void) SIMIX_process_self_set_data(void *data);
XBT_PUBLIC(void*) SIMIX_process_self_get_data(void);
XBT_PUBLIC(smx_context_t) SIMIX_process_get_context(smx_process_t);
XBT_PUBLIC(void) SIMIX_process_set_context(smx_process_t p,smx_context_t c);
XBT_PUBLIC(smx_context_t) SIMIX_process_get_context(smx_process_t);
XBT_PUBLIC(void) SIMIX_process_set_context(smx_process_t p,smx_context_t c);
XBT_PUBLIC(void) SIMIX_req_host_set_data(smx_host_t host, void *data);
XBT_PUBLIC(smx_action_t) SIMIX_req_host_execute(const char *name, smx_host_t host,
XBT_PUBLIC(void) SIMIX_req_host_set_data(smx_host_t host, void *data);
XBT_PUBLIC(smx_action_t) SIMIX_req_host_execute(const char *name, smx_host_t host,
XBT_PUBLIC(double) SIMIX_req_host_execution_get_remains(smx_action_t execution);
XBT_PUBLIC(e_smx_state_t) SIMIX_req_host_execution_get_state(smx_action_t execution);
XBT_PUBLIC(void) SIMIX_req_host_execution_set_priority(smx_action_t execution, double priority);
XBT_PUBLIC(double) SIMIX_req_host_execution_get_remains(smx_action_t execution);
XBT_PUBLIC(e_smx_state_t) SIMIX_req_host_execution_get_state(smx_action_t execution);
XBT_PUBLIC(void) SIMIX_req_host_execution_set_priority(smx_action_t execution, double priority);
XBT_PUBLIC(smx_action_t) SIMIX_req_comm_isend(smx_rdv_t rdv, double task_size,
double rate, void *src_buff,
size_t src_buff_size,
XBT_PUBLIC(smx_action_t) SIMIX_req_comm_isend(smx_rdv_t rdv, double task_size,
double rate, void *src_buff,
size_t src_buff_size,
/* Getters and setters */
XBT_PUBLIC(double) SIMIX_req_comm_get_remains(smx_action_t comm);
XBT_PUBLIC(e_smx_state_t) SIMIX_req_comm_get_state(smx_action_t comm);
/* Getters and setters */
XBT_PUBLIC(double) SIMIX_req_comm_get_remains(smx_action_t comm);
XBT_PUBLIC(e_smx_state_t) SIMIX_req_comm_get_state(smx_action_t comm);
XBT_PUBLIC(void *) SIMIX_req_comm_get_src_buff(smx_action_t comm);
XBT_PUBLIC(void *) SIMIX_req_comm_get_dst_buff(smx_action_t comm);
XBT_PUBLIC(size_t) SIMIX_req_comm_get_src_buff_size(smx_action_t comm);
XBT_PUBLIC(void *) SIMIX_req_comm_get_src_buff(smx_action_t comm);
XBT_PUBLIC(void *) SIMIX_req_comm_get_dst_buff(smx_action_t comm);
XBT_PUBLIC(size_t) SIMIX_req_comm_get_src_buff_size(smx_action_t comm);
/************************** Synchro handling **********************************/
XBT_PUBLIC(smx_mutex_t) SIMIX_req_mutex_init(void);
/************************** Synchro handling **********************************/
XBT_PUBLIC(smx_mutex_t) SIMIX_req_mutex_init(void);
XBT_PUBLIC(unsigned int) SIMIX_req_sem_acquire_any(xbt_dynar_t sems);
XBT_PUBLIC(int) SIMIX_req_sem_get_capacity(smx_sem_t sem);
XBT_PUBLIC(unsigned int) SIMIX_req_sem_acquire_any(xbt_dynar_t sems);
XBT_PUBLIC(int) SIMIX_req_sem_get_capacity(smx_sem_t sem);