Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix a compilation error
[simgrid.git] / include / simix / context.h
index 71d1e6d..f3dba8b 100644 (file)
@@ -10,6 +10,7 @@
 #define _SIMIX_CONTEXT_H
 
 #include "xbt/swag.h"
+#include "xbt/parmap.h"
 #include "simix/datatypes.h"
 #include "simgrid_config.h"
 
@@ -50,11 +51,9 @@ typedef struct s_smx_context_factory {
   smx_pfn_context_get_data_t get_data;
 } s_smx_context_factory_t;
 
-
-
 /* 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;
 
@@ -82,26 +81,30 @@ 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);
 
 /* parallelism */
-XBT_INLINE void SIMIX_context_set_nthreads(int nb_threads);
-XBT_INLINE int SIMIX_context_get_nthreads(void);
 XBT_INLINE int SIMIX_context_is_parallel(void);
-XBT_INLINE void SIMIX_context_set_parallel_threshold(int threshold);
+XBT_INLINE int SIMIX_context_get_nthreads(void);
+XBT_INLINE void SIMIX_context_set_nthreads(int 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);
+XBT_INLINE void SIMIX_context_set_parallel_mode(e_xbt_parmap_mode_t mode);
 
 SG_END_DECL()