-/******************************* Process *************************************/
-
-typedef struct s_smx_simdata_process {
- smx_host_t smx_host; /* the host on which the process is running */
- xbt_context_t context; /* the context that executes the scheduler fonction */
- int blocked;
- int suspended;
- smx_mutex_t mutex; /* mutex on which the process is blocked */
- smx_cond_t cond; /* cond on which the process is blocked */
- int argc; /* arguments number if any */
- char **argv; /* arguments table if any */
- xbt_dict_t properties;
-} s_smx_simdata_process_t;
+/******************************** Process *************************************/
+
+typedef struct s_smx_context *smx_context_t;
+
+/** @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 argc; /* arguments number if any */
+ char **argv; /* arguments table if any */
+ 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 */
+ void_f_pvoid_t cleanup_func;
+ void *cleanup_arg;
+
+ } s_smx_process_t;
+/** @} */