/* module handling */
-XBT_PUBLIC void amok_bw_init(void);
-XBT_PUBLIC void amok_bw_exit(void);
+XBT_PUBLIC(void) amok_bw_init(void);
+XBT_PUBLIC(void) amok_bw_exit(void);
-XBT_PUBLIC void amok_bw_test(gras_socket_t peer,
+XBT_PUBLIC(void) amok_bw_test(gras_socket_t peer,
unsigned long int buf_size,unsigned long int exp_size,unsigned long int msg_size,
double min_duration,
/*OUT*/ double *sec, double *bw);
-XBT_PUBLIC void amok_bw_request(const char* from_name,unsigned int from_port,
+XBT_PUBLIC(void) amok_bw_request(const char* from_name,unsigned int from_port,
const char* to_name,unsigned int to_port,
unsigned long int buf_size,unsigned long int exp_size,unsigned long int msg_size,
double min_duration,
/*OUT*/ double *sec, double*bw);
-XBT_PUBLIC double * amok_bw_matrix(xbt_dynar_t hosts, /* dynar of xbt_host_t */
+XBT_PUBLIC(double*) amok_bw_matrix(xbt_dynar_t hosts, /* dynar of xbt_host_t */
int buf_size_bw, int msg_size_bw, int msg_amount_bw, double min_duration);
/* ***************************************************************************
* ***************************************************************************/
-XBT_PUBLIC void amok_bw_saturate_start(const char* from_name,unsigned int from_port,
+XBT_PUBLIC(void) amok_bw_saturate_start(const char* from_name,unsigned int from_port,
const char* to_name,unsigned int to_port,
unsigned int msg_size, double duration);
-XBT_PUBLIC void amok_bw_saturate_begin(const char* to_name,unsigned int to_port,
+XBT_PUBLIC(void) amok_bw_saturate_begin(const char* to_name,unsigned int to_port,
unsigned int msg_size, double duration,
/*out*/ double *elapsed, double *bw);
-XBT_PUBLIC void amok_bw_saturate_stop(const char* from_name,unsigned int from_port,
+XBT_PUBLIC(void) amok_bw_saturate_stop(const char* from_name,unsigned int from_port,
/*out*/ double *time, double *bw);
/** @} */
double value;
} amok_result_t;
-XBT_PUBLIC void amok_base_init(void);
-XBT_PUBLIC void amok_base_exit(void);
+XBT_PUBLIC(void) amok_base_init(void);
+XBT_PUBLIC(void) amok_base_exit(void);
#endif /* AMOK_BASE_H */
*/
/* module handling */
-XBT_PUBLIC void amok_pm_init(void);
-XBT_PUBLIC void amok_pm_exit(void);
+XBT_PUBLIC(void) amok_pm_init(void);
+XBT_PUBLIC(void) amok_pm_exit(void);
-XBT_PUBLIC void amok_pm_mainloop(double timeOut);
+XBT_PUBLIC(void) amok_pm_mainloop(double timeOut);
-XBT_PUBLIC void amok_pm_kill_hp(char *name,int port);
-XBT_PUBLIC void amok_pm_kill(gras_socket_t buddy);
-XBT_PUBLIC void amok_pm_kill_sync(gras_socket_t buddy);
+XBT_PUBLIC(void) amok_pm_kill_hp(char *name,int port);
+XBT_PUBLIC(void) amok_pm_kill(gras_socket_t buddy);
+XBT_PUBLIC(void) amok_pm_kill_sync(gras_socket_t buddy);
-XBT_PUBLIC xbt_dynar_t amok_pm_group_new(const char *group_name);
-XBT_PUBLIC xbt_dynar_t amok_pm_group_get(gras_socket_t master, const char *group_name);
+XBT_PUBLIC(xbt_dynar_t) amok_pm_group_new(const char *group_name);
+XBT_PUBLIC(xbt_dynar_t) amok_pm_group_get(gras_socket_t master, const char *group_name);
-XBT_PUBLIC void amok_pm_group_join(gras_socket_t master, const char *group_name);
-XBT_PUBLIC void amok_pm_group_leave(gras_socket_t master, const char *group_name);
+XBT_PUBLIC(void) amok_pm_group_join(gras_socket_t master, const char *group_name);
+XBT_PUBLIC(void) amok_pm_group_leave(gras_socket_t master, const char *group_name);
-XBT_PUBLIC void amok_pm_group_shutdown(const char *group_name);
-XBT_PUBLIC void amok_pm_group_shutdown_remote(gras_socket_t master, const char *group_name);
+XBT_PUBLIC(void) amok_pm_group_shutdown(const char *group_name);
+XBT_PUBLIC(void) amok_pm_group_shutdown_remote(gras_socket_t master, const char *group_name);
/** @} */
#include <gras/messages.h>
#include <gras/timer.h>
-XBT_PUBLIC void gras_init(int *argc, char **argv);
-XBT_PUBLIC void gras_exit(void);
+XBT_PUBLIC(void) gras_init(int *argc, char **argv);
+XBT_PUBLIC(void) gras_exit(void);
#endif /* GRAS_H */
typedef struct s_gras_datadesc_type *gras_datadesc_type_t;
/** \brief Search a type description from its name */
-XBT_PUBLIC gras_datadesc_type_t gras_datadesc_by_name(const char *name);
-XBT_PUBLIC gras_datadesc_type_t gras_datadesc_by_name_or_null(const char *name);
+XBT_PUBLIC(gras_datadesc_type_t) gras_datadesc_by_name(const char *name);
+XBT_PUBLIC(gras_datadesc_type_t) gras_datadesc_by_name_or_null(const char *name);
/* @} */
/** @brief Defines the value of a define to the datatype parsing infrastructure
*/
-XBT_PUBLIC void gras_datadesc_set_const(const char*name, int value);
+XBT_PUBLIC(void) gras_datadesc_set_const(const char*name, int value);
/* @} */
-XBT_PUBLIC gras_datadesc_type_t
+XBT_PUBLIC(gras_datadesc_type_t)
gras_datadesc_parse(const char *name, const char *C_statement);
/** @defgroup GRAS_dd_manual Simple manual data description
**** Declare datadescription yourself ****
******************************************/
-XBT_PUBLIC gras_datadesc_type_t gras_datadesc_struct(const char *name);
-XBT_PUBLIC void gras_datadesc_struct_append(gras_datadesc_type_t struct_type,
+XBT_PUBLIC(gras_datadesc_type_t) gras_datadesc_struct(const char *name);
+XBT_PUBLIC(void) gras_datadesc_struct_append(gras_datadesc_type_t struct_type,
const char *name,
gras_datadesc_type_t field_type);
-XBT_PUBLIC void gras_datadesc_struct_close(gras_datadesc_type_t struct_type);
+XBT_PUBLIC(void) gras_datadesc_struct_close(gras_datadesc_type_t struct_type);
-XBT_PUBLIC gras_datadesc_type_t gras_datadesc_union(const char *name,
+XBT_PUBLIC(gras_datadesc_type_t) gras_datadesc_union(const char *name,
gras_datadesc_type_cb_int_t selector);
-XBT_PUBLIC void gras_datadesc_union_append(gras_datadesc_type_t union_type,
+XBT_PUBLIC(void) gras_datadesc_union_append(gras_datadesc_type_t union_type,
const char *name,
gras_datadesc_type_t field_type);
-XBT_PUBLIC void gras_datadesc_union_close(gras_datadesc_type_t union_type);
+XBT_PUBLIC(void) gras_datadesc_union_close(gras_datadesc_type_t union_type);
-XBT_PUBLIC gras_datadesc_type_t
+XBT_PUBLIC(gras_datadesc_type_t)
gras_datadesc_ref(const char *name,
gras_datadesc_type_t referenced_type);
-XBT_PUBLIC gras_datadesc_type_t
+XBT_PUBLIC(gras_datadesc_type_t)
gras_datadesc_ref_generic(const char *name,
gras_datadesc_selector_t selector);
-XBT_PUBLIC gras_datadesc_type_t
+XBT_PUBLIC(gras_datadesc_type_t)
gras_datadesc_array_fixed(const char *name,
gras_datadesc_type_t element_type,
long int fixed_size);
-XBT_PUBLIC gras_datadesc_type_t
+XBT_PUBLIC(gras_datadesc_type_t)
gras_datadesc_array_dyn(const char *name,
gras_datadesc_type_t element_type,
gras_datadesc_type_cb_int_t dynamic_size);
-XBT_PUBLIC gras_datadesc_type_t
+XBT_PUBLIC(gras_datadesc_type_t)
gras_datadesc_ref_pop_arr(gras_datadesc_type_t element_type);
-XBT_PUBLIC gras_datadesc_type_t
+XBT_PUBLIC(gras_datadesc_type_t)
gras_datadesc_dynar(gras_datadesc_type_t elm_t,
void_f_pvoid_t *free_func);
-XBT_PUBLIC gras_datadesc_type_t
+XBT_PUBLIC(gras_datadesc_type_t)
gras_datadesc_matrix(gras_datadesc_type_t elm_t,
void_f_pvoid_t * const free_f);
*********************************/
/** \brief Specify that this type may contain cycles */
-XBT_PUBLIC void gras_datadesc_cycle_set(gras_datadesc_type_t type);
+XBT_PUBLIC(void) gras_datadesc_cycle_set(gras_datadesc_type_t type);
/** \brief Specify that this type do not contain any cycles (default) */
-XBT_PUBLIC void gras_datadesc_cycle_unset(gras_datadesc_type_t type);
+XBT_PUBLIC(void) gras_datadesc_cycle_unset(gras_datadesc_type_t type);
/** \brief Add a pre-send callback to this datadesc. */
-XBT_PUBLIC void gras_datadesc_cb_send (gras_datadesc_type_t type,
+XBT_PUBLIC(void) gras_datadesc_cb_send (gras_datadesc_type_t type,
gras_datadesc_type_cb_void_t pre);
/** \brief Add a post-receive callback to this datadesc.*/
-XBT_PUBLIC void gras_datadesc_cb_recv(gras_datadesc_type_t type,
+XBT_PUBLIC(void) gras_datadesc_cb_recv(gras_datadesc_type_t type,
gras_datadesc_type_cb_void_t post);
/** \brief Add a pre-send callback to the given field of the datadesc */
-XBT_PUBLIC void gras_datadesc_cb_field_send (gras_datadesc_type_t type,
+XBT_PUBLIC(void) gras_datadesc_cb_field_send (gras_datadesc_type_t type,
const char *field_name,
gras_datadesc_type_cb_void_t pre);
/** \brief Add a post-receive callback to the given field of the datadesc */
-XBT_PUBLIC void gras_datadesc_cb_field_recv(gras_datadesc_type_t type,
+XBT_PUBLIC(void) gras_datadesc_cb_field_recv(gras_datadesc_type_t type,
const char *field_name,
gras_datadesc_type_cb_void_t post);
/** \brief Add a pre-send callback to the given field resulting in its value to be pushed */
-XBT_PUBLIC void gras_datadesc_cb_field_push (gras_datadesc_type_t type,
+XBT_PUBLIC(void) gras_datadesc_cb_field_push (gras_datadesc_type_t type,
const char *field_name);
/** \brief Add a pre-send callback to the given field resulting in its value multiplied to any previously pushed value and then pushed back */
-XBT_PUBLIC void gras_datadesc_cb_field_push_multiplier (gras_datadesc_type_t type,
+XBT_PUBLIC(void) gras_datadesc_cb_field_push_multiplier (gras_datadesc_type_t type,
const char *field_name);
/******************************
* Get stuff within datadescs *
******************************/
/** \brief Returns the name of a datadescription */
-XBT_PUBLIC const char * gras_datadesc_get_name(gras_datadesc_type_t ddt);
+XBT_PUBLIC(const char *) gras_datadesc_get_name(gras_datadesc_type_t ddt);
/** \brief Returns the identifier of a datadescription */
-XBT_PUBLIC int gras_datadesc_get_id(gras_datadesc_type_t ddt);
+XBT_PUBLIC(int) gras_datadesc_get_id(gras_datadesc_type_t ddt);
/* @} */
*/
/* @{ */
-XBT_PUBLIC void
+XBT_PUBLIC(void)
gras_cbps_i_push(gras_cbps_t ps, int val);
-XBT_PUBLIC int
+XBT_PUBLIC(int)
gras_cbps_i_pop(gras_cbps_t ps);
-XBT_PUBLIC int gras_datadesc_cb_pop(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+XBT_PUBLIC(int) gras_datadesc_cb_pop(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC void gras_datadesc_cb_push_int(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC void gras_datadesc_cb_push_uint(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC void gras_datadesc_cb_push_lint(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC void gras_datadesc_cb_push_ulint(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_int(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_uint(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_lint(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_ulint(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC void gras_datadesc_cb_push_int_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC void gras_datadesc_cb_push_uint_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC void gras_datadesc_cb_push_lint_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC void gras_datadesc_cb_push_ulint_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_int_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_uint_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_lint_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_ulint_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
/* @} */
/* @{ */
-XBT_PUBLIC void gras_cbps_v_pop (gras_cbps_t ps,
+XBT_PUBLIC(void) gras_cbps_v_pop (gras_cbps_t ps,
const char *name,
/* OUT */ gras_datadesc_type_t *ddt,
/* OUT */ void **res);
-XBT_PUBLIC void gras_cbps_v_push(gras_cbps_t ps,
+XBT_PUBLIC(void) gras_cbps_v_push(gras_cbps_t ps,
const char *name,
void *data,
gras_datadesc_type_t ddt);
-XBT_PUBLIC void gras_cbps_v_set (gras_cbps_t ps,
+XBT_PUBLIC(void) gras_cbps_v_set (gras_cbps_t ps,
const char *name,
void *data,
gras_datadesc_type_t ddt);
-XBT_PUBLIC void * gras_cbps_v_get (gras_cbps_t ps,
+XBT_PUBLIC(void*) gras_cbps_v_get (gras_cbps_t ps,
const char *name,
/* OUT */ gras_datadesc_type_t *ddt);
-XBT_PUBLIC void gras_cbps_block_begin(gras_cbps_t ps);
-XBT_PUBLIC void gras_cbps_block_end(gras_cbps_t ps);
+XBT_PUBLIC(void) gras_cbps_block_begin(gras_cbps_t ps);
+XBT_PUBLIC(void) gras_cbps_block_end(gras_cbps_t ps);
/* @} */
/* @} */
/*******************************
**** About data convertion ****
*******************************/
-XBT_PUBLIC int gras_arch_selfid(void); /* ID of this arch */
+XBT_PUBLIC(int) gras_arch_selfid(void); /* ID of this arch */
/*****************************
sizeof(structType) - offsetof(structType, lastMember) - \
sizeof(memberType) * repetitions
-XBT_PUBLIC gras_datadesc_type_t
+XBT_PUBLIC(gras_datadesc_type_t)
gras_datadesc_import_nws(const char *name,
const DataDescriptor *desc,
unsigned long howmany);
*/
/** \brief Returns true only if the program runs on real life */
-XBT_PUBLIC int gras_if_RL(void);
+XBT_PUBLIC(int) gras_if_RL(void);
/** \brief Returns true only if the program runs within the simulator */
-XBT_PUBLIC int gras_if_SG(void);
+XBT_PUBLIC(int) gras_if_SG(void);
/** @} */
-XBT_PUBLIC int gras_bench_always_begin(const char *location, int line);
-XBT_PUBLIC int gras_bench_always_end(void);
-XBT_PUBLIC int gras_bench_once_begin(const char *location, int line);
-XBT_PUBLIC int gras_bench_once_end(void);
+XBT_PUBLIC(int) gras_bench_always_begin(const char *location, int line);
+XBT_PUBLIC(int) gras_bench_always_end(void);
+XBT_PUBLIC(int) gras_bench_once_begin(const char *location, int line);
+XBT_PUBLIC(int) gras_bench_once_end(void);
/** @addtogroup GRAS_emul
* \section GRAS_emul_timing Emulation
/** \brief Opaque type */
typedef struct s_gras_msgtype *gras_msgtype_t;
- XBT_PUBLIC void gras_msgtype_declare (const char *name,
+ XBT_PUBLIC(void) gras_msgtype_declare (const char *name,
gras_datadesc_type_t payload);
- XBT_PUBLIC void gras_msgtype_declare_v(const char *name,
+ XBT_PUBLIC(void) gras_msgtype_declare_v(const char *name,
short int version,
gras_datadesc_type_t payload);
- XBT_PUBLIC gras_msgtype_t gras_msgtype_by_name (const char *name);
- XBT_PUBLIC gras_msgtype_t gras_msgtype_by_name_or_null (const char *name);
- XBT_PUBLIC gras_msgtype_t gras_msgtype_by_namev(const char *name, short int version);
- XBT_PUBLIC gras_msgtype_t gras_msgtype_by_id(int id);
+ XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_name (const char *name);
+ XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_name_or_null (const char *name);
+ XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_namev(const char *name, short int version);
+ XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_id(int id);
- XBT_PUBLIC void gras_msgtype_dumpall(void);
+ XBT_PUBLIC(void) gras_msgtype_dumpall(void);
/** @} */
/** \brief Context of callbacks (opaque structure, created by the middleware only, never by user) */
typedef struct s_gras_msg_cb_ctx *gras_msg_cb_ctx_t;
-XBT_PUBLIC void gras_msg_cb_ctx_free(gras_msg_cb_ctx_t ctx) ;
-XBT_PUBLIC gras_socket_t gras_msg_cb_ctx_from(gras_msg_cb_ctx_t ctx);
+XBT_PUBLIC(void) gras_msg_cb_ctx_free(gras_msg_cb_ctx_t ctx) ;
+XBT_PUBLIC(gras_socket_t) gras_msg_cb_ctx_from(gras_msg_cb_ctx_t ctx);
/** \brief Type of message callback functions.
*
typedef int (*gras_msg_cb_t)(gras_msg_cb_ctx_t ctx,
void *payload);
- XBT_PUBLIC void gras_cb_register (gras_msgtype_t msgtype, gras_msg_cb_t cb);
- XBT_PUBLIC void gras_cb_unregister(gras_msgtype_t msgtype, gras_msg_cb_t cb);
+ XBT_PUBLIC(void) gras_cb_register (gras_msgtype_t msgtype, gras_msg_cb_t cb);
+ XBT_PUBLIC(void) gras_cb_unregister(gras_msgtype_t msgtype, gras_msg_cb_t cb);
/** @} */
/** @{ */
- XBT_PUBLIC void gras_msg_send(gras_socket_t sock,
+ XBT_PUBLIC(void) gras_msg_send(gras_socket_t sock,
gras_msgtype_t msgtype,
void *payload);
- XBT_PUBLIC void gras_msg_wait(double timeout,
+ XBT_PUBLIC(void) gras_msg_wait(double timeout,
gras_msgtype_t msgt_want,
gras_socket_t *expeditor,
void *payload);
- XBT_PUBLIC void gras_msg_handleall(double period);
- XBT_PUBLIC void gras_msg_handle(double timeOut);
+ XBT_PUBLIC(void) gras_msg_handleall(double period);
+ XBT_PUBLIC(void) gras_msg_handle(double timeOut);
/** @} */
/** @{ */
/* declaration */
-XBT_PUBLIC void gras_msgtype_declare_rpc(const char *name,
+XBT_PUBLIC(void) gras_msgtype_declare_rpc(const char *name,
gras_datadesc_type_t payload_request,
gras_datadesc_type_t payload_answer);
-XBT_PUBLIC void gras_msgtype_declare_rpc_v(const char *name,
+XBT_PUBLIC(void) gras_msgtype_declare_rpc_v(const char *name,
short int version,
gras_datadesc_type_t payload_request,
gras_datadesc_type_t payload_answer);
/* client side */
-XBT_PUBLIC void gras_msg_rpccall(gras_socket_t server,
+XBT_PUBLIC(void) gras_msg_rpccall(gras_socket_t server,
double timeOut,
gras_msgtype_t msgtype,
void *request, void *answer);
-XBT_PUBLIC gras_msg_cb_ctx_t
+XBT_PUBLIC(gras_msg_cb_ctx_t)
gras_msg_rpc_async_call(gras_socket_t server,
double timeOut,
gras_msgtype_t msgtype,
void *request);
-XBT_PUBLIC void gras_msg_rpc_async_wait(gras_msg_cb_ctx_t ctx,
+XBT_PUBLIC(void) gras_msg_rpc_async_wait(gras_msg_cb_ctx_t ctx,
void *answer);
/* server side */
-XBT_PUBLIC void gras_msg_rpcreturn(double timeOut, gras_msg_cb_ctx_t ctx,void *answer);
+XBT_PUBLIC(void) gras_msg_rpcreturn(double timeOut, gras_msg_cb_ctx_t ctx,void *answer);
/** @} */
typedef int (*gras_msg_filter_t)(gras_msg_t msg,void *ctx);
-XBT_PUBLIC void gras_msg_wait_ext(double timeout,
+XBT_PUBLIC(void) gras_msg_wait_ext(double timeout,
gras_msgtype_t msgt_want,
gras_socket_t expe_want,
gras_msg_filter_t filter,
void *filter_ctx,
gras_msg_t msg_got);
-XBT_PUBLIC void gras_msg_wait_or(double timeout,
+XBT_PUBLIC(void) gras_msg_wait_or(double timeout,
xbt_dynar_t msgt_want,
gras_msg_cb_ctx_t *ctx,
int *msgt_got,
#include <xbt.h>
/* Function users of module should use */
-XBT_PUBLIC void gras_module_join(const char *name);
-XBT_PUBLIC void gras_module_leave(const char *name);
+XBT_PUBLIC(void) gras_module_join(const char *name);
+XBT_PUBLIC(void) gras_module_leave(const char *name);
/* Functions module implementor should use */
-XBT_PUBLIC void gras_module_add(const char *name, unsigned int data_size, int *ID,
+XBT_PUBLIC(void) gras_module_add(const char *name, unsigned int data_size, int *ID,
void_f_void_t *init_f, void_f_void_t *exit_f,
void_f_pvoid_t *join_f, void_f_pvoid_t *leave_f) ;
-XBT_PUBLIC void *gras_moddata_by_id(unsigned int ID);
+XBT_PUBLIC(void*)gras_moddata_by_id(unsigned int ID);
#endif /* GRAS_MODULE_H */
*
* Perform the various intialisations needed by gras. Each process must run it
*/
-XBT_PUBLIC void gras_process_init(void);
+XBT_PUBLIC(void) gras_process_init(void);
/**
* gras_process_exit:
*
* Frees the memory allocated by gras. Processes should run it
*/
-XBT_PUBLIC void gras_process_exit(void);
+XBT_PUBLIC(void) gras_process_exit(void);
/****************************************************************************/
/* Manipulating User Data */
* \brief Get the data associated with the current process.
* \ingroup GRAS_globals
*/
-XBT_PUBLIC void *gras_userdata_get(void);
+XBT_PUBLIC(void*) gras_userdata_get(void);
/**
* \brief Set the data associated with the current process.
* \ingroup GRAS_globals
*/
-XBT_PUBLIC void gras_userdata_set(void *ud);
+XBT_PUBLIC(void) gras_userdata_set(void *ud);
/** \brief Malloc and set the data associated with the current process. */
#define gras_userdata_new(type) (gras_userdata_set(xbt_new0(type,1)),gras_userdata_get())
* @{
*/
- XBT_PUBLIC void gras_timer_delay(double delay, void_f_void_t action);
- XBT_PUBLIC void gras_timer_repeat(double interval, void_f_void_t action);
+ XBT_PUBLIC(void) gras_timer_delay(double delay, void_f_void_t action);
+ XBT_PUBLIC(void) gras_timer_repeat(double interval, void_f_void_t action);
- XBT_PUBLIC void gras_timer_cancel_delay(double interval, void_f_void_t action);
- XBT_PUBLIC void gras_timer_cancel_repeat(double interval, void_f_void_t action);
+ XBT_PUBLIC(void) gras_timer_cancel_delay(double interval, void_f_void_t action);
+ XBT_PUBLIC(void) gras_timer_cancel_repeat(double interval, void_f_void_t action);
- XBT_PUBLIC void gras_timer_cancel_delay_all(void);
- XBT_PUBLIC void gras_timer_cancel_repeat_all(void);
+ XBT_PUBLIC(void) gras_timer_cancel_delay_all(void);
+ XBT_PUBLIC(void) gras_timer_cancel_repeat_all(void);
- XBT_PUBLIC void gras_timer_cancel_all(void);
+ XBT_PUBLIC(void) gras_timer_cancel_all(void);
/** @} */
typedef struct s_gras_socket *gras_socket_t;
/** \brief Simply create a client socket (to speak to a remote host) */
-XBT_PUBLIC gras_socket_t gras_socket_client(const char *host, unsigned short port);
-XBT_PUBLIC gras_socket_t gras_socket_client_from_string(const char *host);
+XBT_PUBLIC(gras_socket_t) gras_socket_client(const char *host, unsigned short port);
+XBT_PUBLIC(gras_socket_t) gras_socket_client_from_string(const char *host);
/** \brief Simply create a server socket (to ear from remote hosts speaking to you) */
-XBT_PUBLIC gras_socket_t gras_socket_server(unsigned short port);
-XBT_PUBLIC void gras_socket_close(gras_socket_t sd);
+XBT_PUBLIC(gras_socket_t) gras_socket_server(unsigned short port);
+XBT_PUBLIC(void) gras_socket_close(gras_socket_t sd);
/** \brief Create a client socket, full interface to all relevant settings */
-XBT_PUBLIC gras_socket_t gras_socket_client_ext(const char *host,
+XBT_PUBLIC(gras_socket_t) gras_socket_client_ext(const char *host,
unsigned short port,
unsigned long int bufSize,
int measurement);
/** \brief Create a server socket, full interface to all relevant settings */
-XBT_PUBLIC gras_socket_t gras_socket_server_ext(unsigned short port,
+XBT_PUBLIC(gras_socket_t) gras_socket_server_ext(unsigned short port,
unsigned long int bufSize,
int measurement);
-XBT_PUBLIC gras_socket_t
+XBT_PUBLIC(gras_socket_t)
gras_socket_server_range(unsigned short minport, unsigned short maxport,
unsigned long int buf_size, int measurement);
/* @{*/
/** Get the port number on which this socket is connected on my side */
-XBT_PUBLIC int gras_socket_my_port (gras_socket_t sock);
+XBT_PUBLIC(int) gras_socket_my_port (gras_socket_t sock);
/** Get the port number on which this socket is connected on remote side */
-XBT_PUBLIC int gras_socket_peer_port(gras_socket_t sock);
+XBT_PUBLIC(int) gras_socket_peer_port(gras_socket_t sock);
/** Get the host name of the remote side */
-XBT_PUBLIC char *gras_socket_peer_name(gras_socket_t sock);
+XBT_PUBLIC(char *) gras_socket_peer_name(gras_socket_t sock);
/** Get the process name of the remote side */
-XBT_PUBLIC char *gras_socket_peer_proc(gras_socket_t sock);
+XBT_PUBLIC(char *) gras_socket_peer_proc(gras_socket_t sock);
/* @}*/
/** \defgroup GRAS_sock_meas Using measurement sockets
-XBT_PUBLIC int gras_socket_is_meas(gras_socket_t sock);
-XBT_PUBLIC void gras_socket_meas_send(gras_socket_t peer,
+XBT_PUBLIC(int) gras_socket_is_meas(gras_socket_t sock);
+XBT_PUBLIC(void) gras_socket_meas_send(gras_socket_t peer,
unsigned int timeout,
unsigned long int msgSize,
unsigned long int msgAmount);
-XBT_PUBLIC void gras_socket_meas_recv(gras_socket_t peer,
+XBT_PUBLIC(void) gras_socket_meas_recv(gras_socket_t peer,
unsigned int timeout,
unsigned long int msgSize,
unsigned long int msgAmount);
-XBT_PUBLIC gras_socket_t gras_socket_meas_accept(gras_socket_t peer);
+XBT_PUBLIC(gras_socket_t) gras_socket_meas_accept(gras_socket_t peer);
/* @}*/
*/
/* @{*/
/* debuging functions */
-XBT_PUBLIC gras_socket_t gras_socket_client_from_file(const char*path);
-XBT_PUBLIC gras_socket_t gras_socket_server_from_file(const char*path);
+XBT_PUBLIC(gras_socket_t) gras_socket_client_from_file(const char*path);
+XBT_PUBLIC(gras_socket_t) gras_socket_server_from_file(const char*path);
/* @} */
* @return number of second since the Epoch.
* (00:00:00 UTC, January 1, 1970 in Real Life, and begining of simulation in SG)
*/
-XBT_PUBLIC double gras_os_time(void);
+XBT_PUBLIC(double) gras_os_time(void);
/** @brief sleeps for the given amount of time.
* @param sec: number of seconds to sleep
*/
-XBT_PUBLIC void gras_os_sleep(double sec);
+XBT_PUBLIC(void) gras_os_sleep(double sec);
/** @brief get the fully-qualified name of the current host
*
* cannot be determined. Always returns the same value, so multiple calls
* cause no problems.
*/
-XBT_PUBLIC const char *
+XBT_PUBLIC(const char *)
gras_os_myname(void);
/** @brief returns the number on which this process is listening for incoming messages */
-XBT_PUBLIC int gras_os_myport(void);
+XBT_PUBLIC(int) gras_os_myport(void);
/** @brief get process identification
*
* Returns the process ID of the current process. (This is often used
by routines that generate unique temporary file names.)
*/
-XBT_PUBLIC long int gras_os_getpid(void);
+XBT_PUBLIC(long int) gras_os_getpid(void);
/** @} */
SG_END_DECL()
/************************** Global ******************************************/
-XBT_PUBLIC void MSG_config(const char *name, ...);
-XBT_PUBLIC void MSG_global_init(int *argc, char **argv);
-XBT_PUBLIC void MSG_global_init_args(int *argc, char **argv);
-XBT_PUBLIC MSG_error_t MSG_set_channel_number(int number);
-XBT_PUBLIC int MSG_get_channel_number(void);
-XBT_PUBLIC MSG_error_t MSG_main(void);
-XBT_PUBLIC MSG_error_t MSG_clean(void);
-XBT_PUBLIC void MSG_function_register(const char *name, m_process_code_t code);
-XBT_PUBLIC m_process_code_t MSG_get_registered_function(const char *name);
-XBT_PUBLIC void MSG_launch_application(const char *file);
-XBT_PUBLIC void MSG_paje_output(const char *filename);
-
-XBT_PUBLIC double MSG_get_clock(void);
+XBT_PUBLIC(void) MSG_config(const char *name, ...);
+XBT_PUBLIC(void) MSG_global_init(int *argc, char **argv);
+XBT_PUBLIC(void) MSG_global_init_args(int *argc, char **argv);
+XBT_PUBLIC(MSG_error_t) MSG_set_channel_number(int number);
+XBT_PUBLIC(int) MSG_get_channel_number(void);
+XBT_PUBLIC(MSG_error_t) MSG_main(void);
+XBT_PUBLIC(MSG_error_t) MSG_clean(void);
+XBT_PUBLIC(void) MSG_function_register(const char *name, m_process_code_t code);
+XBT_PUBLIC(m_process_code_t) MSG_get_registered_function(const char *name);
+XBT_PUBLIC(void) MSG_launch_application(const char *file);
+XBT_PUBLIC(void) MSG_paje_output(const char *filename);
+
+XBT_PUBLIC(double) MSG_get_clock(void);
/************************** Host handling ***********************************/
-XBT_PUBLIC MSG_error_t MSG_host_set_data(m_host_t host, void *data);
-XBT_PUBLIC void *MSG_host_get_data(m_host_t host);
-XBT_PUBLIC const char *MSG_host_get_name(m_host_t host);
-XBT_PUBLIC m_host_t MSG_host_self(void);
-XBT_PUBLIC int MSG_get_host_msgload(m_host_t host);
+XBT_PUBLIC(MSG_error_t) MSG_host_set_data(m_host_t host, void *data);
+XBT_PUBLIC(void) *MSG_host_get_data(m_host_t host);
+XBT_PUBLIC(const char *) MSG_host_get_name(m_host_t host);
+XBT_PUBLIC(m_host_t) MSG_host_self(void);
+XBT_PUBLIC(int) MSG_get_host_msgload(m_host_t host);
/* int MSG_get_msgload(void); This function lacks specification; discard it */
-XBT_PUBLIC double MSG_get_host_speed(m_host_t h);
-XBT_PUBLIC int MSG_host_is_avail (m_host_t h);
+XBT_PUBLIC(double) MSG_get_host_speed(m_host_t h);
+XBT_PUBLIC(int) MSG_host_is_avail (m_host_t h);
-XBT_PUBLIC void MSG_create_environment(const char *file);
+XBT_PUBLIC(void) MSG_create_environment(const char *file);
-XBT_PUBLIC m_host_t MSG_get_host_by_name(const char *name);
-XBT_PUBLIC int MSG_get_host_number(void);
-XBT_PUBLIC m_host_t *MSG_get_host_table(void);
+XBT_PUBLIC(m_host_t) MSG_get_host_by_name(const char *name);
+XBT_PUBLIC(int) MSG_get_host_number(void);
+XBT_PUBLIC(m_host_t *)MSG_get_host_table(void);
/************************** Process handling *********************************/
-XBT_PUBLIC m_process_t MSG_process_create(const char *name,
+XBT_PUBLIC(m_process_t) MSG_process_create(const char *name,
m_process_code_t code, void *data,
m_host_t host);
-XBT_PUBLIC m_process_t MSG_process_create_with_arguments(const char *name,
+XBT_PUBLIC(m_process_t) MSG_process_create_with_arguments(const char *name,
m_process_code_t code, void *data,
m_host_t host, int argc, char **argv);
-XBT_PUBLIC void MSG_process_kill(m_process_t process);
-XBT_PUBLIC int MSG_process_killall(int reset_PIDs);
-
-XBT_PUBLIC MSG_error_t MSG_process_change_host(m_process_t process, m_host_t host);
-
-XBT_PUBLIC void *MSG_process_get_data(m_process_t process);
-XBT_PUBLIC MSG_error_t MSG_process_set_data(m_process_t process, void *data);
-XBT_PUBLIC m_host_t MSG_process_get_host(m_process_t process);
-XBT_PUBLIC m_process_t MSG_process_from_PID(int PID);
-XBT_PUBLIC int MSG_process_get_PID(m_process_t process);
-XBT_PUBLIC int MSG_process_get_PPID(m_process_t process);
-XBT_PUBLIC const char *MSG_process_get_name(m_process_t process);
-XBT_PUBLIC int MSG_process_self_PID(void);
-XBT_PUBLIC int MSG_process_self_PPID(void);
-XBT_PUBLIC m_process_t MSG_process_self(void);
-
-XBT_PUBLIC MSG_error_t MSG_process_suspend(m_process_t process);
-XBT_PUBLIC MSG_error_t MSG_process_resume(m_process_t process);
-XBT_PUBLIC int MSG_process_is_suspended(m_process_t process);
+XBT_PUBLIC(void) MSG_process_kill(m_process_t process);
+XBT_PUBLIC(int) MSG_process_killall(int reset_PIDs);
+
+XBT_PUBLIC(MSG_error_t) MSG_process_change_host(m_process_t process, m_host_t host);
+
+XBT_PUBLIC(void) *MSG_process_get_data(m_process_t process);
+XBT_PUBLIC(MSG_error_t) MSG_process_set_data(m_process_t process, void *data);
+XBT_PUBLIC(m_host_t) MSG_process_get_host(m_process_t process);
+XBT_PUBLIC(m_process_t) MSG_process_from_PID(int PID);
+XBT_PUBLIC(int) MSG_process_get_PID(m_process_t process);
+XBT_PUBLIC(int) MSG_process_get_PPID(m_process_t process);
+XBT_PUBLIC(const char *)MSG_process_get_name(m_process_t process);
+XBT_PUBLIC(int) MSG_process_self_PID(void);
+XBT_PUBLIC(int) MSG_process_self_PPID(void);
+XBT_PUBLIC(m_process_t) MSG_process_self(void);
+
+XBT_PUBLIC(MSG_error_t) MSG_process_suspend(m_process_t process);
+XBT_PUBLIC(MSG_error_t) MSG_process_resume(m_process_t process);
+XBT_PUBLIC(int) MSG_process_is_suspended(m_process_t process);
/************************** Task handling ************************************/
-XBT_PUBLIC m_task_t MSG_task_create(const char *name, double compute_duration,
+XBT_PUBLIC(m_task_t) MSG_task_create(const char *name, double compute_duration,
double message_size, void *data);
-XBT_PUBLIC m_task_t MSG_parallel_task_create(const char *name,
+XBT_PUBLIC(m_task_t) MSG_parallel_task_create(const char *name,
int host_nb,
const m_host_t *host_list,
double *computation_amount,
double *communication_amount,
void *data);
-XBT_PUBLIC void *MSG_task_get_data(m_task_t task);
-XBT_PUBLIC m_process_t MSG_task_get_sender(m_task_t task);
-XBT_PUBLIC m_host_t MSG_task_get_source(m_task_t task);
-XBT_PUBLIC const char *MSG_task_get_name(m_task_t task);
-XBT_PUBLIC MSG_error_t MSG_task_cancel(m_task_t task);
-XBT_PUBLIC MSG_error_t MSG_task_destroy(m_task_t task);
-
-XBT_PUBLIC MSG_error_t MSG_task_get(m_task_t * task, m_channel_t channel);
-XBT_PUBLIC MSG_error_t MSG_task_get_with_time_out(m_task_t * task, m_channel_t channel,
+XBT_PUBLIC(void*) MSG_task_get_data(m_task_t task);
+XBT_PUBLIC(m_process_t) MSG_task_get_sender(m_task_t task);
+XBT_PUBLIC(m_host_t) MSG_task_get_source(m_task_t task);
+XBT_PUBLIC(const char *) MSG_task_get_name(m_task_t task);
+XBT_PUBLIC(MSG_error_t) MSG_task_cancel(m_task_t task);
+XBT_PUBLIC(MSG_error_t) MSG_task_destroy(m_task_t task);
+
+XBT_PUBLIC(MSG_error_t) MSG_task_get(m_task_t * task, m_channel_t channel);
+XBT_PUBLIC(MSG_error_t) MSG_task_get_with_time_out(m_task_t * task, m_channel_t channel,
double max_duration);
-XBT_PUBLIC MSG_error_t MSG_task_get_from_host(m_task_t * task, int channel,
+XBT_PUBLIC(MSG_error_t) MSG_task_get_from_host(m_task_t * task, int channel,
m_host_t host);
-XBT_PUBLIC MSG_error_t MSG_task_put(m_task_t task, m_host_t dest,
+XBT_PUBLIC(MSG_error_t) MSG_task_put(m_task_t task, m_host_t dest,
m_channel_t channel);
-XBT_PUBLIC MSG_error_t MSG_task_put_bounded(m_task_t task,
+XBT_PUBLIC(MSG_error_t) MSG_task_put_bounded(m_task_t task,
m_host_t dest, m_channel_t channel,
double max_rate);
-XBT_PUBLIC MSG_error_t MSG_task_put_with_timeout(m_task_t task, m_host_t dest,
+XBT_PUBLIC(MSG_error_t) MSG_task_put_with_timeout(m_task_t task, m_host_t dest,
m_channel_t channel, double max_duration);
-XBT_PUBLIC MSG_error_t MSG_task_execute(m_task_t task);
-XBT_PUBLIC MSG_error_t MSG_parallel_task_execute(m_task_t task);
-XBT_PUBLIC void MSG_task_set_priority(m_task_t task, double priority);
-
-XBT_PUBLIC int MSG_task_Iprobe(m_channel_t channel);
-XBT_PUBLIC int MSG_task_probe_from(m_channel_t channel);
-XBT_PUBLIC int MSG_task_probe_from_host(int channel, m_host_t host);
-XBT_PUBLIC MSG_error_t MSG_channel_select_from(m_channel_t channel, double max_duration,
+XBT_PUBLIC(MSG_error_t) MSG_task_execute(m_task_t task);
+XBT_PUBLIC(MSG_error_t) MSG_parallel_task_execute(m_task_t task);
+XBT_PUBLIC(void) MSG_task_set_priority(m_task_t task, double priority);
+
+XBT_PUBLIC(int) MSG_task_Iprobe(m_channel_t channel);
+XBT_PUBLIC(int) MSG_task_probe_from(m_channel_t channel);
+XBT_PUBLIC(int) MSG_task_probe_from_host(int channel, m_host_t host);
+XBT_PUBLIC(MSG_error_t) MSG_channel_select_from(m_channel_t channel, double max_duration,
int *PID);
-XBT_PUBLIC MSG_error_t MSG_process_sleep(double nb_sec);
-XBT_PUBLIC MSG_error_t MSG_get_errno(void);
+XBT_PUBLIC(MSG_error_t) MSG_process_sleep(double nb_sec);
+XBT_PUBLIC(MSG_error_t) MSG_get_errno(void);
-XBT_PUBLIC double MSG_task_get_compute_duration(m_task_t task);
-XBT_PUBLIC double MSG_task_get_remaining_computation(m_task_t task);
-XBT_PUBLIC double MSG_task_get_data_size(m_task_t task);
+XBT_PUBLIC(double) MSG_task_get_compute_duration(m_task_t task);
+XBT_PUBLIC(double) MSG_task_get_remaining_computation(m_task_t task);
+XBT_PUBLIC(double) MSG_task_get_data_size(m_task_t task);
SG_END_DECL()
#endif
* @see SD_link_t
* @{
*/
-XBT_PUBLIC const SD_link_t* SD_link_get_list(void);
-XBT_PUBLIC int SD_link_get_number(void);
-XBT_PUBLIC void* SD_link_get_data(SD_link_t link);
-XBT_PUBLIC void SD_link_set_data(SD_link_t link, void *data);
-XBT_PUBLIC const char* SD_link_get_name(SD_link_t link);
-XBT_PUBLIC double SD_link_get_current_bandwidth(SD_link_t link);
-XBT_PUBLIC double SD_link_get_current_latency(SD_link_t link);
+XBT_PUBLIC(const SD_link_t*) SD_link_get_list(void);
+XBT_PUBLIC(int) SD_link_get_number(void);
+XBT_PUBLIC(void*) SD_link_get_data(SD_link_t link);
+XBT_PUBLIC(void) SD_link_set_data(SD_link_t link, void *data);
+XBT_PUBLIC(const char*) SD_link_get_name(SD_link_t link);
+XBT_PUBLIC(double) SD_link_get_current_bandwidth(SD_link_t link);
+XBT_PUBLIC(double) SD_link_get_current_latency(SD_link_t link);
/** @} */
/************************** Workstation handling ****************************/
* @see SD_workstation_t
* @{
*/
-XBT_PUBLIC SD_workstation_t SD_workstation_get_by_name(const char *name);
-XBT_PUBLIC const SD_workstation_t* SD_workstation_get_list(void);
-XBT_PUBLIC int SD_workstation_get_number(void);
-XBT_PUBLIC void SD_workstation_set_data(SD_workstation_t workstation, void *data);
-XBT_PUBLIC void* SD_workstation_get_data(SD_workstation_t workstation);
-XBT_PUBLIC const char* SD_workstation_get_name(SD_workstation_t workstation);
-XBT_PUBLIC const SD_link_t* SD_route_get_list(SD_workstation_t src, SD_workstation_t dst);
-XBT_PUBLIC int SD_route_get_size(SD_workstation_t src, SD_workstation_t dst);
-XBT_PUBLIC double SD_workstation_get_power(SD_workstation_t workstation);
-XBT_PUBLIC double SD_workstation_get_available_power(SD_workstation_t workstation);
-XBT_PUBLIC e_SD_workstation_access_mode_t SD_workstation_get_access_mode(SD_workstation_t workstation);
-XBT_PUBLIC void SD_workstation_set_access_mode(SD_workstation_t workstation,
+XBT_PUBLIC(SD_workstation_t) SD_workstation_get_by_name(const char *name);
+XBT_PUBLIC(const SD_workstation_t*) SD_workstation_get_list(void);
+XBT_PUBLIC(int) SD_workstation_get_number(void);
+XBT_PUBLIC(void) SD_workstation_set_data(SD_workstation_t workstation, void *data);
+XBT_PUBLIC(void*) SD_workstation_get_data(SD_workstation_t workstation);
+XBT_PUBLIC(const char*) SD_workstation_get_name(SD_workstation_t workstation);
+XBT_PUBLIC(const SD_link_t*) SD_route_get_list(SD_workstation_t src, SD_workstation_t dst);
+XBT_PUBLIC(int) SD_route_get_size(SD_workstation_t src, SD_workstation_t dst);
+XBT_PUBLIC(double) SD_workstation_get_power(SD_workstation_t workstation);
+XBT_PUBLIC(double) SD_workstation_get_available_power(SD_workstation_t workstation);
+XBT_PUBLIC(e_SD_workstation_access_mode_t) SD_workstation_get_access_mode(SD_workstation_t workstation);
+XBT_PUBLIC(void) SD_workstation_set_access_mode(SD_workstation_t workstation,
e_SD_workstation_access_mode_t access_mode);
-XBT_PUBLIC double SD_workstation_get_computation_time(SD_workstation_t workstation, double computation_amount);
-XBT_PUBLIC double SD_route_get_current_latency(SD_workstation_t src, SD_workstation_t dst);
-XBT_PUBLIC double SD_route_get_current_bandwidth(SD_workstation_t src, SD_workstation_t dst);
-XBT_PUBLIC double SD_route_get_communication_time(SD_workstation_t src, SD_workstation_t dst,
+XBT_PUBLIC(double) SD_workstation_get_computation_time(SD_workstation_t workstation, double computation_amount);
+XBT_PUBLIC(double) SD_route_get_current_latency(SD_workstation_t src, SD_workstation_t dst);
+XBT_PUBLIC(double) SD_route_get_current_bandwidth(SD_workstation_t src, SD_workstation_t dst);
+XBT_PUBLIC(double) SD_route_get_communication_time(SD_workstation_t src, SD_workstation_t dst,
double communication_amount);
/** @} */
* @see SD_task_t, SD_task_dependency_management
* @{
*/
-XBT_PUBLIC SD_task_t SD_task_create(const char *name, void *data, double amount);
-XBT_PUBLIC void* SD_task_get_data(SD_task_t task);
-XBT_PUBLIC void SD_task_set_data(SD_task_t task, void *data);
-XBT_PUBLIC e_SD_task_state_t SD_task_get_state(SD_task_t task);
-XBT_PUBLIC const char* SD_task_get_name(SD_task_t task);
-XBT_PUBLIC void SD_task_watch(SD_task_t task, e_SD_task_state_t state);
-XBT_PUBLIC void SD_task_unwatch(SD_task_t task, e_SD_task_state_t state);
-XBT_PUBLIC double SD_task_get_amount(SD_task_t task);
-XBT_PUBLIC double SD_task_get_remaining_amount(SD_task_t task);
-XBT_PUBLIC double SD_task_get_execution_time(SD_task_t task, int workstation_nb,
+XBT_PUBLIC(SD_task_t) SD_task_create(const char *name, void *data, double amount);
+XBT_PUBLIC(void*) SD_task_get_data(SD_task_t task);
+XBT_PUBLIC(void) SD_task_set_data(SD_task_t task, void *data);
+XBT_PUBLIC(e_SD_task_state_t) SD_task_get_state(SD_task_t task);
+XBT_PUBLIC(const char*) SD_task_get_name(SD_task_t task);
+XBT_PUBLIC(void) SD_task_watch(SD_task_t task, e_SD_task_state_t state);
+XBT_PUBLIC(void) SD_task_unwatch(SD_task_t task, e_SD_task_state_t state);
+XBT_PUBLIC(double) SD_task_get_amount(SD_task_t task);
+XBT_PUBLIC(double) SD_task_get_remaining_amount(SD_task_t task);
+XBT_PUBLIC(double) SD_task_get_execution_time(SD_task_t task, int workstation_nb,
const SD_workstation_t *workstation_list,
const double *computation_amount, const double *communication_amount,
double rate);
-XBT_PUBLIC void SD_task_schedule(SD_task_t task, int workstation_nb,
+XBT_PUBLIC(void) SD_task_schedule(SD_task_t task, int workstation_nb,
const SD_workstation_t *workstation_list, const double *computation_amount,
const double *communication_amount, double rate);
-XBT_PUBLIC void SD_task_unschedule(SD_task_t task);
-XBT_PUBLIC double SD_task_get_start_time(SD_task_t task);
-XBT_PUBLIC double SD_task_get_finish_time(SD_task_t task);
-XBT_PUBLIC void SD_task_destroy(SD_task_t task);
+XBT_PUBLIC(void) SD_task_unschedule(SD_task_t task);
+XBT_PUBLIC(double) SD_task_get_start_time(SD_task_t task);
+XBT_PUBLIC(double) SD_task_get_finish_time(SD_task_t task);
+XBT_PUBLIC(void) SD_task_destroy(SD_task_t task);
/** @} */
* @see SD_task_management
* @{
*/
-XBT_PUBLIC void SD_task_dependency_add(const char *name, void *data, SD_task_t src, SD_task_t dst);
-XBT_PUBLIC void SD_task_dependency_remove(SD_task_t src, SD_task_t dst);
-XBT_PUBLIC void* SD_task_dependency_get_data(SD_task_t src, SD_task_t dst);
+XBT_PUBLIC(void) SD_task_dependency_add(const char *name, void *data, SD_task_t src, SD_task_t dst);
+XBT_PUBLIC(void) SD_task_dependency_remove(SD_task_t src, SD_task_t dst);
+XBT_PUBLIC(void*) SD_task_dependency_get_data(SD_task_t src, SD_task_t dst);
/** @} */
/************************** Global *******************************************/
*
* @{
*/
-XBT_PUBLIC void SD_init(int *argc, char **argv);
-XBT_PUBLIC void SD_create_environment(const char *platform_file);
-XBT_PUBLIC SD_task_t* SD_simulate(double how_long);
-XBT_PUBLIC double SD_get_clock(void);
-XBT_PUBLIC void SD_exit(void);
+XBT_PUBLIC(void) SD_init(int *argc, char **argv);
+XBT_PUBLIC(void) SD_create_environment(const char *platform_file);
+XBT_PUBLIC(SD_task_t*) SD_simulate(double how_long);
+XBT_PUBLIC(double) SD_get_clock(void);
+XBT_PUBLIC(void) SD_exit(void);
/** @} */
SG_END_DECL()
extern void_f_void_t *STag_surfxml_argument_fun;
extern void_f_void_t *ETag_surfxml_argument_fun;
-XBT_PUBLIC void surf_parse_open(const char *file);
-XBT_PUBLIC void surf_parse_close(void);
-XBT_PUBLIC void surf_parse_reset_parser(void);
-XBT_PUBLIC void surf_parse_get_double(double *value,const char *string);
+XBT_PUBLIC(void) surf_parse_open(const char *file);
+XBT_PUBLIC(void) surf_parse_close(void);
+XBT_PUBLIC(void) surf_parse_reset_parser(void);
+XBT_PUBLIC(void) surf_parse_get_double(double *value,const char *string);
/* Prototypes of the functions offered by flex */
-XBT_PUBLIC int surf_parse_lex(void);
-XBT_PUBLIC int surf_parse_get_lineno(void);
-XBT_PUBLIC FILE *surf_parse_get_in(void);
-XBT_PUBLIC FILE *surf_parse_get_out(void);
-XBT_PUBLIC int surf_parse_get_leng(void);
-XBT_PUBLIC char *surf_parse_get_text(void);
-XBT_PUBLIC void surf_parse_set_lineno(int line_number);
-XBT_PUBLIC void surf_parse_set_in(FILE * in_str);
-XBT_PUBLIC void surf_parse_set_out(FILE * out_str);
-XBT_PUBLIC int surf_parse_get_debug(void);
-XBT_PUBLIC void surf_parse_set_debug(int bdebug);
-XBT_PUBLIC int surf_parse_lex_destroy(void);
+XBT_PUBLIC(int) surf_parse_lex(void);
+XBT_PUBLIC(int) surf_parse_get_lineno(void);
+XBT_PUBLIC(FILE) *surf_parse_get_in(void);
+XBT_PUBLIC(FILE) *surf_parse_get_out(void);
+XBT_PUBLIC(int) surf_parse_get_leng(void);
+XBT_PUBLIC(char) *surf_parse_get_text(void);
+XBT_PUBLIC(void) surf_parse_set_lineno(int line_number);
+XBT_PUBLIC(void) surf_parse_set_in(FILE * in_str);
+XBT_PUBLIC(void) surf_parse_set_out(FILE * out_str);
+XBT_PUBLIC(int) surf_parse_get_debug(void);
+XBT_PUBLIC(void) surf_parse_set_debug(int bdebug);
+XBT_PUBLIC(int) surf_parse_lex_destroy(void);
#endif
*
* @{
*/
-XBT_PUBLIC void xbt_abort(void) _XBT_GNUC_NORETURN;
-XBT_PUBLIC void xbt_die(const char *msg) _XBT_GNUC_NORETURN;
+XBT_PUBLIC(void) xbt_abort(void) _XBT_GNUC_NORETURN;
+XBT_PUBLIC(void) xbt_die(const char *msg) _XBT_GNUC_NORETURN;
#ifdef NDEBUG
#define xbt_assert(cond)
/** @brief Configuration set are only special dynars. But don't rely on it, it may change. */
typedef xbt_dynar_t xbt_cfg_t;
- XBT_PUBLIC void xbt_cfg_set(xbt_cfg_t cfg, const char *name, ...);
- XBT_PUBLIC void xbt_cfg_set_vargs(xbt_cfg_t cfg, const char *name, va_list pa);
- XBT_PUBLIC void xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options);
+ XBT_PUBLIC(void) xbt_cfg_set(xbt_cfg_t cfg, const char *name, ...);
+ XBT_PUBLIC(void) xbt_cfg_set_vargs(xbt_cfg_t cfg, const char *name, va_list pa);
+ XBT_PUBLIC(void) xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options);
/*
Set the value of the cell \a name in \a cfg with the provided value.
*/
-XBT_PUBLIC void xbt_cfg_set_int (xbt_cfg_t cfg, const char *name,
+XBT_PUBLIC(void) xbt_cfg_set_int (xbt_cfg_t cfg, const char *name,
int val);
-XBT_PUBLIC void xbt_cfg_set_double(xbt_cfg_t cfg, const char *name,
+XBT_PUBLIC(void) xbt_cfg_set_double(xbt_cfg_t cfg, const char *name,
double val);
-XBT_PUBLIC void xbt_cfg_set_string(xbt_cfg_t cfg, const char *name,
+XBT_PUBLIC(void) xbt_cfg_set_string(xbt_cfg_t cfg, const char *name,
const char *val);
-XBT_PUBLIC void xbt_cfg_set_peer (xbt_cfg_t cfg, const char *name,
+XBT_PUBLIC(void) xbt_cfg_set_peer (xbt_cfg_t cfg, const char *name,
const char *peer,int port);
/*
Remove the provided value from the cell @name in @cfg.
*/
-XBT_PUBLIC void xbt_cfg_rm_int (xbt_cfg_t cfg, const char *name,
+XBT_PUBLIC(void) xbt_cfg_rm_int (xbt_cfg_t cfg, const char *name,
int val);
-XBT_PUBLIC void xbt_cfg_rm_double(xbt_cfg_t cfg, const char *name,
+XBT_PUBLIC(void) xbt_cfg_rm_double(xbt_cfg_t cfg, const char *name,
double val);
-XBT_PUBLIC void xbt_cfg_rm_string(xbt_cfg_t cfg, const char *name,
+XBT_PUBLIC(void) xbt_cfg_rm_string(xbt_cfg_t cfg, const char *name,
const char *val);
-XBT_PUBLIC void xbt_cfg_rm_peer (xbt_cfg_t cfg, const char *name,
+XBT_PUBLIC(void) xbt_cfg_rm_peer (xbt_cfg_t cfg, const char *name,
const char *peer,int port);
/*
Remove the value at position \e pos from the config \e cfg
*/
-XBT_PUBLIC void xbt_cfg_rm_at (xbt_cfg_t cfg, const char *name, int pos);
+XBT_PUBLIC(void) xbt_cfg_rm_at (xbt_cfg_t cfg, const char *name, int pos);
/* rm every values */
-XBT_PUBLIC void xbt_cfg_empty(xbt_cfg_t cfg, const char *name);
+XBT_PUBLIC(void) xbt_cfg_empty(xbt_cfg_t cfg, const char *name);
/* @} */
typedef void (*xbt_cfg_cb_t)(const char*, int);
XBT_PUBLIC xbt_cfg_t xbt_cfg_new (void);
- XBT_PUBLIC void xbt_cfg_cpy(xbt_cfg_t tocopy, /* OUT */ xbt_cfg_t *whereto);
- XBT_PUBLIC void xbt_cfg_free(xbt_cfg_t *cfg);
- XBT_PUBLIC void xbt_cfg_dump(const char *name,const char*indent,xbt_cfg_t cfg);
+ XBT_PUBLIC(void) xbt_cfg_cpy(xbt_cfg_t tocopy, /* OUT */ xbt_cfg_t *whereto);
+ XBT_PUBLIC(void) xbt_cfg_free(xbt_cfg_t *cfg);
+ XBT_PUBLIC(void) xbt_cfg_dump(const char *name,const char*indent,xbt_cfg_t cfg);
/** @} */
*
* @{
*/
- XBT_PUBLIC void xbt_cfg_register(xbt_cfg_t cfg,
+ XBT_PUBLIC(void) xbt_cfg_register(xbt_cfg_t cfg,
const char *name, e_xbt_cfgelm_type_t type,
int min, int max,
xbt_cfg_cb_t cb_set, xbt_cfg_cb_t cb_rm);
- XBT_PUBLIC void xbt_cfg_unregister(xbt_cfg_t cfg, const char *name);
- XBT_PUBLIC void xbt_cfg_register_str(xbt_cfg_t cfg, const char *entry);
- XBT_PUBLIC void xbt_cfg_check(xbt_cfg_t cfg);
+ XBT_PUBLIC(void) xbt_cfg_unregister(xbt_cfg_t cfg, const char *name);
+ XBT_PUBLIC(void) xbt_cfg_register_str(xbt_cfg_t cfg, const char *entry);
+ XBT_PUBLIC(void) xbt_cfg_check(xbt_cfg_t cfg);
XBT_PUBLIC e_xbt_cfgelm_type_t xbt_cfg_get_type(xbt_cfg_t cfg, const char *name);
/* @} */
/** @defgroup XBT_cfg_get Getting the stored values
* @{
*/
- XBT_PUBLIC int xbt_cfg_get_int (xbt_cfg_t cfg, const char *name);
- XBT_PUBLIC double xbt_cfg_get_double(xbt_cfg_t cfg, const char *name);
- XBT_PUBLIC char* xbt_cfg_get_string(xbt_cfg_t cfg, const char *name);
- XBT_PUBLIC void xbt_cfg_get_peer (xbt_cfg_t cfg, const char *name, char **peer, int *port);
- XBT_PUBLIC xbt_dynar_t xbt_cfg_get_dynar (xbt_cfg_t cfg, const char *name);
+ XBT_PUBLIC(int) xbt_cfg_get_int (xbt_cfg_t cfg, const char *name);
+ XBT_PUBLIC(double) xbt_cfg_get_double(xbt_cfg_t cfg, const char *name);
+ XBT_PUBLIC(char*) xbt_cfg_get_string(xbt_cfg_t cfg, const char *name);
+ XBT_PUBLIC(void) xbt_cfg_get_peer (xbt_cfg_t cfg, const char *name, char **peer, int *port);
+ XBT_PUBLIC(xbt_dynar_t) xbt_cfg_get_dynar (xbt_cfg_t cfg, const char *name);
- XBT_PUBLIC int xbt_cfg_get_int_at (xbt_cfg_t cfg, const char *name, int pos);
- XBT_PUBLIC double xbt_cfg_get_double_at(xbt_cfg_t cfg, const char *name, int pos);
- XBT_PUBLIC char* xbt_cfg_get_string_at(xbt_cfg_t cfg, const char *name, int pos);
- XBT_PUBLIC void xbt_cfg_get_peer_at (xbt_cfg_t cfg, const char *name, int pos, char **peer, int *port);
+ XBT_PUBLIC(int) xbt_cfg_get_int_at (xbt_cfg_t cfg, const char *name, int pos);
+ XBT_PUBLIC(double) xbt_cfg_get_double_at(xbt_cfg_t cfg, const char *name, int pos);
+ XBT_PUBLIC(char*) xbt_cfg_get_string_at(xbt_cfg_t cfg, const char *name, int pos);
+ XBT_PUBLIC(void) xbt_cfg_get_peer_at (xbt_cfg_t cfg, const char *name, int pos, char **peer, int *port);
/** @} */
typedef void (*ts_test_cb_t)(void);
/* test suite operations */
-XBT_PUBLIC xbt_test_suite_t xbt_test_suite_new (const char *name,const char *fmt, ...);
-XBT_PUBLIC xbt_test_suite_t xbt_test_suite_by_name(const char *name,const char *fmt, ...);
-XBT_PUBLIC void xbt_test_suite_dump (xbt_test_suite_t suite);
-XBT_PUBLIC void xbt_test_suite_push (xbt_test_suite_t suite, const char *name,
+XBT_PUBLIC(xbt_test_suite_t) xbt_test_suite_new (const char *name,const char *fmt, ...);
+XBT_PUBLIC(xbt_test_suite_t) xbt_test_suite_by_name(const char *name,const char *fmt, ...);
+XBT_PUBLIC(void) xbt_test_suite_dump (xbt_test_suite_t suite);
+XBT_PUBLIC(void) xbt_test_suite_push (xbt_test_suite_t suite, const char *name,
ts_test_cb_t func, const char *fmt, ...);
/* Run all the specified tests. what_to_do allows to disable some tests.
* * testname: if given, the test on which the directive acts. If not, acts on any tests.
*/
-XBT_PUBLIC int xbt_test_run(char *selection);
+XBT_PUBLIC(int) xbt_test_run(char *selection);
/* Show information about the selection of tests */
-XBT_PUBLIC void xbt_test_dump(char *selection);
+XBT_PUBLIC(void) xbt_test_dump(char *selection);
/* test operations */
-XBT_PUBLIC void _xbt_test_add(const char*file,int line, const char *fmt, ...)_XBT_GNUC_PRINTF(3,4);
+XBT_PUBLIC(void) _xbt_test_add(const char*file,int line, const char *fmt, ...)_XBT_GNUC_PRINTF(3,4);
#define xbt_test_add0(fmt) _xbt_test_add(__FILE__,__LINE__,fmt)
#define xbt_test_add1(fmt,a) _xbt_test_add(__FILE__,__LINE__,fmt,a)
#define xbt_test_add2(fmt,a,b) _xbt_test_add(__FILE__,__LINE__,fmt,a,b)
#define xbt_test_add4(fmt,a,b,c,d) _xbt_test_add(__FILE__,__LINE__,fmt,a,b,c,d)
#define xbt_test_add5(fmt,a,b,c,d,e) _xbt_test_add(__FILE__,__LINE__,fmt,a,b,c,d,e)
-XBT_PUBLIC void _xbt_test_fail(const char*file,int line, const char *fmt, ...) _XBT_GNUC_PRINTF(3,4);
+XBT_PUBLIC(void) _xbt_test_fail(const char*file,int line, const char *fmt, ...) _XBT_GNUC_PRINTF(3,4);
#define xbt_test_fail0(fmt) _xbt_test_fail(__FILE__, __LINE__, fmt)
#define xbt_test_fail1(fmt,a) _xbt_test_fail(__FILE__, __LINE__, fmt,a)
#define xbt_test_fail2(fmt,a,b) _xbt_test_fail(__FILE__, __LINE__, fmt,a,b)
#define xbt_test_assert5(cond,fmt,a,b,c,d,e) if(!(cond)) xbt_test_fail5(fmt,a,b,c,d,e)
#define xbt_test_assert(cond) xbt_test_assert0(cond,#cond)
-XBT_PUBLIC void _xbt_test_log (const char*file,int line, const char *fmt, ...)_XBT_GNUC_PRINTF(3,4);
+XBT_PUBLIC(void) _xbt_test_log (const char*file,int line, const char *fmt, ...)_XBT_GNUC_PRINTF(3,4);
#define xbt_test_log0(fmt) _xbt_test_log(__FILE__, __LINE__, fmt)
#define xbt_test_log1(fmt,a) _xbt_test_log(__FILE__, __LINE__, fmt,a)
#define xbt_test_log2(fmt,a,b) _xbt_test_log(__FILE__, __LINE__, fmt,a,b)
#define xbt_test_log4(fmt,a,b,c,d) _xbt_test_log(__FILE__, __LINE__, fmt,a,b,c,d)
#define xbt_test_log5(fmt,a,b,c,d,e) _xbt_test_log(__FILE__, __LINE__, fmt,a,b,c,d,e)
-XBT_PUBLIC void xbt_test_exception(xbt_ex_t e);
+XBT_PUBLIC(void) xbt_test_exception(xbt_ex_t e);
-XBT_PUBLIC void xbt_test_expect_failure(void);
-XBT_PUBLIC void xbt_test_skip(void);
+XBT_PUBLIC(void) xbt_test_expect_failure(void);
+XBT_PUBLIC(void) xbt_test_skip(void);
/* test suite short-cut macros */
#define XBT_TEST_UNIT(name,func,title) \
/** \brief Dictionnary data type (opaque structure) */
typedef struct xbt_dict_ *xbt_dict_t;
- XBT_PUBLIC xbt_dict_t xbt_dict_new(void);
- XBT_PUBLIC xbt_dict_t xbt_dict_new_ext(int hashsize);
- XBT_PUBLIC void xbt_dict_free(xbt_dict_t *dict);
- XBT_PUBLIC void xbt_dict_hashsize_set(xbt_dict_t dict, int hashsize);
+ XBT_PUBLIC(xbt_dict_t) xbt_dict_new(void);
+ XBT_PUBLIC(xbt_dict_t) xbt_dict_new_ext(int hashsize);
+ XBT_PUBLIC(void) xbt_dict_free(xbt_dict_t *dict);
+ XBT_PUBLIC(void) xbt_dict_hashsize_set(xbt_dict_t dict, int hashsize);
/** @} */
/** @defgroup XBT_dict_basic Dictionnaries basic usage
* @{
*/
- XBT_PUBLIC void xbt_dict_set(xbt_dict_t dict, const char *key, void *data, void_f_pvoid_t *free_ctn);
- XBT_PUBLIC void *xbt_dict_get(xbt_dict_t dict,const char *key);
- XBT_PUBLIC void *xbt_dict_get_or_null(xbt_dict_t dict, const char *key);
+ XBT_PUBLIC(void) xbt_dict_set(xbt_dict_t dict, const char *key, void *data, void_f_pvoid_t *free_ctn);
+ XBT_PUBLIC(void*) xbt_dict_get(xbt_dict_t dict,const char *key);
+ XBT_PUBLIC(void*) xbt_dict_get_or_null(xbt_dict_t dict, const char *key);
- XBT_PUBLIC void xbt_dict_remove(xbt_dict_t dict, const char *key);
- XBT_PUBLIC void xbt_dict_reset(xbt_dict_t dict);
- XBT_PUBLIC int xbt_dict_length(xbt_dict_t dict);
- XBT_PUBLIC void xbt_dict_dump(xbt_dict_t dict, void (*output)(void*));
+ XBT_PUBLIC(void) xbt_dict_remove(xbt_dict_t dict, const char *key);
+ XBT_PUBLIC(void) xbt_dict_reset(xbt_dict_t dict);
+ XBT_PUBLIC(int) xbt_dict_length(xbt_dict_t dict);
+ XBT_PUBLIC(void) xbt_dict_dump(xbt_dict_t dict, void (*output)(void*));
/** @} */
/** @defgroup XBT_dict_nnul Dictionnaries with non-nul terminated keys
*
* @{
*/
- XBT_PUBLIC void xbt_dict_set_ext(xbt_dict_t dict,
+ XBT_PUBLIC(void) xbt_dict_set_ext(xbt_dict_t dict,
const char *key, int key_len,
void *data,
void_f_pvoid_t *free_ctn);
- XBT_PUBLIC void *xbt_dict_get_ext(xbt_dict_t dict, const char *key, int key_len);
- XBT_PUBLIC void xbt_dict_remove_ext(xbt_dict_t dict, const char *key, int key_len);
+ XBT_PUBLIC(void) *xbt_dict_get_ext(xbt_dict_t dict, const char *key, int key_len);
+ XBT_PUBLIC(void) xbt_dict_remove_ext(xbt_dict_t dict, const char *key, int key_len);
/** @} */
/** @brief Cursor on dictionnaries (opaque type) */
typedef struct xbt_dict_cursor_ *xbt_dict_cursor_t;
XBT_PUBLIC xbt_dict_cursor_t xbt_dict_cursor_new(const xbt_dict_t dict);
- XBT_PUBLIC void xbt_dict_cursor_free(xbt_dict_cursor_t *cursor);
+ XBT_PUBLIC(void) xbt_dict_cursor_free(xbt_dict_cursor_t *cursor);
- XBT_PUBLIC void xbt_dict_cursor_rewind(xbt_dict_cursor_t cursor);
+ XBT_PUBLIC(void) xbt_dict_cursor_rewind(xbt_dict_cursor_t cursor);
- XBT_PUBLIC char * xbt_dict_cursor_get_key (xbt_dict_cursor_t cursor);
- XBT_PUBLIC void * xbt_dict_cursor_get_data (xbt_dict_cursor_t cursor);
+ XBT_PUBLIC(char *) xbt_dict_cursor_get_key (xbt_dict_cursor_t cursor);
+ XBT_PUBLIC(void *) xbt_dict_cursor_get_data (xbt_dict_cursor_t cursor);
- XBT_PUBLIC void xbt_dict_cursor_first (const xbt_dict_t dict,
+ XBT_PUBLIC(void) xbt_dict_cursor_first (const xbt_dict_t dict,
xbt_dict_cursor_t *cursor);
- XBT_PUBLIC void xbt_dict_cursor_step (xbt_dict_cursor_t cursor);
- XBT_PUBLIC int xbt_dict_cursor_get_or_free (xbt_dict_cursor_t *cursor,
+ XBT_PUBLIC(void) xbt_dict_cursor_step (xbt_dict_cursor_t cursor);
+ XBT_PUBLIC(int) xbt_dict_cursor_get_or_free (xbt_dict_cursor_t *cursor,
char **key,
void **data);
/** @def xbt_dict_foreach
*/
/**Â \brief To dump multicache, this function dumps a cache */
-XBT_PUBLIC void xbt_dict_print(void *data);
+XBT_PUBLIC(void) xbt_dict_print(void *data);
/**Â \brief To dump multicache, this one dumps a string */
-XBT_PUBLIC void xbt_dict_prints(void *data);
+XBT_PUBLIC(void) xbt_dict_prints(void *data);
/*----[ xbt_multidict_set ]--------------------------------------------------*/
-XBT_PUBLIC void
+XBT_PUBLIC(void)
xbt_multidict_set(xbt_dict_t mdict,
xbt_dynar_t keys,
void *data,void (*free_ctn)(void*));
-XBT_PUBLIC void
+XBT_PUBLIC(void)
xbt_multidict_set_ext(xbt_dict_t mdict,
xbt_dynar_t keys, xbt_dynar_t lens,
void *data,void_f_pvoid_t *free_ctn);
/*----[ xbt_multidict_get ]--------------------------------------------------*/
-XBT_PUBLIC void *xbt_multidict_get (xbt_dict_t mdict, xbt_dynar_t keys);
-XBT_PUBLIC void *xbt_multidict_get_ext(xbt_dict_t mdict, xbt_dynar_t keys, xbt_dynar_t lens);
+XBT_PUBLIC(void*) xbt_multidict_get (xbt_dict_t mdict, xbt_dynar_t keys);
+XBT_PUBLIC(void*) xbt_multidict_get_ext(xbt_dict_t mdict, xbt_dynar_t keys, xbt_dynar_t lens);
/*----[ xbt_multidict_remove ]-----------------------------------------------*/
/*---------------------------------------------------------------------------*/
-XBT_PUBLIC void xbt_multidict_remove(xbt_dict_t mdict, xbt_dynar_t keys);
-XBT_PUBLIC void xbt_multidict_remove_ext(xbt_dict_t mdict, xbt_dynar_t keys, xbt_dynar_t lens);
+XBT_PUBLIC(void) xbt_multidict_remove(xbt_dict_t mdict, xbt_dynar_t keys);
+XBT_PUBLIC(void) xbt_multidict_remove_ext(xbt_dict_t mdict, xbt_dynar_t keys, xbt_dynar_t lens);
/** @} */
XBT_PUBLIC xbt_dynar_t xbt_dynar_new(unsigned long elm_size,
void_f_pvoid_t *free_func);
- XBT_PUBLIC void xbt_dynar_free(xbt_dynar_t *dynar);
- XBT_PUBLIC void xbt_dynar_free_voidp(void *dynar);
- XBT_PUBLIC void xbt_dynar_free_container(xbt_dynar_t *dynar);
+ XBT_PUBLIC(void) xbt_dynar_free(xbt_dynar_t *dynar);
+ XBT_PUBLIC(void) xbt_dynar_free_voidp(void *dynar);
+ XBT_PUBLIC(void) xbt_dynar_free_container(xbt_dynar_t *dynar);
XBT_PUBLIC unsigned long xbt_dynar_length(const xbt_dynar_t dynar);
- XBT_PUBLIC void xbt_dynar_reset(xbt_dynar_t dynar);
- XBT_PUBLIC void xbt_dynar_shrink(xbt_dynar_t dynar, int empty_slots);
+ XBT_PUBLIC(void) xbt_dynar_reset(xbt_dynar_t dynar);
+ XBT_PUBLIC(void) xbt_dynar_shrink(xbt_dynar_t dynar, int empty_slots);
- XBT_PUBLIC void xbt_dynar_dump(xbt_dynar_t dynar);
+ XBT_PUBLIC(void) xbt_dynar_dump(xbt_dynar_t dynar);
/** @} */
/** @defgroup XBT_dynar_array Dynar as a regular array
* @{
*/
- XBT_PUBLIC void xbt_dynar_get_cpy(const xbt_dynar_t dynar, int idx, void * const dst);
+ XBT_PUBLIC(void) xbt_dynar_get_cpy(const xbt_dynar_t dynar, int idx, void * const dst);
- XBT_PUBLIC void xbt_dynar_set(xbt_dynar_t dynar, int idx, const void *src);
- XBT_PUBLIC void xbt_dynar_replace(xbt_dynar_t dynar, int idx, const void *object);
+ XBT_PUBLIC(void) xbt_dynar_set(xbt_dynar_t dynar, int idx, const void *src);
+ XBT_PUBLIC(void) xbt_dynar_replace(xbt_dynar_t dynar, int idx, const void *object);
- XBT_PUBLIC void xbt_dynar_insert_at(xbt_dynar_t dynar, int idx, const void *src);
- XBT_PUBLIC void xbt_dynar_remove_at(xbt_dynar_t dynar, int idx, void * const dst);
+ XBT_PUBLIC(void) xbt_dynar_insert_at(xbt_dynar_t dynar, int idx, const void *src);
+ XBT_PUBLIC(void) xbt_dynar_remove_at(xbt_dynar_t dynar, int idx, void * const dst);
- XBT_PUBLIC int xbt_dynar_search(xbt_dynar_t dynar, void *elem);
- XBT_PUBLIC int xbt_dynar_member(xbt_dynar_t dynar, void *elem);
+ XBT_PUBLIC(int) xbt_dynar_search(xbt_dynar_t dynar, void *elem);
+ XBT_PUBLIC(int) xbt_dynar_member(xbt_dynar_t dynar, void *elem);
/** @} */
/** @defgroup XBT_dynar_perl Perl-like use of dynars
* @ingroup XBT_dynar
* @{
*/
- XBT_PUBLIC void xbt_dynar_push (xbt_dynar_t dynar, const void *src);
- XBT_PUBLIC void xbt_dynar_pop (xbt_dynar_t dynar, void *const dst);
- XBT_PUBLIC void xbt_dynar_unshift (xbt_dynar_t dynar, const void *src);
- XBT_PUBLIC void xbt_dynar_shift (xbt_dynar_t dynar, void *const dst);
- XBT_PUBLIC void xbt_dynar_map (const xbt_dynar_t dynar, void_f_pvoid_t *op);
+ XBT_PUBLIC(void) xbt_dynar_push (xbt_dynar_t dynar, const void *src);
+ XBT_PUBLIC(void) xbt_dynar_pop (xbt_dynar_t dynar, void *const dst);
+ XBT_PUBLIC(void) xbt_dynar_unshift (xbt_dynar_t dynar, const void *src);
+ XBT_PUBLIC(void) xbt_dynar_shift (xbt_dynar_t dynar, void *const dst);
+ XBT_PUBLIC(void) xbt_dynar_map (const xbt_dynar_t dynar, void_f_pvoid_t *op);
/** @} */
/** @defgroup XBT_dynar_ctn Direct manipulation to the dynars content
* @{
*/
- XBT_PUBLIC void *xbt_dynar_get_ptr(const xbt_dynar_t dynar, const int idx);
- XBT_PUBLIC void *xbt_dynar_insert_at_ptr(xbt_dynar_t const dynar, const int idx);
- XBT_PUBLIC void *xbt_dynar_push_ptr(xbt_dynar_t dynar);
- XBT_PUBLIC void *xbt_dynar_pop_ptr(xbt_dynar_t dynar);
+ XBT_PUBLIC(void*) xbt_dynar_get_ptr(const xbt_dynar_t dynar, const int idx);
+ XBT_PUBLIC(void*) xbt_dynar_insert_at_ptr(xbt_dynar_t const dynar, const int idx);
+ XBT_PUBLIC(void*) xbt_dynar_push_ptr(xbt_dynar_t dynar);
+ XBT_PUBLIC(void*) xbt_dynar_pop_ptr(xbt_dynar_t dynar);
/** @} */
/** @defgroup XBT_dynar_speed Speed optimized access to dynars of scalars
* @{
*/
- XBT_PUBLIC void xbt_dynar_cursor_first (const xbt_dynar_t dynar, int *cursor);
- XBT_PUBLIC void xbt_dynar_cursor_step (const xbt_dynar_t dynar, int *cursor);
- XBT_PUBLIC int xbt_dynar_cursor_get (const xbt_dynar_t dynar, int *cursor,
+ XBT_PUBLIC(void) xbt_dynar_cursor_first (const xbt_dynar_t dynar, int *cursor);
+ XBT_PUBLIC(void) xbt_dynar_cursor_step (const xbt_dynar_t dynar, int *cursor);
+ XBT_PUBLIC(int) xbt_dynar_cursor_get (const xbt_dynar_t dynar, int *cursor,
void *whereto);
- XBT_PUBLIC void xbt_dynar_cursor_rm(xbt_dynar_t dynar,
+ XBT_PUBLIC(void) xbt_dynar_cursor_rm(xbt_dynar_t dynar,
int *const cursor);
#undef __EX_MAYDAY
#ifdef __EX_MAYDAY
-XBT_PUBLIC int gras_os_getpid(void);
+XBT_PUBLIC(int) gras_os_getpid(void);
# define MAYDAY_SAVE(m) printf("%d %s:%d save %p\n", \
gras_os_getpid(),__FILE__,__LINE__, \
(m)->jb \
#define RETHROW5(msg,a,b,c,d,e) _XBT_PRE_RETHROW msg,a,b,c,d,e, _XBT_POST_RETHROW
/** @brief Exception destructor */
-XBT_PUBLIC void xbt_ex_free(xbt_ex_t e);
+XBT_PUBLIC(void) xbt_ex_free(xbt_ex_t e);
-XBT_PUBLIC void xbt_ex_display(xbt_ex_t *e);
-XBT_PUBLIC void xbt_backtrace_display(void);
+XBT_PUBLIC(void) xbt_ex_display(xbt_ex_t *e);
+XBT_PUBLIC(void) xbt_backtrace_display(void);
/** @}Â */
#endif /* __XBT_EX_H__ */
*/
typedef struct xbt_fifo *xbt_fifo_t;
-XBT_PUBLIC xbt_fifo_t xbt_fifo_new(void);
-XBT_PUBLIC void xbt_fifo_free(xbt_fifo_t);
+XBT_PUBLIC(xbt_fifo_t) xbt_fifo_new(void);
+XBT_PUBLIC(void) xbt_fifo_free(xbt_fifo_t);
/** @} */
/** @defgroup XBT_fifo_perl Fifo perl-like functions
*
* @{
*/
-XBT_PUBLIC xbt_fifo_item_t xbt_fifo_push(xbt_fifo_t, void *);
-XBT_PUBLIC void *xbt_fifo_pop(xbt_fifo_t);
-XBT_PUBLIC xbt_fifo_item_t xbt_fifo_unshift(xbt_fifo_t, void *);
-XBT_PUBLIC void *xbt_fifo_shift(xbt_fifo_t);
-XBT_PUBLIC int xbt_fifo_size(xbt_fifo_t);
-XBT_PUBLIC int xbt_fifo_is_in(xbt_fifo_t, void *);
+XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_push(xbt_fifo_t, void *);
+XBT_PUBLIC(void*) xbt_fifo_pop(xbt_fifo_t);
+XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_unshift(xbt_fifo_t, void *);
+XBT_PUBLIC(void*) xbt_fifo_shift(xbt_fifo_t);
+XBT_PUBLIC(int) xbt_fifo_size(xbt_fifo_t);
+XBT_PUBLIC(int) xbt_fifo_is_in(xbt_fifo_t, void *);
/** @} */
/** @defgroup XBT_fifo_direct Direct access to fifo elements
*/
XBT_PUBLIC xbt_fifo_item_t xbt_fifo_new_item(void);
-XBT_PUBLIC void xbt_fifo_set_item_content(xbt_fifo_item_t, void *);
-XBT_PUBLIC void *xbt_fifo_get_item_content(xbt_fifo_item_t);
-XBT_PUBLIC void xbt_fifo_free_item(xbt_fifo_item_t);
+XBT_PUBLIC(void) xbt_fifo_set_item_content(xbt_fifo_item_t, void *);
+XBT_PUBLIC(void*) xbt_fifo_get_item_content(xbt_fifo_item_t);
+XBT_PUBLIC(void) xbt_fifo_free_item(xbt_fifo_item_t);
-XBT_PUBLIC void xbt_fifo_push_item(xbt_fifo_t, xbt_fifo_item_t);
-XBT_PUBLIC xbt_fifo_item_t xbt_fifo_pop_item(xbt_fifo_t);
-XBT_PUBLIC void xbt_fifo_unshift_item(xbt_fifo_t, xbt_fifo_item_t);
-XBT_PUBLIC xbt_fifo_item_t xbt_fifo_shift_item(xbt_fifo_t);
+XBT_PUBLIC(void) xbt_fifo_push_item(xbt_fifo_t, xbt_fifo_item_t);
+XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_pop_item(xbt_fifo_t);
+XBT_PUBLIC(void) xbt_fifo_unshift_item(xbt_fifo_t, xbt_fifo_item_t);
+XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_shift_item(xbt_fifo_t);
-XBT_PUBLIC void xbt_fifo_remove(xbt_fifo_t, void *);
-XBT_PUBLIC void xbt_fifo_remove_item(xbt_fifo_t, xbt_fifo_item_t);
+XBT_PUBLIC(void) xbt_fifo_remove(xbt_fifo_t, void *);
+XBT_PUBLIC(void) xbt_fifo_remove_item(xbt_fifo_t, xbt_fifo_item_t);
-XBT_PUBLIC xbt_fifo_item_t xbt_fifo_get_first_item(xbt_fifo_t l);
-XBT_PUBLIC xbt_fifo_item_t xbt_fifo_get_next_item(xbt_fifo_item_t i);
-XBT_PUBLIC xbt_fifo_item_t xbt_fifo_get_prev_item(xbt_fifo_item_t i);
+XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_get_first_item(xbt_fifo_t l);
+XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_get_next_item(xbt_fifo_item_t i);
+XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_get_prev_item(xbt_fifo_item_t i);
/**
* \brief List iterator
*
* @{
*/
-XBT_PUBLIC void **xbt_fifo_to_array(xbt_fifo_t);
-XBT_PUBLIC xbt_fifo_t xbt_fifo_copy(xbt_fifo_t);
+XBT_PUBLIC(void**) xbt_fifo_to_array(xbt_fifo_t);
+XBT_PUBLIC(xbt_fifo_t) xbt_fifo_copy(xbt_fifo_t);
/** @} */
/* Deprecated functions: don't use! */
-XBT_PUBLIC xbt_fifo_item_t xbt_fifo_newitem(void);
-XBT_PUBLIC void xbt_fifo_freeitem(xbt_fifo_item_t);
+XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_newitem(void);
+XBT_PUBLIC(void) xbt_fifo_freeitem(xbt_fifo_item_t);
-XBT_PUBLIC xbt_fifo_item_t xbt_fifo_getFirstItem(xbt_fifo_t l);
-XBT_PUBLIC xbt_fifo_item_t xbt_fifo_getNextItem(xbt_fifo_item_t i);
-XBT_PUBLIC xbt_fifo_item_t xbt_fifo_getPrevItem(xbt_fifo_item_t i);
+XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_getFirstItem(xbt_fifo_t l);
+XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_getNextItem(xbt_fifo_item_t i);
+XBT_PUBLIC(xbt_fifo_item_t) xbt_fifo_getPrevItem(xbt_fifo_item_t i);
SG_END_DECL()
typedef struct xbt_graph *xbt_graph_t;
/* API */
-XBT_PUBLIC xbt_graph_t xbt_graph_new_graph(unsigned short int directed, void *data);
-XBT_PUBLIC xbt_node_t xbt_graph_new_node(xbt_graph_t g, void *data);
-XBT_PUBLIC xbt_edge_t xbt_graph_new_edge(xbt_graph_t g, xbt_node_t src, xbt_node_t dst,
+XBT_PUBLIC(xbt_graph_t) xbt_graph_new_graph(unsigned short int directed, void *data);
+XBT_PUBLIC(xbt_node_t) xbt_graph_new_node(xbt_graph_t g, void *data);
+XBT_PUBLIC(xbt_edge_t) xbt_graph_new_edge(xbt_graph_t g, xbt_node_t src, xbt_node_t dst,
void *data);
-XBT_PUBLIC void *xbt_graph_node_get_data(xbt_node_t node);
-XBT_PUBLIC void xbt_graph_node_set_data(xbt_node_t node, void *data);
-XBT_PUBLIC void *xbt_graph_edge_get_data(xbt_edge_t edge);
-XBT_PUBLIC void xbt_graph_edge_set_data(xbt_edge_t edge, void *data);
+XBT_PUBLIC(void*) xbt_graph_node_get_data(xbt_node_t node);
+XBT_PUBLIC(void) xbt_graph_node_set_data(xbt_node_t node, void *data);
+XBT_PUBLIC(void*) xbt_graph_edge_get_data(xbt_edge_t edge);
+XBT_PUBLIC(void) xbt_graph_edge_set_data(xbt_edge_t edge, void *data);
-XBT_PUBLIC xbt_edge_t xbt_graph_get_edge(xbt_graph_t g, xbt_node_t src, xbt_node_t dst);
+XBT_PUBLIC(xbt_edge_t) xbt_graph_get_edge(xbt_graph_t g, xbt_node_t src, xbt_node_t dst);
-XBT_PUBLIC void xbt_graph_edge_set_length(xbt_edge_t e, double length);
-XBT_PUBLIC double xbt_graph_edge_get_length(xbt_edge_t e);
-XBT_PUBLIC double* xbt_graph_get_length_matrix(xbt_graph_t g);
+XBT_PUBLIC(void) xbt_graph_edge_set_length(xbt_edge_t e, double length);
+XBT_PUBLIC(double) xbt_graph_edge_get_length(xbt_edge_t e);
+XBT_PUBLIC(double)* xbt_graph_get_length_matrix(xbt_graph_t g);
-XBT_PUBLIC void xbt_graph_free_node(xbt_graph_t g, xbt_node_t n,
+XBT_PUBLIC(void) xbt_graph_free_node(xbt_graph_t g, xbt_node_t n,
void_f_pvoid_t *node_free_function , void_f_pvoid_t *edge_free_function);
-XBT_PUBLIC void xbt_graph_free_edge(xbt_graph_t g, xbt_edge_t e,
+XBT_PUBLIC(void) xbt_graph_free_edge(xbt_graph_t g, xbt_edge_t e,
void_f_pvoid_t *free_function);
-XBT_PUBLIC void xbt_graph_free_graph(xbt_graph_t g,
+XBT_PUBLIC(void) xbt_graph_free_graph(xbt_graph_t g,
void_f_pvoid_t *node_free_function,
void_f_pvoid_t *edge_free_function,
void_f_pvoid_t *graph_free_function);
-XBT_PUBLIC int __xbt_find_in_dynar(xbt_dynar_t dynar, void *p);
+XBT_PUBLIC(int) __xbt_find_in_dynar(xbt_dynar_t dynar, void *p);
-XBT_PUBLIC xbt_dynar_t xbt_graph_get_nodes(xbt_graph_t g);
-XBT_PUBLIC xbt_dynar_t xbt_graph_get_edges(xbt_graph_t g);
-XBT_PUBLIC xbt_node_t xbt_graph_edge_get_source(xbt_edge_t e);
-XBT_PUBLIC xbt_node_t xbt_graph_edge_get_target(xbt_edge_t e);
-XBT_PUBLIC xbt_graph_t xbt_graph_read(const char *filename,
+XBT_PUBLIC(xbt_dynar_t) xbt_graph_get_nodes(xbt_graph_t g);
+XBT_PUBLIC(xbt_dynar_t) xbt_graph_get_edges(xbt_graph_t g);
+XBT_PUBLIC(xbt_node_t) xbt_graph_edge_get_source(xbt_edge_t e);
+XBT_PUBLIC(xbt_node_t) xbt_graph_edge_get_target(xbt_edge_t e);
+XBT_PUBLIC(xbt_graph_t) xbt_graph_read(const char *filename,
void *(node_label_and_data)(xbt_node_t, const char*, const char*),
void *(edge_label_and_data)(xbt_edge_t, const char*, const char*)
);
-XBT_PUBLIC void xbt_graph_export_graphviz(xbt_graph_t g, const char *filename,
+XBT_PUBLIC(void) xbt_graph_export_graphviz(xbt_graph_t g, const char *filename,
const char *(node_name)(xbt_node_t),
const char *(edge_name)(xbt_edge_t));
-XBT_PUBLIC void xbt_graph_export_graphxml(xbt_graph_t g, const char *filename,
+XBT_PUBLIC(void) xbt_graph_export_graphxml(xbt_graph_t g, const char *filename,
const char *(node_name)(xbt_node_t),
const char *(edge_name)(xbt_edge_t),
const char *(node_data_print)(void *),
/* Not implemented yet ! */
/* void *xbt_graph_to_array(xbt_graph_t g); */
-XBT_PUBLIC xbt_node_t* xbt_graph_shortest_paths(xbt_graph_t g);
+XBT_PUBLIC(xbt_node_t*) xbt_graph_shortest_paths(xbt_graph_t g);
#define _FLEXML_graphxml_H
/* XML application entry points. */
-XBT_PUBLIC extern void STag_graphxml_graph(void);
-XBT_PUBLIC extern void ETag_graphxml_graph(void);
-XBT_PUBLIC extern void STag_graphxml_node(void);
-XBT_PUBLIC extern void ETag_graphxml_node(void);
-XBT_PUBLIC extern void STag_graphxml_edge(void);
-XBT_PUBLIC extern void ETag_graphxml_edge(void);
+XBT_PUBLIC(extern void) STag_graphxml_graph(void);
+XBT_PUBLIC(extern void) ETag_graphxml_graph(void);
+XBT_PUBLIC(extern void) STag_graphxml_node(void);
+XBT_PUBLIC(extern void) ETag_graphxml_node(void);
+XBT_PUBLIC(extern void) STag_graphxml_edge(void);
+XBT_PUBLIC(extern void) ETag_graphxml_edge(void);
/* XML application data. */
typedef const char* AT_graphxml_node_name;
extern AT_graphxml_edge_name A_graphxml_edge_name;
/* XML application utilities. */
-XBT_PUBLIC extern int graphxml_element_context(int);
+XBT_PUBLIC(extern int) graphxml_element_context(int);
/* XML processor entry point. */
-XBT_PUBLIC extern int yylex(void);
+XBT_PUBLIC(extern int) yylex(void);
/* Flexml error handling function (useful only when -q flag passed to flexml) */
-XBT_PUBLIC const char * graphxml_parse_err_msg(void);
+XBT_PUBLIC(const char *) graphxml_parse_err_msg(void);
#endif
extern void_f_void_t *STag_graphxml_edge_fun;
extern void_f_void_t *ETag_graphxml_edge_fun;
-XBT_PUBLIC void xbt_graph_parse_open(const char *file);
-XBT_PUBLIC void xbt_graph_parse_close(void);
-XBT_PUBLIC void xbt_graph_parse_reset_parser(void);
-XBT_PUBLIC void xbt_graph_parse_get_double(double *value,const char *string);
+XBT_PUBLIC(void) xbt_graph_parse_open(const char *file);
+XBT_PUBLIC(void) xbt_graph_parse_close(void);
+XBT_PUBLIC(void) xbt_graph_parse_reset_parser(void);
+XBT_PUBLIC(void) xbt_graph_parse_get_double(double *value,const char *string);
/* Prototypes of the functions offered by flex */
-XBT_PUBLIC int xbt_graph_parse_lex(void);
-XBT_PUBLIC int xbt_graph_parse_get_lineno(void);
-XBT_PUBLIC FILE *xbt_graph_parse_get_in(void);
-XBT_PUBLIC FILE *xbt_graph_parse_get_out(void);
-XBT_PUBLIC int xbt_graph_parse_get_leng(void);
-XBT_PUBLIC char *xbt_graph_parse_get_text(void);
-XBT_PUBLIC void xbt_graph_parse_set_lineno(int line_number);
-XBT_PUBLIC void xbt_graph_parse_set_in(FILE * in_str);
-XBT_PUBLIC void xbt_graph_parse_set_out(FILE * out_str);
-XBT_PUBLIC int xbt_graph_parse_get_debug(void);
-XBT_PUBLIC void xbt_graph_parse_set_debug(int bdebug);
-XBT_PUBLIC int xbt_graph_parse_lex_destroy(void);
+XBT_PUBLIC(int) xbt_graph_parse_lex(void);
+XBT_PUBLIC(int) xbt_graph_parse_get_lineno(void);
+XBT_PUBLIC(FILE *) xbt_graph_parse_get_in(void);
+XBT_PUBLIC(FILE *) xbt_graph_parse_get_out(void);
+XBT_PUBLIC(int) xbt_graph_parse_get_leng(void);
+XBT_PUBLIC(char *) xbt_graph_parse_get_text(void);
+XBT_PUBLIC(void) xbt_graph_parse_set_lineno(int line_number);
+XBT_PUBLIC(void) xbt_graph_parse_set_in(FILE * in_str);
+XBT_PUBLIC(void) xbt_graph_parse_set_out(FILE * out_str);
+XBT_PUBLIC(int) xbt_graph_parse_get_debug(void);
+XBT_PUBLIC(void) xbt_graph_parse_set_debug(int bdebug);
+XBT_PUBLIC(int) xbt_graph_parse_lex_destroy(void);
#endif
/* @brief heap datatype */
typedef struct xbt_heap *xbt_heap_t;
-XBT_PUBLIC xbt_heap_t xbt_heap_new(int num, void_f_pvoid_t free_func);
-XBT_PUBLIC void xbt_heap_free(xbt_heap_t H);
-XBT_PUBLIC int xbt_heap_size(xbt_heap_t H);
+XBT_PUBLIC(xbt_heap_t) xbt_heap_new(int num, void_f_pvoid_t free_func);
+XBT_PUBLIC(void) xbt_heap_free(xbt_heap_t H);
+XBT_PUBLIC(int) xbt_heap_size(xbt_heap_t H);
-XBT_PUBLIC void xbt_heap_push(xbt_heap_t H, void *content, double key);
-XBT_PUBLIC void *xbt_heap_pop(xbt_heap_t H);
+XBT_PUBLIC(void) xbt_heap_push(xbt_heap_t H, void *content, double key);
+XBT_PUBLIC(void*) xbt_heap_pop(xbt_heap_t H);
-XBT_PUBLIC double xbt_heap_maxkey(xbt_heap_t H);
-XBT_PUBLIC void *xbt_heap_maxcontent(xbt_heap_t H);
+XBT_PUBLIC(double) xbt_heap_maxkey(xbt_heap_t H);
+XBT_PUBLIC(void*) xbt_heap_maxcontent(xbt_heap_t H);
/* @} */
#endif /* _XBT_HEAP_H */
/* Functions you may call */
-XBT_PUBLIC extern void xbt_log_control_set(const char* cs);
+XBT_PUBLIC(extern void) xbt_log_control_set(const char* cs);
/* Forward declarations */
typedef struct xbt_log_appender_s s_xbt_log_appender_t,*xbt_log_appender_t;
*
* Programatically alters a category's threshold priority (don't use).
*/
-XBT_PUBLIC extern void xbt_log_threshold_set(xbt_log_category_t cat,
+XBT_PUBLIC(extern void) xbt_log_threshold_set(xbt_log_category_t cat,
e_xbt_log_priority_t thresholdPriority);
/**
*
* Programatically alter a category's parent (don't use).
*/
-XBT_PUBLIC extern void xbt_log_parent_set(xbt_log_category_t cat,
+XBT_PUBLIC(extern void) xbt_log_parent_set(xbt_log_category_t cat,
xbt_log_category_t parent);
/**
*
* Programatically sets the category's appender (don't use).
*/
-XBT_PUBLIC extern void xbt_log_appender_set(xbt_log_category_t cat,
+XBT_PUBLIC(extern void) xbt_log_appender_set(xbt_log_category_t cat,
xbt_log_appender_t app);
/* Functions that you shouldn't call. */
-XBT_PUBLIC extern void _xbt_log_event_log(xbt_log_event_t ev,
+XBT_PUBLIC(extern void) _xbt_log_event_log(xbt_log_event_t ev,
const char *fmt,
...) _XBT_GNUC_PRINTF(2,3);
-XBT_PUBLIC extern int _xbt_log_cat_init(e_xbt_log_priority_t priority,
+XBT_PUBLIC(extern int) _xbt_log_cat_init(e_xbt_log_priority_t priority,
xbt_log_category_t category);
/** \brief Mallocator data type (opaque structure) */
typedef struct s_xbt_mallocator *xbt_mallocator_t;
-XBT_PUBLIC xbt_mallocator_t xbt_mallocator_new(int size, pvoid_f_void_t new_f, void_f_pvoid_t free_f, void_f_pvoid_t reset_f);
-XBT_PUBLIC void xbt_mallocator_free(xbt_mallocator_t mallocator);
+XBT_PUBLIC(xbt_mallocator_t) xbt_mallocator_new(int size, pvoid_f_void_t new_f, void_f_pvoid_t free_f, void_f_pvoid_t reset_f);
+XBT_PUBLIC(void) xbt_mallocator_free(xbt_mallocator_t mallocator);
/** @} */
/* object handling */
*
* @{
*/
-XBT_PUBLIC void *xbt_mallocator_get(xbt_mallocator_t mallocator);
-XBT_PUBLIC void xbt_mallocator_release(xbt_mallocator_t mallocator, void *object);
+XBT_PUBLIC(void*) xbt_mallocator_get(xbt_mallocator_t mallocator);
+XBT_PUBLIC(void) xbt_mallocator_release(xbt_mallocator_t mallocator, void *object);
/** @} */
SG_END_DECL()
* @hideinitializer */
#define xbt_matrix_get_as(mat,l,c,type) *(type*)xbt_matrix_get_ptr(mat,l,c)
-XBT_PUBLIC xbt_matrix_t xbt_matrix_new(int lines, int rows,
+XBT_PUBLIC(xbt_matrix_t) xbt_matrix_new(int lines, int rows,
const unsigned long elmsize,
void_f_pvoid_t * const free_f);
-XBT_PUBLIC xbt_matrix_t xbt_matrix_new_sub(xbt_matrix_t from,
+XBT_PUBLIC(xbt_matrix_t) xbt_matrix_new_sub(xbt_matrix_t from,
int lsize, int rsize,
int lpos, int rpos,
pvoid_f_pvoid_t *const cpy_f);
-XBT_PUBLIC void xbt_matrix_free(xbt_matrix_t matrix);
-XBT_PUBLIC void xbt_matrix_free_voidp(void *d);
+XBT_PUBLIC(void) xbt_matrix_free(xbt_matrix_t matrix);
+XBT_PUBLIC(void) xbt_matrix_free_voidp(void *d);
-XBT_PUBLIC void xbt_matrix_copy_values(xbt_matrix_t dest, xbt_matrix_t src,
+XBT_PUBLIC(void) xbt_matrix_copy_values(xbt_matrix_t dest, xbt_matrix_t src,
int lsize, int rsize,
int lpos_dst,int rpos_dst,
int lpos_src,int rpos_src,
pvoid_f_pvoid_t *const cpy_f);
-XBT_PUBLIC void xbt_matrix_dump(xbt_matrix_t matrix, const char *name, int coords,
+XBT_PUBLIC(void) xbt_matrix_dump(xbt_matrix_t matrix, const char *name, int coords,
void_f_pvoid_t display_fun);
-XBT_PUBLIC void xbt_matrix_dump_display_double(void*d);
+XBT_PUBLIC(void) xbt_matrix_dump_display_double(void*d);
-XBT_PUBLIC xbt_matrix_t xbt_matrix_double_new_zeros(int lines, int rows);
-XBT_PUBLIC xbt_matrix_t xbt_matrix_double_new_id(int lines, int rows);
-XBT_PUBLIC xbt_matrix_t xbt_matrix_double_new_rand(int lines, int rows);
-XBT_PUBLIC xbt_matrix_t xbt_matrix_double_new_seq(int lines, int rows);
-XBT_PUBLIC xbt_matrix_t xbt_matrix_double_new_mult(xbt_matrix_t A,xbt_matrix_t B);
-XBT_PUBLIC void xbt_matrix_double_addmult(xbt_matrix_t A,xbt_matrix_t B,
+XBT_PUBLIC(xbt_matrix_t) xbt_matrix_double_new_zeros(int lines, int rows);
+XBT_PUBLIC(xbt_matrix_t) xbt_matrix_double_new_id(int lines, int rows);
+XBT_PUBLIC(xbt_matrix_t) xbt_matrix_double_new_rand(int lines, int rows);
+XBT_PUBLIC(xbt_matrix_t) xbt_matrix_double_new_seq(int lines, int rows);
+XBT_PUBLIC(xbt_matrix_t) xbt_matrix_double_new_mult(xbt_matrix_t A,xbt_matrix_t B);
+XBT_PUBLIC(void) xbt_matrix_double_addmult(xbt_matrix_t A,xbt_matrix_t B,
/*OUT*/ xbt_matrix_t C);
SG_END_DECL()
extern char *xbt_binary_name;
-XBT_PUBLIC void xbt_init(int *argc,char **argv);
-XBT_PUBLIC void xbt_exit(void);
+XBT_PUBLIC(void) xbt_init(int *argc,char **argv);
+XBT_PUBLIC(void) xbt_exit(void);
#endif /* _XBT_MODULE_H */
int port;
} s_xbt_peer_t, *xbt_peer_t;
-XBT_PUBLIC xbt_peer_t xbt_peer_new(const char *name, int port);
-XBT_PUBLIC xbt_peer_t xbt_peer_from_string(const char *peerport);
-XBT_PUBLIC xbt_peer_t xbt_peer_copy(xbt_peer_t h);
-XBT_PUBLIC void xbt_peer_free(xbt_peer_t peer);
-XBT_PUBLIC void xbt_peer_free_voidp(void *d);
+XBT_PUBLIC(xbt_peer_t) xbt_peer_new(const char *name, int port);
+XBT_PUBLIC(xbt_peer_t) xbt_peer_from_string(const char *peerport);
+XBT_PUBLIC(xbt_peer_t) xbt_peer_copy(xbt_peer_t h);
+XBT_PUBLIC(void) xbt_peer_free(xbt_peer_t peer);
+XBT_PUBLIC(void) xbt_peer_free_voidp(void *d);
SG_END_DECL()
} s_xbt_set_elm_t,*xbt_set_elm_t;
/*####[ Functions ]##########################################################*/
-XBT_PUBLIC xbt_set_t xbt_set_new (void);
-XBT_PUBLIC void xbt_set_free(xbt_set_t *set);
+XBT_PUBLIC(xbt_set_t) xbt_set_new (void);
+XBT_PUBLIC(void) xbt_set_free(xbt_set_t *set);
/** @} */
/** @defgroup XBT_set_basic Sets basic usage
* @{
*/
-XBT_PUBLIC void xbt_set_add (xbt_set_t set, xbt_set_elm_t elm, void_f_pvoid_t *free_func);
-XBT_PUBLIC void xbt_set_remove (xbt_set_t set, xbt_set_elm_t elm);
-XBT_PUBLIC void xbt_set_remove_by_name (xbt_set_t set, const char *key);
-XBT_PUBLIC void xbt_set_remove_by_name_ext (xbt_set_t set, const char *key, int key_len);
-XBT_PUBLIC void xbt_set_remove_by_id (xbt_set_t set, int id);
+XBT_PUBLIC(void) xbt_set_add (xbt_set_t set, xbt_set_elm_t elm, void_f_pvoid_t *free_func);
+XBT_PUBLIC(void) xbt_set_remove (xbt_set_t set, xbt_set_elm_t elm);
+XBT_PUBLIC(void) xbt_set_remove_by_name (xbt_set_t set, const char *key);
+XBT_PUBLIC(void) xbt_set_remove_by_name_ext (xbt_set_t set, const char *key, int key_len);
+XBT_PUBLIC(void) xbt_set_remove_by_id (xbt_set_t set, int id);
-XBT_PUBLIC xbt_set_elm_t xbt_set_get_by_name (xbt_set_t set, const char *key);
-XBT_PUBLIC xbt_set_elm_t xbt_set_get_by_name_ext(xbt_set_t set, const char *key, int key_len);
-XBT_PUBLIC xbt_set_elm_t xbt_set_get_by_id (xbt_set_t set, int id);
+XBT_PUBLIC(xbt_set_elm_t) xbt_set_get_by_name (xbt_set_t set, const char *key);
+XBT_PUBLIC(xbt_set_elm_t) xbt_set_get_by_name_ext(xbt_set_t set, const char *key, int key_len);
+XBT_PUBLIC(xbt_set_elm_t) xbt_set_get_by_id (xbt_set_t set, int id);
-XBT_PUBLIC unsigned long xbt_set_length (const xbt_set_t set);
+XBT_PUBLIC(unsigned long) xbt_set_length (const xbt_set_t set);
/** @} */
/** @brief Cursor type */
typedef struct xbt_set_cursor_ *xbt_set_cursor_t;
-XBT_PUBLIC void xbt_set_cursor_first (xbt_set_t set,
+XBT_PUBLIC(void) xbt_set_cursor_first (xbt_set_t set,
xbt_set_cursor_t *cursor);
-XBT_PUBLIC void xbt_set_cursor_step (xbt_set_cursor_t cursor);
-XBT_PUBLIC int xbt_set_cursor_get_or_free (xbt_set_cursor_t *cursor,
+XBT_PUBLIC(void) xbt_set_cursor_step (xbt_set_cursor_t cursor);
+XBT_PUBLIC(int) xbt_set_cursor_get_or_free (xbt_set_cursor_t *cursor,
xbt_set_elm_t *elm);
/** @brief Iterates over the whole set
* @{
*/
-XBT_PUBLIC xbt_swag_t xbt_swag_new(size_t offset);
-XBT_PUBLIC void xbt_swag_free(xbt_swag_t swag);
-XBT_PUBLIC void xbt_swag_init(xbt_swag_t swag, size_t offset);
-XBT_PUBLIC void xbt_swag_insert(void *obj, xbt_swag_t swag);
-XBT_PUBLIC void xbt_swag_insert_at_head(void *obj, xbt_swag_t swag);
-XBT_PUBLIC void xbt_swag_insert_at_tail(void *obj, xbt_swag_t swag);
-XBT_PUBLIC void *xbt_swag_remove(void *obj, xbt_swag_t swag);
-XBT_PUBLIC void *xbt_swag_extract(xbt_swag_t swag);
-XBT_PUBLIC int xbt_swag_size(xbt_swag_t swag);
-XBT_PUBLIC int xbt_swag_belongs(void *obj, xbt_swag_t swag);
+XBT_PUBLIC(xbt_swag_t) xbt_swag_new(size_t offset);
+XBT_PUBLIC(void) xbt_swag_free(xbt_swag_t swag);
+XBT_PUBLIC(void) xbt_swag_init(xbt_swag_t swag, size_t offset);
+XBT_PUBLIC(void) xbt_swag_insert(void *obj, xbt_swag_t swag);
+XBT_PUBLIC(void) xbt_swag_insert_at_head(void *obj, xbt_swag_t swag);
+XBT_PUBLIC(void) xbt_swag_insert_at_tail(void *obj, xbt_swag_t swag);
+XBT_PUBLIC(void*) xbt_swag_remove(void *obj, xbt_swag_t swag);
+XBT_PUBLIC(void*)xbt_swag_extract(xbt_swag_t swag);
+XBT_PUBLIC(int) xbt_swag_size(xbt_swag_t swag);
+XBT_PUBLIC(int) xbt_swag_belongs(void *obj, xbt_swag_t swag);
static XBT_INLINE void *xbt_swag_getFirst(xbt_swag_t swag)
{
#ifndef AMOK_BASE_H
#define AMOK_BASE_H
-XBT_PUBLIC void amok_init(void);
-XBT_PUBLIC void amok_exit(void);
+XBT_PUBLIC(void) amok_init(void);
+XBT_PUBLIC(void) amok_exit(void);
/* module creation functions */
-XBT_PUBLIC void amok_pm_modulecreate(void);
+XBT_PUBLIC(void) amok_pm_modulecreate(void);
#endif /* AMOK_BASE_H */
#ifndef GRAS_DATADESC_INTERFACE_H
#define GRAS_DATADESC_INTERFACE_H
-XBT_PUBLIC gras_datadesc_type_t gras_datadesc_by_id (long int code);
+XBT_PUBLIC(gras_datadesc_type_t) gras_datadesc_by_id (long int code);
/* to debug */
-XBT_PUBLIC void gras_datadesc_type_dump(const gras_datadesc_type_t ddt);
-XBT_PUBLIC const char *gras_datadesc_arch_name(int code);
+XBT_PUBLIC(void) gras_datadesc_type_dump(const gras_datadesc_type_t ddt);
+XBT_PUBLIC(const char *) gras_datadesc_arch_name(int code);
/* compare two data type description */
-XBT_PUBLIC int
+XBT_PUBLIC(int)
gras_datadesc_type_cmp(const gras_datadesc_type_t d1,
const gras_datadesc_type_t d2);
/* Access function */
-XBT_PUBLIC int gras_datadesc_size(gras_datadesc_type_t type);
+XBT_PUBLIC(int) gras_datadesc_size(gras_datadesc_type_t type);
/* Described data exchanges: direct use */
-XBT_PUBLIC int gras_datadesc_copy(gras_datadesc_type_t type, void *src, void *dst);
-XBT_PUBLIC void gras_datadesc_send(gras_socket_t sock, gras_datadesc_type_t type, void *src);
-XBT_PUBLIC void gras_datadesc_recv(gras_socket_t sock, gras_datadesc_type_t type,
+XBT_PUBLIC(int) gras_datadesc_copy(gras_datadesc_type_t type, void *src, void *dst);
+XBT_PUBLIC(void) gras_datadesc_send(gras_socket_t sock, gras_datadesc_type_t type, void *src);
+XBT_PUBLIC(void) gras_datadesc_recv(gras_socket_t sock, gras_datadesc_type_t type,
int r_arch, void *dst);
/* Described data exchanges: IDL compilation FIXME: not implemented*/
-XBT_PUBLIC void gras_datadesc_gen_cpy(gras_datadesc_type_t type, void *src, void **dst);
-XBT_PUBLIC void gras_datadesc_gen_send(gras_socket_t sock, gras_datadesc_type_t type, void *src);
-XBT_PUBLIC void gras_datadesc_gen_recv(gras_socket_t sock, gras_datadesc_type_t type,
+XBT_PUBLIC(void) gras_datadesc_gen_cpy(gras_datadesc_type_t type, void *src, void **dst);
+XBT_PUBLIC(void) gras_datadesc_gen_send(gras_socket_t sock, gras_datadesc_type_t type, void *src);
+XBT_PUBLIC(void) gras_datadesc_gen_recv(gras_socket_t sock, gras_datadesc_type_t type,
int r_arch, void *dst);
#define ddt_aligned(v, a) (((v) + (a - 1)) & ~(a - 1))
/*@null@*/extern xbt_set_t gras_datadesc_set_local;
-XBT_PUBLIC void gras_ddt_freev(void *ddt);
+XBT_PUBLIC(void) gras_ddt_freev(void *ddt);
/*******************************************
* Descriptions of all known architectures *
*******************************************/
} s_gras_dd_cat_field_t,*gras_dd_cat_field_t;
-XBT_PUBLIC void gras_dd_cat_field_free(void *f);
+XBT_PUBLIC(void) gras_dd_cat_field_free(void *f);
/**
* gras_dd_cat_scalar_t:
/***************************
* constructor/desctructor *
***************************/
-XBT_PUBLIC void gras_datadesc_free(gras_datadesc_type_t *type);
+XBT_PUBLIC(void) gras_datadesc_free(gras_datadesc_type_t *type);
-XBT_PUBLIC gras_datadesc_type_t
+XBT_PUBLIC(gras_datadesc_type_t)
gras_datadesc_scalar(const char *name,
gras_ddt_scalar_type_t type,
enum e_gras_dd_scalar_encoding encoding);
/****************************************************
* Callback persistant state constructor/destructor *
****************************************************/
-XBT_PUBLIC gras_cbps_t gras_cbps_new(void);
-XBT_PUBLIC void gras_cbps_free(gras_cbps_t *state);
-XBT_PUBLIC void gras_cbps_reset(gras_cbps_t state);
+XBT_PUBLIC(gras_cbps_t) gras_cbps_new(void);
+XBT_PUBLIC(void) gras_cbps_free(gras_cbps_t *state);
+XBT_PUBLIC(void) gras_cbps_reset(gras_cbps_t state);
/***************
* Convertions *
***************/
-XBT_PUBLIC void
+XBT_PUBLIC(void)
gras_dd_convert_elm(gras_datadesc_type_t type, int count,
int r_arch,
void *src, void *dst);
extern int gras_ddt_parse_char_pos;
extern int gras_ddt_parse_tok_num;
-XBT_PUBLIC void gras_ddt_parse_dump(void);
-XBT_PUBLIC int gras_ddt_parse_lex_n_dump(void);
-XBT_PUBLIC void gras_ddt_parse_pointer_init(const char *file);
-XBT_PUBLIC void gras_ddt_parse_pointer_close(void);
-XBT_PUBLIC void gras_ddt_parse_pointer_string_init(const char *string_to_parse);
-XBT_PUBLIC void gras_ddt_parse_pointer_string_close(void);
+XBT_PUBLIC(void) gras_ddt_parse_dump(void);
+XBT_PUBLIC(int) gras_ddt_parse_lex_n_dump(void);
+XBT_PUBLIC(void) gras_ddt_parse_pointer_init(const char *file);
+XBT_PUBLIC(void) gras_ddt_parse_pointer_close(void);
+XBT_PUBLIC(void) gras_ddt_parse_pointer_string_init(const char *string_to_parse);
+XBT_PUBLIC(void) gras_ddt_parse_pointer_string_close(void);
/* prototypes of the functions offered by flex */
-XBT_PUBLIC int gras_ddt_parse_lex(void);
-XBT_PUBLIC int gras_ddt_parse_get_lineno (void);
-XBT_PUBLIC FILE *gras_ddt_parse_get_in (void);
-XBT_PUBLIC FILE *gras_ddt_parse_get_out (void);
-XBT_PUBLIC int gras_ddt_parse_get_leng (void);
-XBT_PUBLIC char *gras_ddt_parse_get_text (void);
-XBT_PUBLIC void gras_ddt_parse_set_lineno (int line_number );
-XBT_PUBLIC void gras_ddt_parse_set_in (FILE * in_str );
-XBT_PUBLIC void gras_ddt_parse_set_out (FILE * out_str );
-XBT_PUBLIC int gras_ddt_parse_get_debug (void);
-XBT_PUBLIC void gras_ddt_parse_set_debug (int bdebug );
-XBT_PUBLIC int gras_ddt_parse_lex_destroy (void);
+XBT_PUBLIC(int) gras_ddt_parse_lex(void);
+XBT_PUBLIC(int) gras_ddt_parse_get_lineno (void);
+XBT_PUBLIC(FILE *)gras_ddt_parse_get_in (void);
+XBT_PUBLIC(FILE *)gras_ddt_parse_get_out (void);
+XBT_PUBLIC(int) gras_ddt_parse_get_leng (void);
+XBT_PUBLIC(char *)gras_ddt_parse_get_text (void);
+XBT_PUBLIC(void) gras_ddt_parse_set_lineno (int line_number );
+XBT_PUBLIC(void) gras_ddt_parse_set_in (FILE * in_str );
+XBT_PUBLIC(void) gras_ddt_parse_set_out (FILE * out_str );
+XBT_PUBLIC(int) gras_ddt_parse_get_debug (void);
+XBT_PUBLIC(void) gras_ddt_parse_set_debug (int bdebug );
+XBT_PUBLIC(int) gras_ddt_parse_lex_destroy (void);
#define PARSE_ERROR_PRE do {
#define PARSE_ERROR_POST xbt_abort();} while (0)
} s_gras_msg_procdata_t,*gras_msg_procdata_t;
-XBT_PUBLIC void gras_msg_send_namev(gras_socket_t sock,
+XBT_PUBLIC(void) gras_msg_send_namev(gras_socket_t sock,
const char *namev,
void *payload);
extern const char *e_gras_msg_kind_names[e_gras_msg_kind_count];
/* declare either regular messages or RPC or whatever */
-XBT_PUBLIC void
+XBT_PUBLIC(void)
gras_msgtype_declare_ext(const char *name,
short int version,
e_gras_msg_kind_t kind,
/* functions to extract msg from socket or put it on wire (depend RL vs SG) */
-XBT_PUBLIC void gras_msg_recv(gras_socket_t sock,
+XBT_PUBLIC(void) gras_msg_recv(gras_socket_t sock,
gras_msg_t msg/*OUT*/);
-XBT_PUBLIC void gras_msg_send_ext(gras_socket_t sock,
+XBT_PUBLIC(void) gras_msg_send_ext(gras_socket_t sock,
e_gras_msg_kind_t kind,
unsigned long int ID,
gras_msgtype_t msgtype,
};
typedef struct s_gras_cblist gras_cblist_t;
-XBT_PUBLIC void gras_cbl_free(void *); /* used to free the memory at the end */
-XBT_PUBLIC void gras_cblist_free(void *cbl);
+XBT_PUBLIC(void) gras_cbl_free(void *); /* used to free the memory at the end */
+XBT_PUBLIC(void) gras_cblist_free(void *cbl);
/**
* gras_msg_cb_ctx_t:
} s_gras_timer_t, *gras_timer_t;
/* returns 0 if it handled a timer, or the delay until next timer, or -1 if no armed timer */
-XBT_PUBLIC double gras_msg_timer_handle(void);
+XBT_PUBLIC(double) gras_msg_timer_handle(void);
-XBT_PUBLIC gras_msg_cb_ctx_t gras_msg_cb_ctx_new(gras_socket_t expe,
+XBT_PUBLIC(gras_msg_cb_ctx_t) gras_msg_cb_ctx_new(gras_socket_t expe,
gras_msgtype_t msgtype,
unsigned long int ID,
int answer_due,
/* We deploy a mallocator on the RPC contextes */
#include "xbt/mallocator.h"
extern xbt_mallocator_t gras_msg_ctx_mallocator;
-XBT_PUBLIC void* gras_msg_ctx_mallocator_new_f(void);
-XBT_PUBLIC void gras_msg_ctx_mallocator_free_f(void* dict);
-XBT_PUBLIC void gras_msg_ctx_mallocator_reset_f(void* dict);
+XBT_PUBLIC(void*) gras_msg_ctx_mallocator_new_f(void);
+XBT_PUBLIC(void) gras_msg_ctx_mallocator_free_f(void* dict);
+XBT_PUBLIC(void) gras_msg_ctx_mallocator_reset_f(void* dict);
#endif /* GRAS_MESSAGE_PRIVATE_H */
*** Main user functions
***/
/* stable if we know the storage will keep as is until the next trp_flush */
-XBT_PUBLIC void gras_trp_send(gras_socket_t sd, char *data, long int size, int stable);
-XBT_PUBLIC void gras_trp_recv(gras_socket_t sd, char *data, long int size);
-XBT_PUBLIC void gras_trp_flush(gras_socket_t sd);
+XBT_PUBLIC(void) gras_trp_send(gras_socket_t sd, char *data, long int size, int stable);
+XBT_PUBLIC(void) gras_trp_recv(gras_socket_t sd, char *data, long int size);
+XBT_PUBLIC(void) gras_trp_flush(gras_socket_t sd);
/* Find which socket needs to be read next */
-XBT_PUBLIC gras_socket_t gras_trp_select(double timeout);
+XBT_PUBLIC(gras_socket_t) gras_trp_select(double timeout);
/* Set the peer process name (used by messaging layer) */
-XBT_PUBLIC void gras_socket_peer_proc_set(gras_socket_t sock,char*peer_proc);
+XBT_PUBLIC(void) gras_socket_peer_proc_set(gras_socket_t sock,char*peer_proc);
/***
*** Plugin mechanism
void (*exit)(gras_trp_plugin_t);
};
-XBT_PUBLIC gras_trp_plugin_t
+XBT_PUBLIC(gras_trp_plugin_t)
gras_trp_plugin_get_by_name(const char *name);
/* Data of this module specific to each process
} s_gras_trp_procdata_t,*gras_trp_procdata_t;
/* Display the content of our socket set (debugging purpose) */
-XBT_PUBLIC void gras_trp_socketset_dump(const char *name);
+XBT_PUBLIC(void) gras_trp_socketset_dump(const char *name);
#endif /* GRAS_TRP_INTERFACE_H */
gras_trp_bufdata_t *bufdata;
}s_gras_socket_t;
-XBT_PUBLIC void gras_trp_socket_new(int incomming,
+XBT_PUBLIC(void) gras_trp_socket_new(int incomming,
gras_socket_t *dst);
/* The drivers */
typedef void (*gras_trp_setup_t)(gras_trp_plugin_t dst);
-XBT_PUBLIC void gras_trp_tcp_setup(gras_trp_plugin_t plug);
-XBT_PUBLIC void gras_trp_iov_setup(gras_trp_plugin_t plug);
-XBT_PUBLIC void gras_trp_file_setup(gras_trp_plugin_t plug);
-XBT_PUBLIC void gras_trp_sg_setup(gras_trp_plugin_t plug);
+XBT_PUBLIC(void) gras_trp_tcp_setup(gras_trp_plugin_t plug);
+XBT_PUBLIC(void) gras_trp_iov_setup(gras_trp_plugin_t plug);
+XBT_PUBLIC(void) gras_trp_file_setup(gras_trp_plugin_t plug);
+XBT_PUBLIC(void) gras_trp_sg_setup(gras_trp_plugin_t plug);
/*
*/
-XBT_PUBLIC gras_socket_t gras_trp_buf_init_sock(gras_socket_t sock);
+XBT_PUBLIC(gras_socket_t) gras_trp_buf_init_sock(gras_socket_t sock);
#endif /* GRAS_TRP_PRIVATE_H */
#include "gras/process.h"
/* shutdown the module mechanism (world-wide cleanups) */
-XBT_PUBLIC void gras_moddata_exit(void);
+XBT_PUBLIC(void) gras_moddata_exit(void);
/* shutdown this process wrt module mecanism (process-wide cleanups) */
-XBT_PUBLIC void gras_moddata_leave(void);
+XBT_PUBLIC(void) gras_moddata_leave(void);
/* This is the old interface (deprecated) */
/* declare a new process specific data
(used by gras_<module>_register to make sure that gras_process_init will create it) */
-XBT_PUBLIC int gras_procdata_add(const char *name, pvoid_f_void_t creator,void_f_pvoid_t destructor);
+XBT_PUBLIC(int) gras_procdata_add(const char *name, pvoid_f_void_t creator,void_f_pvoid_t destructor);
-XBT_PUBLIC void *gras_libdata_by_name(const char *name);
-XBT_PUBLIC void *gras_libdata_by_id(int id);
+XBT_PUBLIC(void) *gras_libdata_by_name(const char *name);
+XBT_PUBLIC(void) *gras_libdata_by_id(int id);
#endif /* GRAS_VIRTU_INTERFACE_H */
xbt_dynar_t moddata;
} gras_procdata_t;
-XBT_PUBLIC gras_procdata_t *gras_procdata_get(void);
-XBT_PUBLIC void *gras_libdata_by_name_from_procdata(const char *name, gras_procdata_t* pd);
+XBT_PUBLIC(gras_procdata_t *) gras_procdata_get(void);
+XBT_PUBLIC(void) *gras_libdata_by_name_from_procdata(const char *name, gras_procdata_t* pd);
#endif /* GRAS_VIRTU_PRIVATE_H */
} gras_trp_sg_sock_data_t;
-XBT_PUBLIC void *gras_libdata_by_name_from_remote(const char *name, m_process_t p);
+XBT_PUBLIC(void) *gras_libdata_by_name_from_remote(const char *name, m_process_t p);
/* The same function by id would be really dangerous.
*
* Indeed, it would rely on the fact that all process register libdatas in
#include <xbt/misc.h> /* XBT_PUBLIC */
/* modules initialization functions */
-XBT_PUBLIC void gras_emul_init(void);
-XBT_PUBLIC void gras_emul_exit(void);
-
-XBT_PUBLIC void gras_msg_register(void);
-XBT_PUBLIC void gras_msg_init(void);
-XBT_PUBLIC void gras_msg_exit(void);
-XBT_PUBLIC void gras_trp_register(void);
-XBT_PUBLIC void gras_trp_init(void);
-XBT_PUBLIC void gras_trp_exit(void);
-XBT_PUBLIC void gras_datadesc_init(void);
-XBT_PUBLIC void gras_datadesc_exit(void);
-
-XBT_PUBLIC void gras_procdata_init(void);
-XBT_PUBLIC void gras_procdata_exit(void);
+XBT_PUBLIC(void) gras_emul_init(void);
+XBT_PUBLIC(void) gras_emul_exit(void);
+
+XBT_PUBLIC(void) gras_msg_register(void);
+XBT_PUBLIC(void) gras_msg_init(void);
+XBT_PUBLIC(void) gras_msg_exit(void);
+XBT_PUBLIC(void) gras_trp_register(void);
+XBT_PUBLIC(void) gras_trp_init(void);
+XBT_PUBLIC(void) gras_trp_exit(void);
+XBT_PUBLIC(void) gras_datadesc_init(void);
+XBT_PUBLIC(void) gras_datadesc_exit(void);
+
+XBT_PUBLIC(void) gras_procdata_init(void);
+XBT_PUBLIC(void) gras_procdata_exit(void);
#endif /* GRAS_MODINTER_H */
typedef struct lmm_constraint *lmm_constraint_t;
typedef struct lmm_system *lmm_system_t;
-XBT_PUBLIC lmm_system_t lmm_system_new(void);
-XBT_PUBLIC void lmm_system_free(lmm_system_t sys);
-XBT_PUBLIC void lmm_variable_disable(lmm_system_t sys, lmm_variable_t var);
+XBT_PUBLIC(lmm_system_t) lmm_system_new(void);
+XBT_PUBLIC(void) lmm_system_free(lmm_system_t sys);
+XBT_PUBLIC(void) lmm_variable_disable(lmm_system_t sys, lmm_variable_t var);
-XBT_PUBLIC lmm_constraint_t lmm_constraint_new(lmm_system_t sys, void *id,
+XBT_PUBLIC(lmm_constraint_t) lmm_constraint_new(lmm_system_t sys, void *id,
double bound_value);
-XBT_PUBLIC void lmm_constraint_shared(lmm_constraint_t cnst);
+XBT_PUBLIC(void) lmm_constraint_shared(lmm_constraint_t cnst);
-XBT_PUBLIC void lmm_constraint_free(lmm_system_t sys, lmm_constraint_t cnst);
+XBT_PUBLIC(void) lmm_constraint_free(lmm_system_t sys, lmm_constraint_t cnst);
-XBT_PUBLIC lmm_variable_t lmm_variable_new(lmm_system_t sys, void *id,
+XBT_PUBLIC(lmm_variable_t) lmm_variable_new(lmm_system_t sys, void *id,
double weight_value,
double bound, int number_of_constraints);
-XBT_PUBLIC void lmm_variable_free(lmm_system_t sys, lmm_variable_t var);
-XBT_PUBLIC double lmm_variable_getvalue(lmm_variable_t var);
+XBT_PUBLIC(void) lmm_variable_free(lmm_system_t sys, lmm_variable_t var);
+XBT_PUBLIC(double) lmm_variable_getvalue(lmm_variable_t var);
-XBT_PUBLIC void lmm_expand(lmm_system_t sys, lmm_constraint_t cnst,
+XBT_PUBLIC(void) lmm_expand(lmm_system_t sys, lmm_constraint_t cnst,
lmm_variable_t var, double value);
-XBT_PUBLIC void lmm_expand_add(lmm_system_t sys, lmm_constraint_t cnst,
+XBT_PUBLIC(void) lmm_expand_add(lmm_system_t sys, lmm_constraint_t cnst,
lmm_variable_t var, double value);
-XBT_PUBLIC void lmm_elem_set_value(lmm_system_t sys, lmm_constraint_t cnst,
+XBT_PUBLIC(void) lmm_elem_set_value(lmm_system_t sys, lmm_constraint_t cnst,
lmm_variable_t var, double value);
-XBT_PUBLIC lmm_constraint_t lmm_get_cnst_from_var(lmm_system_t sys,
+XBT_PUBLIC(lmm_constraint_t) lmm_get_cnst_from_var(lmm_system_t sys,
lmm_variable_t var, int num);
-XBT_PUBLIC int lmm_get_number_of_cnst_from_var(lmm_system_t sys, lmm_variable_t var);
-XBT_PUBLIC lmm_variable_t lmm_get_var_from_cnst(lmm_system_t sys,
+XBT_PUBLIC(int) lmm_get_number_of_cnst_from_var(lmm_system_t sys, lmm_variable_t var);
+XBT_PUBLIC(lmm_variable_t) lmm_get_var_from_cnst(lmm_system_t sys,
lmm_constraint_t cnst,
lmm_variable_t * var);
-XBT_PUBLIC lmm_constraint_t lmm_get_first_active_constraint(lmm_system_t sys);
-XBT_PUBLIC lmm_constraint_t lmm_get_next_active_constraint(lmm_system_t sys, lmm_constraint_t cnst);
+XBT_PUBLIC(lmm_constraint_t) lmm_get_first_active_constraint(lmm_system_t sys);
+XBT_PUBLIC(lmm_constraint_t) lmm_get_next_active_constraint(lmm_system_t sys, lmm_constraint_t cnst);
-XBT_PUBLIC void *lmm_constraint_id(lmm_constraint_t cnst);
-XBT_PUBLIC void *lmm_variable_id(lmm_variable_t var);
+XBT_PUBLIC(void) *lmm_constraint_id(lmm_constraint_t cnst);
+XBT_PUBLIC(void) *lmm_variable_id(lmm_variable_t var);
-XBT_PUBLIC void lmm_update(lmm_system_t sys, lmm_constraint_t cnst,
+XBT_PUBLIC(void) lmm_update(lmm_system_t sys, lmm_constraint_t cnst,
lmm_variable_t var, double value);
-XBT_PUBLIC void lmm_update_variable_bound(lmm_system_t sys, lmm_variable_t var,
+XBT_PUBLIC(void) lmm_update_variable_bound(lmm_system_t sys, lmm_variable_t var,
double bound);
-XBT_PUBLIC void lmm_update_variable_weight(lmm_system_t sys, lmm_variable_t var,
+XBT_PUBLIC(void) lmm_update_variable_weight(lmm_system_t sys, lmm_variable_t var,
double weight);
-XBT_PUBLIC double lmm_get_variable_weight(lmm_variable_t var);
+XBT_PUBLIC(double) lmm_get_variable_weight(lmm_variable_t var);
-XBT_PUBLIC void lmm_update_constraint_bound(lmm_system_t sys, lmm_constraint_t cnst,
+XBT_PUBLIC(void) lmm_update_constraint_bound(lmm_system_t sys, lmm_constraint_t cnst,
double bound);
-XBT_PUBLIC int lmm_constraint_used(lmm_system_t sys, lmm_constraint_t cnst);
+XBT_PUBLIC(int) lmm_constraint_used(lmm_system_t sys, lmm_constraint_t cnst);
-XBT_PUBLIC void lmm_solve(lmm_system_t sys);
-XBT_PUBLIC void sdp_solve(lmm_system_t sys);
+XBT_PUBLIC(void) lmm_solve(lmm_system_t sys);
+XBT_PUBLIC(void) sdp_solve(lmm_system_t sys);
#endif /* _SURF_MAXMIN_H */
/** \brief Initializes the timer resource
* \ingroup SURF_resources
*/
-XBT_PUBLIC void surf_timer_resource_init(const char *filename);
+XBT_PUBLIC(void) surf_timer_resource_init(const char *filename);
/* Cpu resource */
*
* \see surf_workstation_resource_init_CLM03()
*/
-XBT_PUBLIC void surf_cpu_resource_init_Cas01(const char *filename);
+XBT_PUBLIC(void) surf_cpu_resource_init_Cas01(const char *filename);
/* Network resource */
*
* \see surf_workstation_resource_init_CLM03()
*/
-XBT_PUBLIC void surf_network_resource_init_CM02(const char *filename);
+XBT_PUBLIC(void) surf_network_resource_init_CM02(const char *filename);
/** \brief Workstation resource extension public
* \ingroup SURF_resources
*
* \see surf_workstation_resource_init_KCCFLN05()
*/
-XBT_PUBLIC void surf_workstation_resource_init_CLM03(const char *filename);
+XBT_PUBLIC(void) surf_workstation_resource_init_CLM03(const char *filename);
/** \brief Initializes the platform with the model KCCFLN05
* \ingroup SURF_resources
#include "surf/surfxml_parse.h"
#include "surf/trace_mgr.h"
-XBT_PUBLIC void surf_parse_get_trace(tmgr_trace_t *trace, const char *string);
+XBT_PUBLIC(void) surf_parse_get_trace(tmgr_trace_t *trace, const char *string);
#endif
typedef struct tmgr_trace_event *tmgr_trace_event_t;
/* Creation functions */
-XBT_PUBLIC tmgr_history_t tmgr_history_new(void);
-XBT_PUBLIC void tmgr_history_free(tmgr_history_t history);
+XBT_PUBLIC(tmgr_history_t) tmgr_history_new(void);
+XBT_PUBLIC(void) tmgr_history_free(tmgr_history_t history);
-XBT_PUBLIC tmgr_trace_t tmgr_trace_new(const char *filename);
-XBT_PUBLIC tmgr_trace_t tmgr_empty_trace_new(void);
-XBT_PUBLIC void tmgr_trace_free(tmgr_trace_t trace);
+XBT_PUBLIC(tmgr_trace_t) tmgr_trace_new(const char *filename);
+XBT_PUBLIC(tmgr_trace_t) tmgr_empty_trace_new(void);
+XBT_PUBLIC(void) tmgr_trace_free(tmgr_trace_t trace);
-XBT_PUBLIC tmgr_trace_event_t tmgr_history_add_trace(tmgr_history_t history,
+XBT_PUBLIC(tmgr_trace_event_t) tmgr_history_add_trace(tmgr_history_t history,
tmgr_trace_t trace,
double start_time, int offset,
void *resource);
/* Access functions */
-XBT_PUBLIC double tmgr_history_next_date(tmgr_history_t history);
-XBT_PUBLIC tmgr_trace_event_t tmgr_history_get_next_event_leq(tmgr_history_t history,
+XBT_PUBLIC(double) tmgr_history_next_date(tmgr_history_t history);
+XBT_PUBLIC(tmgr_trace_event_t) tmgr_history_get_next_event_leq(tmgr_history_t history,
double date,
double *value,
void **resource);
-XBT_PUBLIC void tmgr_finalize(void);
+XBT_PUBLIC(void) tmgr_finalize(void);
#endif /* _SURF_TMGR_H */
/* @}*/
-XBT_PUBLIC void xbt_context_init(void);
-XBT_PUBLIC void xbt_context_exit(void);
-XBT_PUBLIC void xbt_context_empty_trash(void);
-XBT_PUBLIC xbt_context_t xbt_context_new(xbt_context_function_t code,
+XBT_PUBLIC(void) xbt_context_init(void);
+XBT_PUBLIC(void) xbt_context_exit(void);
+XBT_PUBLIC(void) xbt_context_empty_trash(void);
+XBT_PUBLIC (xbt_context_t) xbt_context_new(xbt_context_function_t code,
void_f_pvoid_t startup_func, void *startup_arg,
void_f_pvoid_t cleanup_func, void *cleanup_arg,
int argc, char *argv[]);
-XBT_PUBLIC void xbt_context_free(xbt_context_t context);
-XBT_PUBLIC void xbt_context_start(xbt_context_t context);
-XBT_PUBLIC void xbt_context_yield(void);
-XBT_PUBLIC void xbt_context_schedule(xbt_context_t context);
+XBT_PUBLIC(void) xbt_context_free(xbt_context_t context);
+XBT_PUBLIC(void) xbt_context_start(xbt_context_t context);
+XBT_PUBLIC(void) xbt_context_yield(void);
+XBT_PUBLIC(void) xbt_context_schedule(xbt_context_t context);
/* @} */
#endif /* _XBT_CONTEXT_H */
* gives the number of seconds since the Epoch (00:00:00 UTC, January 1, 1970).
* Most users should use gras_os_time and should not use this function unless
they really know what they are doing. */
-XBT_PUBLIC double xbt_os_time(void);
+XBT_PUBLIC(double) xbt_os_time(void);
typedef struct s_xbt_os_timer *xbt_os_timer_t;
XBT_PUBLIC xbt_os_timer_t xbt_os_timer_new(void);
-XBT_PUBLIC void xbt_os_timer_free(xbt_os_timer_t timer);
-XBT_PUBLIC void xbt_os_timer_start(xbt_os_timer_t timer);
-XBT_PUBLIC void xbt_os_timer_stop(xbt_os_timer_t timer);
-XBT_PUBLIC double xbt_os_timer_elapsed(xbt_os_timer_t timer);
+XBT_PUBLIC(void) xbt_os_timer_free(xbt_os_timer_t timer);
+XBT_PUBLIC(void) xbt_os_timer_start(xbt_os_timer_t timer);
+XBT_PUBLIC(void) xbt_os_timer_stop(xbt_os_timer_t timer);
+XBT_PUBLIC(double) xbt_os_timer_elapsed(xbt_os_timer_t timer);
#endif
extern MSG_Global_t msg_global;
/************************** Configuration support ********************************/
-XBT_PUBLIC void msg_config_init(void); /* create the config set, call this before use! */
-XBT_PUBLIC void msg_config_finalize(void); /* destroy the config set, call this at cleanup. */
+XBT_PUBLIC(void) msg_config_init(void); /* create the config set, call this before use! */
+XBT_PUBLIC(void) msg_config_finalize(void); /* destroy the config set, call this at cleanup. */
extern int _msg_init_status; /* 0: beginning of time;
1: pre-inited (cfg_set created);
2: inited (running) */
get_state(MSG_host_self()->simdata->host)==SURF_CPU_ON,\
"Host failed, you cannot call this function.")
-XBT_PUBLIC m_host_t __MSG_host_create(const char *name, void *workstation,
+XBT_PUBLIC(m_host_t) __MSG_host_create(const char *name, void *workstation,
void *data);
-XBT_PUBLIC void __MSG_host_destroy(m_host_t host);
-XBT_PUBLIC void __MSG_task_execute(m_process_t process, m_task_t task);
-XBT_PUBLIC MSG_error_t __MSG_wait_for_computation(m_process_t process, m_task_t task);
-XBT_PUBLIC MSG_error_t __MSG_task_wait_event(m_process_t process, m_task_t task);
+XBT_PUBLIC(void) __MSG_host_destroy(m_host_t host);
+XBT_PUBLIC(void) __MSG_task_execute(m_process_t process, m_task_t task);
+XBT_PUBLIC(MSG_error_t) __MSG_wait_for_computation(m_process_t process, m_task_t task);
+XBT_PUBLIC(MSG_error_t) __MSG_task_wait_event(m_process_t process, m_task_t task);
-XBT_PUBLIC int __MSG_process_block(double max_duration, const char *info);
-XBT_PUBLIC MSG_error_t __MSG_process_unblock(m_process_t process);
-XBT_PUBLIC int __MSG_process_isBlocked(m_process_t process);
+XBT_PUBLIC(int) __MSG_process_block(double max_duration, const char *info);
+XBT_PUBLIC(MSG_error_t) __MSG_process_unblock(m_process_t process);
+XBT_PUBLIC(int) __MSG_process_isBlocked(m_process_t process);
-XBT_PUBLIC void __MSG_display_process_status(void);
+XBT_PUBLIC(void) __MSG_display_process_status(void);
-XBT_PUBLIC m_task_t task_mallocator_new_f(void);
-XBT_PUBLIC void task_mallocator_free_f(m_task_t task);
-XBT_PUBLIC void task_mallocator_reset_f(m_task_t task);
+XBT_PUBLIC(m_task_t) task_mallocator_new_f(void);
+XBT_PUBLIC(void) task_mallocator_free_f(m_task_t task);
+XBT_PUBLIC(void) task_mallocator_reset_f(m_task_t task);
/* SimDag private functions */
-XBT_PUBLIC SD_link_t __SD_link_create(void *surf_link, void *data);
-XBT_PUBLIC void __SD_link_destroy(void *link);
+XBT_PUBLIC(SD_link_t) __SD_link_create(void *surf_link, void *data);
+XBT_PUBLIC(void) __SD_link_destroy(void *link);
-XBT_PUBLIC SD_workstation_t __SD_workstation_create(void *surf_workstation, void *data);
-XBT_PUBLIC void __SD_workstation_destroy(void *workstation);
-XBT_PUBLIC int __SD_workstation_is_busy(SD_workstation_t workstation);
+XBT_PUBLIC(SD_workstation_t) __SD_workstation_create(void *surf_workstation, void *data);
+XBT_PUBLIC(void) __SD_workstation_destroy(void *workstation);
+XBT_PUBLIC(int) __SD_workstation_is_busy(SD_workstation_t workstation);
-XBT_PUBLIC void __SD_task_set_state(SD_task_t task, e_SD_task_state_t new_state);
-XBT_PUBLIC void __SD_task_really_run(SD_task_t task);
-XBT_PUBLIC int __SD_task_try_to_run(SD_task_t task);
-XBT_PUBLIC void __SD_task_just_done(SD_task_t task);
+XBT_PUBLIC(void) __SD_task_set_state(SD_task_t task, e_SD_task_state_t new_state);
+XBT_PUBLIC(void) __SD_task_really_run(SD_task_t task);
+XBT_PUBLIC(int) __SD_task_try_to_run(SD_task_t task);
+XBT_PUBLIC(void) __SD_task_just_done(SD_task_t task);
/* Functions to test if the task is in a given state. */
/* #define pub2priv(r) ((surf_resource_private_t) ((char *)(r) -(sizeof(struct surf_resource_private_part)))) */
/* #define priv2pub(r) ((void *) ((char *)(r) +(sizeof(struct surf_resource_private_part)))) */
-XBT_PUBLIC double generic_maxmin_share_resources(xbt_swag_t running_actions,
+XBT_PUBLIC(double) generic_maxmin_share_resources(xbt_swag_t running_actions,
size_t offset);
-XBT_PUBLIC double generic_maxmin_share_resources2(xbt_swag_t running_actions,
+XBT_PUBLIC(double) generic_maxmin_share_resources2(xbt_swag_t running_actions,
size_t offset,
lmm_system_t sys);
/* Generic functions common to all ressources */
-XBT_PUBLIC e_surf_action_state_t surf_action_get_state(surf_action_t action);
-XBT_PUBLIC double surf_action_get_start_time(surf_action_t action);
-XBT_PUBLIC double surf_action_get_finish_time(surf_action_t action);
-XBT_PUBLIC void surf_action_free(surf_action_t * action);
-XBT_PUBLIC void surf_action_change_state(surf_action_t action,
+XBT_PUBLIC(e_surf_action_state_t) surf_action_get_state(surf_action_t action);
+XBT_PUBLIC(double) surf_action_get_start_time(surf_action_t action);
+XBT_PUBLIC(double) surf_action_get_finish_time(surf_action_t action);
+XBT_PUBLIC(void) surf_action_free(surf_action_t * action);
+XBT_PUBLIC(void) surf_action_change_state(surf_action_t action,
e_surf_action_state_t state);
-XBT_PUBLIC void surf_action_set_data(surf_action_t action,
+XBT_PUBLIC(void) surf_action_set_data(surf_action_t action,
void *data);
-XBT_PUBLIC FILE *surf_fopen(const char *name, const char *mode);
+XBT_PUBLIC(FILE *) surf_fopen(const char *name, const char *mode);
extern lmm_system_t maxmin_system;
extern tmgr_history_t history;
typedef struct xbt_dict_cursor_ s_xbt_dict_cursor_t;
extern xbt_mallocator_t dict_elm_mallocator;
-XBT_PUBLIC extern void* dict_elm_mallocator_new_f(void);
-XBT_PUBLIC extern void dict_elm_mallocator_free_f(void* elem);
-XBT_PUBLIC extern void dict_elm_mallocator_reset_f(void* elem);
+XBT_PUBLIC(extern void*) dict_elm_mallocator_new_f(void);
+XBT_PUBLIC(extern void) dict_elm_mallocator_free_f(void* elem);
+XBT_PUBLIC(extern void) dict_elm_mallocator_reset_f(void* elem);
/*####[ Function prototypes ]################################################*/
-XBT_PUBLIC xbt_dictelm_t xbt_dictelm_new(const char *key,
+XBT_PUBLIC(xbt_dictelm_t) xbt_dictelm_new(const char *key,
int key_len,
void *content,
void_f_pvoid_t free_f,
xbt_dictelm_t next);
-XBT_PUBLIC void xbt_dictelm_free(xbt_dictelm_t element);
-XBT_PUBLIC void xbt_dict_add_element(xbt_dict_t dict, xbt_dictelm_t element);
+XBT_PUBLIC(void) xbt_dictelm_free(xbt_dictelm_t element);
+XBT_PUBLIC(void) xbt_dict_add_element(xbt_dict_t dict, xbt_dictelm_t element);
#endif /* _XBT_DICT_PRIVATE_H_ */
#ifndef _XBT_EX_INTERFACE_H_
#define _XBT_EX_INTERFACE_H_
-XBT_PUBLIC void xbt_ex_setup_backtrace(xbt_ex_t *e);
+XBT_PUBLIC(void) xbt_ex_setup_backtrace(xbt_ex_t *e);
#endif /* _XBT_EX_INTERFACE_H_ */
#include "xbt/misc.h"
/* Modules definitions */
-XBT_PUBLIC void xbt_log_init(int *argc,char **argv);
-XBT_PUBLIC void xbt_log_exit(void);
-XBT_PUBLIC void xbt_fifo_exit(void);
-XBT_PUBLIC void xbt_dict_exit(void);
+XBT_PUBLIC(void) xbt_log_init(int *argc,char **argv);
+XBT_PUBLIC(void) xbt_log_exit(void);
+XBT_PUBLIC(void) xbt_fifo_exit(void);
+XBT_PUBLIC(void) xbt_dict_exit(void);
#endif /* XBT_MODINTER_H */