X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1d093eb0c576e2f7a1d6c7a707ee55026aca3915..aeb67d26a90a4fbc05a2ee596c8f627bb7aa615b:/src/include/simix/datatypes.h?ds=sidebyside diff --git a/src/include/simix/datatypes.h b/src/include/simix/datatypes.h index 3d69b6fbfd..dd998ac525 100644 --- a/src/include/simix/datatypes.h +++ b/src/include/simix/datatypes.h @@ -10,21 +10,12 @@ #define SIMIX_DATATYPE_H #include "xbt/misc.h" #include "xbt/swag.h" +#include "xbt/fifo.h" SG_BEGIN_DECL() /* ******************************** Host ************************************ */ -/** @defgroup m_datatypes_management_details Details on SIMIX datatypes - @ingroup m_datatypes_management*/ - -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 */ - smx_simdata_host_t simdata; /**< @brief simulator data */ - void *data; /**< @brief user data */ -} s_smx_host_t; +/** @defgroup m_datatypes_management_details Details on SIMIX datatypes */ /** @brief Host datatype @ingroup m_datatypes_management @@ -37,44 +28,18 @@ typedef struct s_smx_host { \see m_host_management @{ */ -typedef struct s_smx_host *smx_host_t; + typedef struct s_smx_host *smx_host_t; /** @} */ /* ******************************** Syncro ************************************ */ - -typedef struct s_smx_mutex *smx_mutex_t; -typedef struct s_smx_cond *smx_cond_t; - + typedef struct s_smx_mutex *smx_mutex_t; + typedef struct s_smx_cond *smx_cond_t; /********************************** Action *************************************/ -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 */ - 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; - -typedef struct s_smx_action *smx_action_t; - + typedef struct s_smx_action *smx_action_t; /* ****************************** Process *********************************** */ -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 */ - 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 @ingroup m_datatypes_management @@ -82,17 +47,19 @@ typedef struct s_smx_process { data, executing in a location. \see m_process_management @{ */ -typedef struct s_smx_process *smx_process_t; + 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[]) ; -/** @} */ + typedef struct s_smx_context *smx_context_t; + +/******************************* Networking ***********************************/ + typedef struct s_smx_rvpoint *smx_rdv_t; + typedef struct s_smx_comm *smx_comm_t; + typedef enum {comm_send, + comm_recv + } smx_comm_type_t; + + SG_END_DECL() #endif