X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e54c5e982d2a6dd3d2d152038819639b088a1086..0f5e8daaa6e9f74521068aa75837200bcd182ea6:/src/include/simix/simix.h diff --git a/src/include/simix/simix.h b/src/include/simix/simix.h index 6ce4cf178a..25fc374aca 100644 --- a/src/include/simix/simix.h +++ b/src/include/simix/simix.h @@ -23,14 +23,19 @@ XBT_PUBLIC(void) SIMIX_clean(void); XBT_PUBLIC(void) SIMIX_function_register(const char *name, xbt_main_func_t code); XBT_PUBLIC(void) SIMIX_function_register_default(xbt_main_func_t code); -XBT_PUBLIC(xbt_main_func_t) SIMIX_get_registered_function(const char *name); +XBT_PUBLIC(xbt_main_func_t) SIMIX_get_registered_function(const char + *name); XBT_PUBLIC(void) SIMIX_launch_application(const char *file); /* * Deployment (Bypass the parser) */ -XBT_PUBLIC(void) SIMIX_process_set_function(const char* process_host,const char *process_function,xbt_dynar_t arguments,double process_start_time,double process_kill_time); +XBT_PUBLIC(void) SIMIX_process_set_function(const char *process_host, + const char *process_function, + xbt_dynar_t arguments, + double process_start_time, + double process_kill_time); XBT_PUBLIC(double) SIMIX_get_clock(void); @@ -53,13 +58,13 @@ XBT_PUBLIC(void) __SIMIX_main(void); * int argc, char **argv: parameters passed to code * * */ - typedef void *(*smx_creation_func_t) ( /*name */ const char *, - /*code */ xbt_main_func_t, - /*userdata */ void *, - /*hostname */ char *, - /* argc */ int, - /* argv */ char **, - /* props */ xbt_dict_t); +typedef void *(*smx_creation_func_t) ( /*name */ const char *, + /*code */ xbt_main_func_t, + /*userdata */ void *, + /*hostname */ char *, + /* argc */ int, + /* argv */ char **, + /* props */ xbt_dict_t); XBT_PUBLIC(void) SIMIX_function_register_process_create(smx_creation_func_t function); XBT_PUBLIC(void) SIMIX_function_register_process_kill(void_f_pvoid_t @@ -94,8 +99,8 @@ XBT_PUBLIC(int) SIMIX_host_get_state(smx_host_t host); XBT_PUBLIC(smx_process_t) SIMIX_process_create(const char *name, xbt_main_func_t code, void *data, - const char *hostname, int argc, - char **argv, + const char *hostname, + int argc, char **argv, xbt_dict_t properties); XBT_PUBLIC(void) SIMIX_process_kill(smx_process_t process); @@ -108,7 +113,8 @@ XBT_PUBLIC(void) SIMIX_process_change_host(smx_process_t process, XBT_PUBLIC(void *) SIMIX_process_get_data(smx_process_t process); XBT_PUBLIC(void) SIMIX_process_set_data(smx_process_t process, void *data); -XBT_INLINE XBT_PUBLIC(smx_host_t) SIMIX_process_get_host(smx_process_t process); +XBT_INLINE XBT_PUBLIC(smx_host_t) SIMIX_process_get_host(smx_process_t + process); XBT_PUBLIC(const char *) SIMIX_process_get_name(smx_process_t process); XBT_INLINE XBT_PUBLIC(smx_process_t) SIMIX_process_self(void); @@ -135,7 +141,8 @@ XBT_PUBLIC(void) SIMIX_mutex_destroy(smx_mutex_t mutex); XBT_PUBLIC(smx_cond_t) SIMIX_cond_init(void); XBT_PUBLIC(void) SIMIX_cond_signal(smx_cond_t cond); XBT_PUBLIC(void) SIMIX_cond_wait(smx_cond_t cond, smx_mutex_t mutex); -XBT_PUBLIC(void) SIMIX_cond_wait_timeout(smx_cond_t cond, smx_mutex_t mutex, +XBT_PUBLIC(void) SIMIX_cond_wait_timeout(smx_cond_t cond, + smx_mutex_t mutex, double max_duration); XBT_PUBLIC(void) SIMIX_cond_broadcast(smx_cond_t cond); XBT_PUBLIC(void) SIMIX_cond_destroy(smx_cond_t cond); @@ -152,7 +159,8 @@ XBT_PUBLIC(void) SIMIX_sem_release_forever(smx_sem_t sem); XBT_PUBLIC(int) SIMIX_sem_would_block(smx_sem_t sem); XBT_PUBLIC(void) SIMIX_sem_block_onto(smx_sem_t sem); XBT_PUBLIC(void) SIMIX_sem_acquire(smx_sem_t sem); -XBT_PUBLIC(void) SIMIX_sem_acquire_timeout(smx_sem_t sem, double max_duration); +XBT_PUBLIC(void) SIMIX_sem_acquire_timeout(smx_sem_t sem, + double max_duration); XBT_PUBLIC(unsigned int) SIMIX_sem_acquire_any(xbt_dynar_t sems); XBT_PUBLIC(int) SIMIX_sem_get_capacity(smx_sem_t sem); @@ -161,11 +169,13 @@ XBT_PUBLIC(int) SIMIX_sem_get_capacity(smx_sem_t sem); XBT_PUBLIC(smx_action_t) SIMIX_action_communicate(smx_host_t sender, smx_host_t receiver, const char *name, - double size, double rate); + double size, + double rate); XBT_PUBLIC(smx_action_t) SIMIX_action_execute(smx_host_t host, const char *name, double amount); -XBT_PUBLIC(smx_action_t) SIMIX_action_sleep(smx_host_t host, double amount); +XBT_PUBLIC(smx_action_t) SIMIX_action_sleep(smx_host_t host, + double amount); XBT_PUBLIC(void) SIMIX_action_cancel(smx_action_t action); XBT_PUBLIC(void) SIMIX_action_set_priority(smx_action_t action, double priority); @@ -179,8 +189,10 @@ XBT_PUBLIC(void) SIMIX_register_action_to_condition(smx_action_t action, smx_cond_t cond); XBT_PUBLIC(void) SIMIX_unregister_action_to_condition(smx_action_t action, smx_cond_t cond); -XBT_PUBLIC(void) SIMIX_register_action_to_semaphore(smx_action_t action, smx_sem_t sem); -XBT_INLINE XBT_PUBLIC(void) SIMIX_unregister_action_to_semaphore(smx_action_t action, smx_sem_t sem); +XBT_PUBLIC(void) SIMIX_register_action_to_semaphore(smx_action_t action, + smx_sem_t sem); +XBT_INLINE XBT_PUBLIC(void) +SIMIX_unregister_action_to_semaphore(smx_action_t action, smx_sem_t sem); XBT_PUBLIC(double) SIMIX_action_get_remains(smx_action_t action); @@ -188,19 +200,20 @@ XBT_PUBLIC(double) SIMIX_action_get_remains(smx_action_t action); XBT_PUBLIC(int) SIMIX_action_is_latency_bounded(smx_action_t action); #endif -XBT_PUBLIC(e_surf_action_state_t) SIMIX_action_get_state(smx_action_t action); +XBT_PUBLIC(e_surf_action_state_t) SIMIX_action_get_state(smx_action_t + action); XBT_PUBLIC(smx_action_t) SIMIX_action_parallel_execute(char *name, int host_nb, - smx_host_t * host_list, - double + smx_host_t * + host_list, double *computation_amount, double *communication_amount, double amount, double rate); XBT_PUBLIC(char *) SIMIX_action_get_name(smx_action_t action); -XBT_PUBLIC(void) SIMIX_action_set_name(smx_action_t action,char *name); +XBT_PUBLIC(void) SIMIX_action_set_name(smx_action_t action, char *name); XBT_PUBLIC(void) SIMIX_action_signal_all(smx_action_t action); XBT_PUBLIC(void) SIMIX_display_process_status(void); /************************** Comunication Handling *****************************/ @@ -209,18 +222,20 @@ XBT_PUBLIC(void) SIMIX_display_process_status(void); /*****Rendez-vous points*****/ XBT_PUBLIC(smx_rdv_t) SIMIX_rdv_create(const char *name); XBT_PUBLIC(void) SIMIX_rdv_destroy(smx_rdv_t rvp); -XBT_PUBLIC(int) SIMIX_rdv_get_count_waiting_comm(smx_rdv_t rdv, smx_host_t host); +XBT_PUBLIC(int) SIMIX_rdv_get_count_waiting_comm(smx_rdv_t rdv, + smx_host_t host); XBT_PUBLIC(smx_comm_t) SIMIX_rdv_get_head(smx_rdv_t rdv); -XBT_PUBLIC(smx_comm_t) SIMIX_rdv_get_request(smx_rdv_t rdv, smx_comm_type_t type); -XBT_PUBLIC(void) SIMIX_rdv_set_data(smx_rdv_t rdv,void *data); -XBT_PUBLIC(void*) SIMIX_rdv_get_data(smx_rdv_t rdv); +XBT_PUBLIC(smx_comm_t) SIMIX_rdv_get_request(smx_rdv_t rdv, + smx_comm_type_t type); +XBT_PUBLIC(void) SIMIX_rdv_set_data(smx_rdv_t rdv, void *data); +XBT_PUBLIC(void *) SIMIX_rdv_get_data(smx_rdv_t rdv); /*****Communication Requests*****/ XBT_INLINE XBT_PUBLIC(void) SIMIX_communication_cancel(smx_comm_t comm); XBT_PUBLIC(void) SIMIX_communication_destroy(smx_comm_t comm); XBT_PUBLIC(double) SIMIX_communication_get_remains(smx_comm_t comm); #ifdef HAVE_LATENCY_BOUND_TRACKING -XBT_PUBLIC(int) SIMIX_communication_is_latency_bounded(smx_comm_t comm); +XBT_PUBLIC(int) SIMIX_communication_is_latency_bounded(smx_comm_t comm); #endif XBT_PUBLIC(void *) SIMIX_communication_get_data(smx_comm_t comm); @@ -230,20 +245,30 @@ XBT_PUBLIC(size_t) SIMIX_communication_get_src_buf_size(smx_comm_t comm); XBT_PUBLIC(size_t) SIMIX_communication_get_dst_buf_size(smx_comm_t comm); /*****Networking*****/ -XBT_PUBLIC(void) SIMIX_network_set_copy_data_callback(void (*callback)(smx_comm_t, size_t)); -XBT_PUBLIC(void) SIMIX_network_copy_pointer_callback(smx_comm_t comm, size_t buff_size); -XBT_PUBLIC(void) SIMIX_network_copy_buffer_callback(smx_comm_t comm, size_t buff_size); -XBT_PUBLIC(void) SIMIX_network_send(smx_rdv_t rdv, double task_size, double rate, - double timeout, void *src_buff, - size_t src_buff_size, smx_comm_t *comm, void *data); -XBT_PUBLIC(void) SIMIX_network_recv(smx_rdv_t rdv, double timeout, void *dst_buff, - size_t *dst_buff_size, smx_comm_t *comm); -XBT_PUBLIC(smx_comm_t) SIMIX_network_isend(smx_rdv_t rdv, double task_size, double rate, - void *src_buff, size_t src_buff_size, void *data); -XBT_PUBLIC(smx_comm_t) SIMIX_network_irecv(smx_rdv_t rdv, void *dst_buff, size_t *dst_buff_size); +XBT_PUBLIC(void) SIMIX_network_set_copy_data_callback(void (*callback) + (smx_comm_t, + size_t)); +XBT_PUBLIC(void) SIMIX_network_copy_pointer_callback(smx_comm_t comm, + size_t buff_size); +XBT_PUBLIC(void) SIMIX_network_copy_buffer_callback(smx_comm_t comm, + size_t buff_size); +XBT_PUBLIC(void) SIMIX_network_send(smx_rdv_t rdv, double task_size, + double rate, double timeout, + void *src_buff, size_t src_buff_size, + smx_comm_t * comm, void *data); +XBT_PUBLIC(void) SIMIX_network_recv(smx_rdv_t rdv, double timeout, + void *dst_buff, size_t * dst_buff_size, + smx_comm_t * comm); +XBT_PUBLIC(smx_comm_t) SIMIX_network_isend(smx_rdv_t rdv, double task_size, + double rate, void *src_buff, + size_t src_buff_size, + void *data); +XBT_PUBLIC(smx_comm_t) SIMIX_network_irecv(smx_rdv_t rdv, void *dst_buff, + size_t * dst_buff_size); XBT_PUBLIC(unsigned int) SIMIX_network_waitany(xbt_dynar_t comms); -XBT_INLINE XBT_PUBLIC(void) SIMIX_network_wait(smx_comm_t comm, double timeout); +XBT_INLINE XBT_PUBLIC(void) SIMIX_network_wait(smx_comm_t comm, + double timeout); XBT_PUBLIC(int) SIMIX_network_test(smx_comm_t comm); SG_END_DECL() -#endif /* _SIMIX_SIMIX_H */ +#endif /* _SIMIX_SIMIX_H */