X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e92284beb25991e23cf18c5db06e33d647d77fd7..de867c79dcf6cf4248bb6c8e2d7c749f6d0e7696:/src/simdag/sd_workstation.c diff --git a/src/simdag/sd_workstation.c b/src/simdag/sd_workstation.c index aa4ee57cc9..574c99c586 100644 --- a/src/simdag/sd_workstation.c +++ b/src/simdag/sd_workstation.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2006-2011. The SimGrid Team. +/* Copyright (c) 2006-2013. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -37,6 +37,32 @@ SD_workstation_t __SD_workstation_create(void *surf_workstation, 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) +{ + SD_storage_priv_t s; + + s = (SD_storage_priv_t) storage; + xbt_free(s); +} + /** * \brief Returns a workstation given its name * @@ -456,7 +482,7 @@ void SD_workstation_set_access_mode(SD_workstation_t 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){ +xbt_dict_t SD_workstation_get_storage_list(SD_workstation_t workstation){ return surf_workstation_model->extension.workstation.get_storage_list(workstation); }