Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove surf_file_t and smx_file_t for only m_file_t
[simgrid.git] / src / include / surf / surf.h
index cdae739..0c10a2d 100644 (file)
@@ -176,6 +176,8 @@ typedef struct surf_cpu_model_extension_public {
   void (*add_traces) (void);
 } s_surf_model_extension_cpu_t;
 
+typedef struct s_network_element_info *network_element_t;
+
      /* Network model */
 
      /** \brief Network model extension public
@@ -184,9 +186,9 @@ typedef struct surf_cpu_model_extension_public {
       *  Public functions specific to the network model
       */
 typedef struct surf_network_model_extension_public {
-  surf_action_t(*communicate) (void* src,
-                               void* dst,
-                               double size, double rate);
+  surf_action_t (*communicate) (network_element_t src,
+                                network_element_t dst,
+                                double size, double rate);
   xbt_dynar_t(*get_route) (void *src, void *dst); //FIXME: kill field? That is done by the routing nowadays
   double (*get_link_bandwidth) (const void *link);
   double (*get_link_latency) (const void *link);
@@ -204,12 +206,6 @@ typedef struct surf_network_model_extension_public {
                            xbt_dict_t properties);
 } s_surf_model_extension_network_t;
 
-typedef struct s_surf_file {
-  char *name;                   /**< @brief host name if any */
-  void *data;                   /**< @brief user data */
-} s_surf_file_t;
-typedef struct s_surf_file *surf_file_t;
-
 /* Storage model */
 
 /** \brief Storage model extension public
@@ -220,12 +216,11 @@ typedef struct s_surf_file *surf_file_t;
 
 typedef struct surf_storage_model_extension_public {
   surf_action_t(*open) (void *storage, const char* path, const char* mode);
-  surf_action_t(*close) (void *storage, surf_file_t fp);
-  surf_action_t(*read) (void *storage, void* ptr, size_t size, size_t nmemb, surf_file_t stream);
-  surf_action_t(*write) (void *storage, const void* ptr, size_t size, size_t nmemb, surf_file_t stream);
+  surf_action_t(*close) (void *storage, m_file_t fp);
+  surf_action_t(*read) (void *storage, void* ptr, size_t size, size_t nmemb, m_file_t stream);
+  surf_action_t(*write) (void *storage, const void* ptr, size_t size, size_t nmemb, m_file_t stream);
   surf_action_t(*stat) (void *storage, int fd, void* buf);
-  void* (*create_resource) (const char* id, const char* model,const char* type_id,
-      const char* content, xbt_dict_t storage_properties);
+  void* (*create_resource) (const char* id, const char* model,const char* type_id);
 } s_surf_model_extension_storage_t;
 
      /** \brief Workstation model extension public
@@ -254,9 +249,9 @@ typedef struct surf_workstation_model_extension_public {
   double (*get_link_bandwidth) (const void *link);                                         /**< Return the current bandwidth of a network link */
   double (*get_link_latency) (const void *link);                                           /**< Return the current latency of a network link */
   surf_action_t(*open) (void *workstation, const char* storage, const char* path, const char* mode);
-  surf_action_t(*close) (void *workstation, const char* storage, surf_file_t fp);
-  surf_action_t(*read) (void *workstation, const char* storage, void* ptr, size_t size, size_t nmemb, surf_file_t stream);
-  surf_action_t(*write) (void *workstation, const char* storage, const void* ptr, size_t size, size_t nmemb, surf_file_t stream);
+  surf_action_t(*close) (void *workstation, const char* storage, m_file_t fp);
+  surf_action_t(*read) (void *workstation, const char* storage, void* ptr, size_t size, size_t nmemb, m_file_t stream);
+  surf_action_t(*write) (void *workstation, const char* storage, const void* ptr, size_t size, size_t nmemb, m_file_t stream);
   surf_action_t(*stat) (void *workstation, const char* storage, int fd, void* buf);
   int (*link_shared) (const void *link);
    xbt_dict_t(*get_properties) (const void *resource);
@@ -355,7 +350,7 @@ typedef struct surf_resource {
  */
 typedef struct s_storage_type {
   char *model;
-  char *content;
+  xbt_dict_t content;
   char *type_id;
   xbt_dict_t properties;
 } s_storage_type_t, *storage_type_t;
@@ -365,6 +360,15 @@ typedef struct s_mount {
   char *name;
 } s_mount_t, *mount_t;
 
+typedef struct s_content {
+  char *user_rights;
+  char *user;
+  char *group;
+  char *date;
+  char *time;
+  int size;
+} s_content_t, *content_t;
+
 /**
  * Resource which have a metric handled by a maxmin system
  */