+/** \ingroup m_task_management
+ * \brief Sets the user data of a #m_task_t.
+ *
+ * This function allows to associate a new pointer to
+ the user data associated of \a task.
+ */
+void MSG_task_set_data(m_task_t task, void *data)
+{
+ xbt_assert((task != NULL), "Invalid parameter");
+
+ task->data = data;
+}
+
+/** \ingroup m_task_management
+ * \brief Return the sender of a #m_task_t.
+ *
+ * This functions returns the #m_process_t which sent this task
+ */
+m_process_t MSG_task_get_sender(m_task_t task)
+{
+ xbt_assert(task, "Invalid parameters");
+ return ((simdata_task_t) task->simdata)->sender;
+}
+
+/** \ingroup m_task_management
+ * \brief Return the source of a #m_task_t.
+ *
+ * This functions returns the #m_host_t from which this task was sent
+ */
+m_host_t MSG_task_get_source(m_task_t task)
+{
+ xbt_assert(task, "Invalid parameters");
+ return ((simdata_task_t) task->simdata)->source;
+}
+
+/** \ingroup m_task_management
+ * \brief Return the name of a #m_task_t.
+ *
+ * This functions returns the name of a #m_task_t as specified on creation
+ */
+const char *MSG_task_get_name(m_task_t task)
+{
+ xbt_assert(task, "Invalid parameters");
+ return task->name;
+}
+
+/** \ingroup m_task_management
+ * \brief Return the name of a #m_task_t.
+ *
+ * This functions allows to associate a name to a task
+ */
+void MSG_task_set_name(m_task_t task, const char *name)
+{
+ xbt_assert(task, "Invalid parameters");
+ task->name = xbt_strdup(name);
+}
+