Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Storage parsing skip empty line
[simgrid.git] / src / include / surf / surf.h
index 6100dfa..5a612ac 100644 (file)
@@ -10,6 +10,7 @@
 #include "xbt/swag.h"
 #include "xbt/dynar.h"
 #include "xbt/dict.h"
+#include "xbt/graph.h"
 #include "xbt/misc.h"
 #include "xbt/file_stat.h"
 #include "portable.h"
@@ -332,14 +333,24 @@ typedef struct surf_model {
 surf_model_t surf_model_init(void);
 void surf_model_exit(surf_model_t model);
 
+static inline void *surf_cpu_resource_priv(const void *host) {
+  return xbt_lib_get_level((void *)host, SURF_CPU_LEVEL);
+}
+static inline void *surf_workstation_resource_priv(const void *host){
+  return xbt_lib_get_level((void *)host, SURF_WKS_LEVEL);
+}
+static inline void *surf_storage_resource_priv(const void *host){
+  return xbt_lib_get_level((void *)host, SURF_STORAGE_LEVEL);
+}
+
 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_elm_or_null(host_lib, name);
 }
 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_elm_or_null(host_lib, name);
 }
 static inline void *surf_storage_resource_by_name(const char *name){
-    return xbt_lib_get_or_null(storage_lib, name, SURF_STORAGE_LEVEL);
+  return xbt_lib_get_elm_or_null(storage_lib, name);
 }
 
 typedef struct surf_resource {
@@ -740,5 +751,21 @@ void surf_watched_hosts(void);
  */
 const char *__surf_get_initial_path(void);
 
+/********** Tracing **********/
+/* from surf_instr.c */
+void TRACE_surf_action(surf_action_t surf_action, const char *category);
+void TRACE_surf_alloc(void);
+void TRACE_surf_release(void);
+
+/* instr_routing.c */
+void instr_routing_define_callbacks (void);
+void instr_new_variable_type (const char *new_typename, const char *color);
+void instr_new_user_variable_type  (const char *father_type, const char *new_typename, const char *color);
+void instr_new_user_state_type (const char *father_type, const char *new_typename);
+void instr_new_value_for_user_state_type (const char *typename, const char *value, const char *color);
+int instr_platform_traced (void);
+xbt_graph_t instr_routing_platform_graph (void);
+void instr_routing_platform_graph_export_graphviz (xbt_graph_t g, const char *filename);
+
 SG_END_DECL()
 #endif                          /* _SURF_SURF_H */