return xbt_lib_get_elm_or_null(host_lib,name);
}
+/* Creates a storage and registers it in SD.
+ */
+SD_storage_t __SD_storage_create(void *surf_storage, void *data)
+{
+
+ SD_storage_priv_t storage;
+ const char *name;
+
+ storage = xbt_new(s_SD_storage_priv_t, 1);
+ storage->data = data; /* user data */
+
+ name = surf_resource_name(surf_storage);
+ xbt_lib_set(storage_lib,name, SD_STORAGE_LEVEL, storage);
+ return xbt_lib_get_elm_or_null(storage_lib, name);
+}
+
+/* Destroys a storage.
+ */
+void __SD_storage_destroy(void *storage)
+{
+ xbt_free(storage);
+}
+
/**
* \brief Returns a workstation given its name
*
*
* \param workstation a workstation
* \param computation_amount the computation amount you want to evaluate (in flops)
- * \return an approximative astimated computation time for the given computation amount on this workstation (in seconds)
+ * \return an approximative estimated computation time for the given computation amount on this workstation (in seconds)
*/
double SD_workstation_get_computation_time(SD_workstation_t workstation,
double computation_amount)
* \param src the first workstation
* \param dst the second workstation
* \param communication_amount the communication amount you want to evaluate (in bytes)
- * \return an approximative astimated computation time for the given communication amount
+ * \return an approximative estimated computation time for the given communication amount
* between the workstations (in seconds)
*/
double SD_route_get_communication_time(SD_workstation_t src,
}
}
+/**
+ * \brief Return the list of mounted storages on a workstation.
+ *
+ * \param workstation a workstation
+ * \return a dynar containing all mounted storages on the workstation
+ */
+xbt_dynar_t SD_workstation_get_storage_list(SD_workstation_t workstation){
+ return surf_workstation_model->extension.workstation.get_storage_list(workstation);
+}
+
/* Returns whether a task can start now on a workstation*/
/*
int __SD_workstation_can_start(SD_workstation_t workstation, SD_task_t task) {