-*/
-typedef struct s_m_host *m_host_t;
-
-/********************************* Link **************************************/
-struct s_m_link {
- char *name; /* link name if any */
- void *simdata; /* simulator data */
- void *data; /* user data */
-};
-
-/** \brief Link datatype
- \ingroup m_datatypes_management
-
- A <em>link</em> is an agglomeration of communicating resources
- representing a set of physical network links.
-
- \see m_link_management
-*/
-typedef struct s_m_link *m_link_t;
-
-/********************************* Task **************************************/
-
-struct s_m_task {
- char *name; /* host name if any */
- void *simdata; /* simulator data */
- void *data; /* user data */
-};
-/** \brief Task datatype
- \ingroup m_datatypes_management
+ @{ */
+typedef struct m_host *m_host_t;
+/** @} */
+/* ******************************** Task ************************************ */
+
+typedef struct simdata_task *simdata_task_t;
+/** @brief Task datatype
+ @ingroup m_datatypes_management_details */
+typedef struct m_task {
+ char *name; /**< @brief task name if any */
+ simdata_task_t simdata; /**< @brief simulator data */
+ void *data; /**< @brief user data */
+#ifdef HAVE_TRACING
+ long long int counter; /* task unique identifier for instrumentation */
+ char *category; /* task category for instrumentation */
+#endif
+} s_m_task_t;
+/** @brief Task datatype
+ @ingroup m_datatypes_management