Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr/gitroot/simgrid/simgrid
[simgrid.git] / include / surf / surf_routing.h
1 /* Copyright (c) 2004-2014. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #ifndef _SURF_SURF_ROUTING_H
8 #define _SURF_SURF_ROUTING_H
9
10 #include "xbt/lib.h"
11 #include "simgrid/platf.h"
12
13 SG_BEGIN_DECL()
14
15 XBT_PUBLIC_DATA(xbt_lib_t) host_lib;
16 XBT_PUBLIC_DATA(int) SURF_HOST_LEVEL;     //Surf workstation level
17 XBT_PUBLIC_DATA(int) SIMIX_STORAGE_LEVEL; //Simix storage level
18 XBT_PUBLIC_DATA(int) SD_STORAGE_LEVEL;    //Simdag storage level
19 XBT_PUBLIC_DATA(int) COORD_HOST_LEVEL;    //Coordinates level
20 XBT_PUBLIC_DATA(int) NS3_HOST_LEVEL;      //host node for ns3
21
22 XBT_PUBLIC_DATA(xbt_lib_t) as_router_lib;
23 XBT_PUBLIC_DATA(int) ROUTING_ASR_LEVEL;  //Routing level
24 XBT_PUBLIC_DATA(int) COORD_ASR_LEVEL;  //Coordinates level
25 XBT_PUBLIC_DATA(int) NS3_ASR_LEVEL;    //host node for ns3
26 XBT_PUBLIC_DATA(int) ROUTING_PROP_ASR_LEVEL; //Properties for AS and router
27
28 XBT_PUBLIC_DATA(xbt_lib_t) storage_lib;
29 XBT_PUBLIC_DATA(int) ROUTING_STORAGE_LEVEL;        //Routing storage level
30 XBT_PUBLIC_DATA(int) ROUTING_STORAGE_HOST_LEVEL;
31 XBT_PUBLIC_DATA(int) SURF_STORAGE_LEVEL;  // Surf storage level
32 XBT_PUBLIC_DATA(xbt_lib_t) file_lib;
33 XBT_PUBLIC_DATA(xbt_lib_t) storage_type_lib;
34 XBT_PUBLIC_DATA(int) ROUTING_STORAGE_TYPE_LEVEL;   //Routing storage_type level
35
36 /* The callbacks to register for the routing to work */
37 void routing_AS_begin(sg_platf_AS_cbarg_t AS);
38 void routing_AS_end(sg_platf_AS_cbarg_t AS);
39
40 void routing_cluster_add_backbone(void* bb);
41
42 SG_END_DECL()
43
44 #endif                          /* _SURF_SURF_H */