+/**
+ * \brief Returns the user data of a workstation
+ *
+ * \param workstation a workstation
+ * \return the user data associated with this workstation (can be \c NULL)
+ * \see SD_workstation_set_data()
+ */
+void *SD_workstation_get_data(SD_workstation_t workstation)
+{
+ return workstation->data;
+}
+
+/**
+ * \brief Sets the user data of a workstation
+ *
+ * The new data can be \c NULL. The old data should have been freed first
+ * if it was not \c NULL.
+ *
+ * \param workstation a workstation
+ * \param data the new data you want to associate with this workstation
+ * \see SD_workstation_get_data()
+ */
+void SD_workstation_set_data(SD_workstation_t workstation, void *data)
+{
+ workstation->data = data;
+}
+
+/**
+ * \brief Returns the name of a workstation
+ *
+ * \param workstation a workstation
+ * \return the name of this workstation (cannot be \c NULL)
+ */
+const char *SD_workstation_get_name(SD_workstation_t workstation)
+{
+ return surf_resource_name(workstation->surf_workstation);
+}
+
+/**
+ * \brief Returns the value of a given workstation property
+ *
+ * \param ws a workstation
+ * \param name a property name
+ * \return value of a property (or NULL if property not set)
+ */
+const char *SD_workstation_get_property_value(SD_workstation_t ws,
+ const char *name)
+{
+ return xbt_dict_get_or_null(SD_workstation_get_properties(ws), name);
+}
+
+
+/**
+ * \brief Returns a #xbt_dict_t consisting of the list of properties assigned to this workstation
+ *
+ * \param workstation a workstation
+ * \return the dictionary containing the properties associated with the workstation
+ */
+xbt_dict_t SD_workstation_get_properties(SD_workstation_t workstation)
+{
+ return surf_workstation_model->extension.
+ workstation.get_properties(workstation->surf_workstation);
+
+}
+
+/** @brief Displays debugging informations about a workstation */
+void SD_workstation_dump(SD_workstation_t ws)
+{
+ xbt_dict_t props;
+ xbt_dict_cursor_t cursor=NULL;
+ char *key,*data;
+ SD_task_t task = NULL;