* \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_dict_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_INFO("STORAGE NAME: %s", storage_name);
-// xbt_dict_t content = simcall_storage_get_content(storage);
-// xbt_dynar_push(contents, &content);
-// }
+ xbt_dict_t contents = xbt_dict_new();
+
+ msg_storage_t storage;
+ char* storage_name;
+ char* mount_name;
+ xbt_dict_cursor_t cursor = NULL;
+ xbt_dict_cursor_t cursor2 = NULL;
+ char* file;
+ size_t size;
+
+ xbt_dict_t storage_list = simcall_host_get_storage_list(host);
+
+ xbt_dict_foreach(storage_list,cursor,mount_name,storage_name){
+ storage = (msg_storage_t)xbt_lib_get_elm_or_null(storage_lib,storage_name);
+
+ XBT_INFO("mount name => %s", mount_name);
+ xbt_dict_t content = simcall_storage_get_content(storage);
+ xbt_dict_foreach(content,cursor2,file,size){
+ XBT_INFO("\t\t%s size: %zu bytes", file, size);
+ }
+
+ xbt_dict_set(contents,mount_name,(void *)content,NULL);
+ }
return contents;
}