Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Finalize properties on AS.
[simgrid.git] / src / include / surf / surf.h
index 806d6e9..66345cc 100644 (file)
@@ -79,16 +79,16 @@ typedef struct surf_action {
   double cost;                  /**< cost        */
   double priority;              /**< priority (1.0 by default) */
   double max_duration;          /**< max_duration (may fluctuate until
-                                  the task is completed) */
+           the task is completed) */
   double remains;               /**< How much of that cost remains to
-                                * be done in the currently running task */
+         * be done in the currently running task */
 #ifdef HAVE_LATENCY_BOUND_TRACKING
   int latency_limited;               /**< Set to 1 if is limited by latency, 0 otherwise */
 #endif
 
   double start;                 /**< start time  */
   double finish;                /**< finish time : this is modified during the run
-                                * and fluctuates until the task is completed */
+         * and fluctuates until the task is completed */
   void *data;                   /**< for your convenience */
   int refcount;
   surf_model_t model_type;
@@ -220,10 +220,11 @@ typedef struct surf_network_model_extension_public {
 typedef struct surf_storage_model_extension_public {
   surf_action_t(*open) (void *storage, const char* mount, 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(*read) (void *storage, void* ptr, double 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(*stat) (void *storage, surf_file_t stream);
-  void* (*create_resource) (const char* id, const char* model,const char* type_id);
+  surf_action_t(*unlink) (void *storage, surf_file_t stream);
+  void* (*create_resource) (const char* id, const char* model, const char* type_id, const char *content);
 } s_surf_model_extension_storage_t;
 
      /** \ingroup SURF_models
@@ -233,7 +234,7 @@ typedef struct surf_storage_model_extension_public {
       */
 typedef struct surf_workstation_model_extension_public {
   surf_action_t(*execute) (void *workstation, double size);                                /**< Execute a computation amount on a workstation
-                                                                                       and create the corresponding action */
+                                      and create the corresponding action */
   surf_action_t(*sleep) (void *workstation, double duration);                              /**< Make a workstation sleep during a given duration */
   e_surf_resource_state_t(*get_state) (void *workstation);                                      /**< Return the CPU state of a workstation */
   double (*get_speed) (void *workstation, double load);                                    /**< Return the speed of a workstation */
@@ -256,6 +257,7 @@ typedef struct surf_workstation_model_extension_public {
   surf_action_t(*read) (void *workstation, void* ptr, size_t size, size_t nmemb, surf_file_t stream);
   surf_action_t(*write) (void *workstation, const void* ptr, size_t size, size_t nmemb, surf_file_t stream);
   surf_action_t(*stat) (void *workstation, surf_file_t stream);
+  surf_action_t(*unlink) (void *workstation, surf_file_t stream);
   int (*link_shared) (const void *link);
    xbt_dict_t(*get_properties) (const void *resource);
   void* (*link_create_resource) (const char *name,
@@ -332,10 +334,10 @@ surf_model_t surf_model_init(void);
 void surf_model_exit(surf_model_t model);
 
 static inline void *surf_cpu_resource_by_name(const char *name) {
-       return xbt_lib_get_or_null(host_lib, name, SURF_CPU_LEVEL);
+  return xbt_lib_get_or_null(host_lib, name, SURF_CPU_LEVEL);
 }
 static inline void *surf_workstation_resource_by_name(const char *name){
-       return xbt_lib_get_or_null(host_lib, name, SURF_WKS_LEVEL);
+  return xbt_lib_get_or_null(host_lib, name, SURF_WKS_LEVEL);
 }
 static inline void *surf_storage_resource_by_name(const char *name){
     return xbt_lib_get_or_null(storage_lib, name, SURF_STORAGE_LEVEL);
@@ -567,11 +569,6 @@ XBT_PUBLIC(void) surf_network_model_init_Vegas(void);
 XBT_PUBLIC_DATA(s_surf_model_description_t)
     surf_network_model_description[];
 
-
-
-
-
-
 /** \ingroup SURF_models
  *  \brief The storage model
  */
@@ -583,12 +580,6 @@ XBT_PUBLIC(void) surf_storage_model_init_default(void);
  */
 XBT_PUBLIC_DATA(s_surf_model_description_t) surf_storage_model_description[];
 
-
-
-
-
-
-
 /** \ingroup SURF_models
  *  \brief The workstation model
  *
@@ -729,8 +720,12 @@ XBT_PUBLIC_DATA(xbt_dict_t) trace_connect_list_latency;
 
 XBT_PUBLIC(double) get_cpu_power(const char *power);
 
+XBT_PUBLIC(xbt_dict_t) get_as_router_properties(const char* name);
+
 int surf_get_nthreads(void);
 void surf_set_nthreads(int nthreads);
 
+void surf_watched_hosts(void);
+
 SG_END_DECL()
 #endif                          /* _SURF_SURF_H */