Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Storage API
[simgrid.git] / src / include / surf / surf.h
index 2909fa4..5b63ef5 100644 (file)
@@ -237,6 +237,7 @@ 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 *resource);
 } s_surf_model_extension_storage_t;
 
      /** \ingroup SURF_models
@@ -283,12 +284,14 @@ typedef struct surf_workstation_model_extension_public {
   int(*unlink) (void *workstation, surf_file_t fd);
   surf_action_t(*ls) (void *workstation, const char* mount, const char *path);
   size_t (*get_size) (void *workstation, surf_file_t fd);
+  xbt_dynar_t (*get_info) (void *workstation, surf_file_t fd);
 
   int (*link_shared) (const void *link);
-   xbt_dict_t(*get_properties) (const void *resource);
+  xbt_dict_t(*get_properties) (const void *resource);
   void (*add_traces) (void);
 
-  size_t (*get_free_size) (void *workstation, surf_storage_t storage);
+  size_t (*get_free_size) (void *workstation,const char* name);
+  size_t (*get_used_size) (void *workstation,const char* name);
   xbt_dynar_t (*get_storage_list) (void *workstation);
 
 } s_surf_model_extension_workstation_t;
@@ -582,6 +585,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
  *