X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ae792975a9bd0da6d48aa054ab800e0fc24fbee2..05ac94f042a0e8534114f7f31a40a36af730a680:/src/surf/storage_private.h diff --git a/src/surf/storage_private.h b/src/surf/storage_private.h index 1162787f3b..f27d6502b9 100644 --- a/src/surf/storage_private.h +++ b/src/surf/storage_private.h @@ -8,14 +8,50 @@ #ifndef STORAGE_PRIVATE_H_ #define STORAGE_PRIVATE_H_ +typedef struct s_storage_type { + char *model; + char *content; + char *type_id; + xbt_dict_t properties; + unsigned long size; +} s_storage_type_t, *storage_type_t; + +typedef struct s_mount { + void *id; + char *name; +} s_mount_t, *mount_t; + +typedef struct surf_stat { /* file status structure */ + s_file_stat_t stat; + /* possible additionnal fields (e.g., popularity, last access time to know whether the file is in cache, ...) */ +} s_surf_stat_t; + +typedef struct surf_file { + char *name; + surf_stat_t content; + const char* storage; +} s_surf_file_t; + typedef struct storage { s_surf_resource_t generic_resource; /*< Structure with generic data. Needed at begin to interate with SURF */ e_surf_resource_state_t state_current; /*< STORAGE current state (ON or OFF) */ + lmm_constraint_t constraint; /* Constraint for maximum bandwidth from connexion */ + lmm_constraint_t constraint_write; /* Constraint for maximum write bandwidth*/ + lmm_constraint_t constraint_read; /* Constraint for maximum write bandwidth*/ + xbt_dict_t content; /* char * -> s_surf_stat_t */ + unsigned long size; + unsigned long used_size; + xbt_dynar_t write_actions; } s_storage_t, *storage_t; +typedef enum { + READ=0, WRITE, STAT, OPEN, CLOSE +} e_surf_action_storage_type_t; + typedef struct surf_action_storage { s_surf_action_lmm_t generic_lmm_action; - int index_heap; + e_surf_action_storage_type_t type; + void *storage; } s_surf_action_storage_t, *surf_action_storage_t; #endif /* STORAGE_PRIVATE_H_ */