X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b7726f2e9e252f8442b008a34bca31716c3b6c6b..8be7ea3f9e71cd563e91b6aba63f5c70f043fbd5:/src/include/surf/surf.h diff --git a/src/include/surf/surf.h b/src/include/surf/surf.h index d1c5a58b88..428a63b03b 100644 --- a/src/include/surf/surf.h +++ b/src/include/surf/surf.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2004-2013. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -237,6 +237,8 @@ typedef struct surf_storage_model_extension_public { surf_action_t(*write) (void *storage, size_t size, surf_file_t fd); surf_action_t(*stat) (void *storage, surf_file_t fd); surf_action_t(*ls) (void *storage, const char *path); + xbt_dict_t(*get_properties) (const void *storage); + xbt_dict_t(*get_content) (void *storage); } s_surf_model_extension_storage_t; /** \ingroup SURF_models @@ -358,8 +360,8 @@ static inline void *surf_cpu_resource_priv(const void *host) { static inline void *surf_workstation_resource_priv(const void *host){ return xbt_lib_get_level((void *)host, SURF_WKS_LEVEL); } -static inline void *surf_storage_resource_priv(const void *host){ - return xbt_lib_get_level((void *)host, SURF_STORAGE_LEVEL); +static inline void *surf_storage_resource_priv(const void *storage){ + return xbt_lib_get_level((void *)storage, SURF_STORAGE_LEVEL); } static inline void *surf_cpu_resource_by_name(const char *name) { @@ -376,6 +378,7 @@ typedef struct surf_resource { surf_model_t model; char *name; xbt_dict_t properties; + void_f_pvoid_t free_f; } s_surf_resource_t, *surf_resource_t; /** @@ -584,6 +587,8 @@ XBT_PUBLIC(void) surf_storage_model_init_default(void); */ XBT_PUBLIC_DATA(s_surf_model_description_t) surf_storage_model_description[]; +XBT_PUBLIC_DATA(surf_model_t) surf_storage_model; + /** \ingroup SURF_models * \brief The workstation model *