X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/71c8117a9137c59bece62c17a3277fdccd362d0a..d9cce835f104d243b0fc0a42cfdb8314181000c9:/include/simix/context.h diff --git a/include/simix/context.h b/include/simix/context.h index 367acf27ad..ce4def0ef6 100644 --- a/include/simix/context.h +++ b/include/simix/context.h @@ -53,7 +53,7 @@ typedef struct s_smx_context_factory { /* Hack: let msg load directly the right factory */ typedef void (*smx_ctx_factory_initializer_t)(smx_context_factory_t*); -extern smx_ctx_factory_initializer_t smx_factory_initializer_to_use; +XBT_PUBLIC(smx_ctx_factory_initializer_t) smx_factory_initializer_to_use; extern char* smx_context_factory_name; extern int smx_context_stack_size; @@ -81,24 +81,27 @@ typedef struct s_smx_context { } s_smx_ctx_base_t; /* methods of this class */ -void smx_ctx_base_factory_init(smx_context_factory_t *factory); -int smx_ctx_base_factory_finalize(smx_context_factory_t *factory); +XBT_PUBLIC(void) smx_ctx_base_factory_init(smx_context_factory_t *factory); +XBT_PUBLIC(int) smx_ctx_base_factory_finalize(smx_context_factory_t *factory); -smx_context_t +XBT_PUBLIC(smx_context_t) smx_ctx_base_factory_create_context_sized(size_t size, xbt_main_func_t code, int argc, char **argv, void_pfn_smxprocess_t cleanup, void* data); -void smx_ctx_base_free(smx_context_t context); -void smx_ctx_base_stop(smx_context_t context); -smx_context_t smx_ctx_base_self(void); -void *smx_ctx_base_get_data(smx_context_t context); +XBT_PUBLIC(void) smx_ctx_base_free(smx_context_t context); +XBT_PUBLIC(void) smx_ctx_base_stop(smx_context_t context); +XBT_PUBLIC(smx_context_t) smx_ctx_base_self(void); +XBT_PUBLIC(void) *smx_ctx_base_get_data(smx_context_t context); + +XBT_PUBLIC(xbt_dynar_t) SIMIX_process_get_runnable(void); +XBT_PUBLIC(smx_process_t) SIMIX_process_from_PID(int PID); /* parallelism */ XBT_INLINE int SIMIX_context_is_parallel(void); XBT_INLINE int SIMIX_context_get_nthreads(void); -XBT_INLINE void SIMIX_context_set_nthreads(int nb_threads); +XBT_INLINE void SIMIX_context_set_nthreads(char* str_nb_threads); XBT_INLINE int SIMIX_context_get_parallel_threshold(void); XBT_INLINE void SIMIX_context_set_parallel_threshold(int threshold); XBT_INLINE e_xbt_parmap_mode_t SIMIX_context_get_parallel_mode(void);