- void_f_pvoid_t cleanup_process_function;
-} s_SIMIX_Global_t, *SIMIX_Global_t;
-
-extern SIMIX_Global_t simix_global;
-
-/******************************** Process *************************************/
-
-/** @brief Process datatype
- @ingroup m_datatypes_management_details @{ */
- typedef struct s_smx_process {
- s_xbt_swag_hookup_t process_hookup;
- s_xbt_swag_hookup_t synchro_hookup;
- s_xbt_swag_hookup_t host_proc_hookup;
- s_xbt_swag_hookup_t destroy_hookup;
-
- char *name; /**< @brief process name if any */
- smx_host_t smx_host; /* the host on which the process is running */
- smx_context_t context; /* the context that executes the scheduler function */
- int blocked : 1;
- int suspended : 1;
- int iwannadie : 1;
- smx_mutex_t mutex; /* mutex on which the process is blocked */
- smx_cond_t cond; /* cond on which the process is blocked */
- xbt_dict_t properties;
- void *data; /* kept for compatibility, it should be replaced with moddata */
-
- } s_smx_process_t;
-/** @} */
-
-typedef struct s_smx_process_arg {
- const char *name;
- xbt_main_func_t code;
- void *data;
- char *hostname;
- int argc;
- char **argv;
- double kill_time;
- xbt_dict_t properties;
-} s_smx_process_arg_t, *smx_process_arg_t;
-
-void SIMIX_process_empty_trash(void);
-void __SIMIX_process_schedule(smx_process_t process);
-void __SIMIX_process_yield(void);
-
-/*************************** Mutex and Conditional ****************************/
-
-typedef struct s_smx_mutex {
-
- /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_mutex */
- xbt_swag_t sleeping; /* list of sleeping process */
- int refcount;
- /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_mutex */
-
-} s_smx_mutex_t;
-
-typedef struct s_smx_cond {
-
- /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_cond */
- xbt_swag_t sleeping; /* list of sleeping process */
- smx_mutex_t mutex;
- xbt_fifo_t actions; /* list of actions */
- /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_cond */
-
-} s_smx_cond_t;
-
-/********************************* Action *************************************/