-/* Copyright (c) 2004-2014. The SimGrid Team.
+/* Copyright (c) 2004-2015. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#include "xbt/dict.h"
#include "xbt/graph.h"
#include "xbt/misc.h"
-#include "portable.h"
#include "xbt/config.h"
+#include "src/portable.h"
#include "surf/datatypes.h"
#include "xbt/lib.h"
#include "surf/surf_routing.h"
/* Actions and models are highly connected structures... */
/* user-visible parameters */
-extern double sg_tcp_gamma;
-extern double sg_sender_gap;
-extern double sg_latency_factor;
-extern double sg_bandwidth_factor;
-extern double sg_weight_S_parameter;
-extern int sg_network_crosstraffic;
-extern xbt_dynar_t surf_path;
+extern XBT_PRIVATE double sg_tcp_gamma;
+extern XBT_PRIVATE double sg_sender_gap;
+extern XBT_PRIVATE double sg_latency_factor;
+extern XBT_PRIVATE double sg_bandwidth_factor;
+extern XBT_PRIVATE double sg_weight_S_parameter;
+extern XBT_PRIVATE int sg_network_crosstraffic;
+extern XBT_PRIVATE xbt_dynar_t surf_path;
typedef enum {
SURF_NETWORK_ELEMENT_NULL = 0, /* NULL */
return xbt_lib_get_elm_or_null(storage_lib, name);
}
-XBT_PUBLIC(void *) surf_as_cluster_get_backbone(AS_t as);
-XBT_PUBLIC(void) surf_as_cluster_set_backbone(AS_t as, void* backbone);
-
/** @{ @ingroup SURF_c_bindings */
-/** @brief Get the name of a surf model (dont rely on exact value)
- *
- * This is implemented using typeid(), so it may change with the compiler
- */
-XBT_PUBLIC(const char *) surf_model_name(surf_model_t model);
-
/**
* @brief Pop an action from the done actions set
*
/** \ingroup SURF_models
* \brief List of initialized models
*/
-XBT_PUBLIC_DATA(xbt_dynar_t) model_list;
-XBT_PUBLIC_DATA(xbt_dynar_t) model_list_invoke;
+XBT_PUBLIC_DATA(xbt_dynar_t) all_existing_models;
/** \ingroup SURF_simulation
- * \brief List of hosts that have juste restarted and whose autorestart process should be restarted.
+ * \brief List of hosts that have just restarted and whose autorestart process should be restarted.
*/
XBT_PUBLIC_DATA(xbt_dynar_t) host_that_restart;
xbt_graph_t instr_routing_platform_graph (void);
void instr_routing_platform_graph_export_graphviz (xbt_graph_t g, const char *filename);
+/********** Routing **********/
+void routing_AS_begin(sg_platf_AS_cbarg_t AS);
+void routing_AS_end(void);
+RoutingEdge *routing_add_host(As* as, sg_platf_host_cbarg_t host);
+void routing_cluster_add_backbone(void* bb);
+As* routing_get_current();
+
SG_END_DECL()
#endif /* _SURF_SURF_H */