Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
* Cleanup the DTD by renaming:
[simgrid.git] / src / include / simix / datatypes.h
index abaaf31..349698d 100644 (file)
@@ -10,6 +10,7 @@
 #define SIMIX_DATATYPE_H
 #include "xbt/misc.h"
 #include "xbt/swag.h"
+#include "xbt/fifo.h"
 
 SG_BEGIN_DECL()
 
@@ -17,12 +18,12 @@ SG_BEGIN_DECL()
 /** @defgroup m_datatypes_management_details Details on SIMIX datatypes
     @ingroup  m_datatypes_management*/
 
-typedef struct s_simdata_host *simdata_host_t;
+typedef struct s_smx_simdata_host *smx_simdata_host_t;
 /** @brief Host datatype 
     @ingroup m_datatypes_management_details */
 typedef struct s_smx_host {
   char *name;                  /**< @brief host name if any */
-  simdata_host_t simdata;      /**< @brief simulator data */
+  smx_simdata_host_t simdata;  /**< @brief simulator data */
   void *data;                  /**< @brief user data */
 } s_smx_host_t;
 /** @brief Host datatype  
@@ -48,12 +49,14 @@ typedef struct s_smx_cond *smx_cond_t;
 
 
 /********************************** Action *************************************/
-typedef struct s_simdata_action *simdata_action_t;
+typedef struct s_smx_simdata_action *smx_simdata_action_t;
 /** @brief Action datatype 
     @ingroup m_datatypes_management_details */
 typedef struct s_smx_action {
   char *name;                  /**< @brief action name if any */
-  simdata_action_t simdata;    /**< @brief simulator data */
+  smx_simdata_action_t simdata;        /**< @brief simulator data */
+       xbt_fifo_t cond_list;   /*< conditional variables that must be signaled when the action finish. */
+
   void *data;                  /**< @brief user data */
 } s_smx_action_t;
 
@@ -61,16 +64,17 @@ typedef struct s_smx_action *smx_action_t;
 
 
 /* ****************************** Process *********************************** */
-typedef struct s_simdata_process *simdata_process_t;
+typedef struct s_smx_simdata_process *smx_simdata_process_t;
 /** @brief Process datatype 
     @ingroup m_datatypes_management_details @{ */
 typedef struct s_smx_process {
-  char *name;                  /**< @brief process name if any */
-  simdata_process_t simdata;   /**< @brief simulator data */
-  s_xbt_swag_hookup_t process_hookup;
-  s_xbt_swag_hookup_t synchro_hookup;
-  s_xbt_swag_hookup_t host_proc_hookup;
-  void *data;                  /**< @brief user data */
+
+   char *name;                 /**< @brief process name if any */
+   smx_simdata_process_t simdata;      /**< @brief simulator data */
+   s_xbt_swag_hookup_t process_hookup;
+   s_xbt_swag_hookup_t synchro_hookup;
+   s_xbt_swag_hookup_t host_proc_hookup;
+   void *data;                 /**< @brief user data */
 } s_smx_process_t;
 /** @} */
 /** @brief Agent datatype  
@@ -83,14 +87,5 @@ typedef struct s_smx_process {
 typedef struct s_smx_process *smx_process_t;
 /** @} */
 
-/** @brief Agent code
-    @ingroup m_datatypes_management 
-    The code of an agent is a m_process_code_t, i.e. a function with no arguments 
-    returning no value.
-    \see m_process_management
-  @{ */
-typedef int(*smx_process_code_t)(int argc,char *argv[]) ;
-/** @} */
-
 SG_END_DECL()
 #endif