X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7a21edf0ad00eee185ec492e9bbf094901fa25fe..a28dedaf2332717573b47c4a44684ed9e61e2acf:/src/msg/msg_host.c diff --git a/src/msg/msg_host.c b/src/msg/msg_host.c index 7b49fe7727..29b59089ac 100644 --- a/src/msg/msg_host.c +++ b/src/msg/msg_host.c @@ -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 @@ -341,10 +341,31 @@ double MSG_get_host_consumed_energy(msg_host_t host) { /** \ingroup m_host_management * \brief Return the list of mounted storages on an host. * \param host a host - * \return a dynar containing all mounted storages on the host + * \return a dynar containing all storages mounted on the host */ xbt_dynar_t MSG_host_get_storage_list(msg_host_t host) { xbt_assert((host != NULL), "Invalid parameters"); return (simcall_host_get_storage_list(host)); } + +/** \ingroup msg_host_management + * \brief Return the content of mounted storages on an host. + * \param host a host + * \return a dynar containing content (as a dict) of all storages mounted on the host + */ +xbt_dynar_t MSG_host_get_storage_content(msg_host_t host) +{ + xbt_assert((host != NULL), "Invalid parameters"); + xbt_dynar_t contents = xbt_dynar_new(sizeof(void *),NULL); + msg_storage_t storage; + char* storage_name; + unsigned int i; + xbt_dynar_t storage_list = simcall_host_get_storage_list(host); + xbt_dynar_foreach(storage_list, i, storage_name){ + storage = xbt_lib_get_elm_or_null(storage_lib,storage_name); + xbt_dict_t content = simcall_storage_get_content(storage); + xbt_dynar_push(contents, &content); + } + return contents; +}