1 /* Copyright (c) 2004-2014. The SimGrid Team.
2 * All rights reserved. */
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. */
7 #ifndef _SURF_SURF_ROUTING_H
8 #define _SURF_SURF_ROUTING_H
11 #include "simgrid/platf.h"
15 XBT_PUBLIC(xbt_lib_t) host_lib;
16 XBT_PUBLIC(int) ROUTING_HOST_LEVEL; //Routing level
17 XBT_PUBLIC(int) SURF_CPU_LEVEL; //Surf cpu level
18 XBT_PUBLIC(int) SURF_WKS_LEVEL; //Surf workstation level
19 XBT_PUBLIC(int) SIMIX_HOST_LEVEL; //Simix host level
20 XBT_PUBLIC(int) SIMIX_STORAGE_LEVEL; //Simix storage level
21 XBT_PUBLIC(int) MSG_HOST_LEVEL; //Msg level
22 XBT_PUBLIC(int) SD_HOST_LEVEL; //Simdag host level
23 XBT_PUBLIC(int) SD_STORAGE_LEVEL; //Simdag storage level
24 XBT_PUBLIC(int) COORD_HOST_LEVEL; //Coordinates level
25 XBT_PUBLIC(int) NS3_HOST_LEVEL; //host node for ns3
27 XBT_PUBLIC(xbt_lib_t) link_lib;
28 XBT_PUBLIC(int) SD_LINK_LEVEL; //Simdag level
29 XBT_PUBLIC(int) SURF_LINK_LEVEL; //Surf level
30 XBT_PUBLIC(int) NS3_LINK_LEVEL; //link for ns3
32 XBT_PUBLIC(xbt_lib_t) as_router_lib;
33 XBT_PUBLIC(int) ROUTING_ASR_LEVEL; //Routing level
34 XBT_PUBLIC(int) COORD_ASR_LEVEL; //Coordinates level
35 XBT_PUBLIC(int) NS3_ASR_LEVEL; //host node for ns3
36 XBT_PUBLIC(int) ROUTING_PROP_ASR_LEVEL; //Properties for AS and router
38 XBT_PUBLIC(xbt_lib_t) storage_lib;
39 XBT_PUBLIC(int) ROUTING_STORAGE_LEVEL; //Routing storage level
40 XBT_PUBLIC(int) ROUTING_STORAGE_HOST_LEVEL;
41 XBT_PUBLIC(int) SURF_STORAGE_LEVEL; // Surf storage level
42 XBT_PUBLIC(xbt_lib_t) file_lib;
43 XBT_PUBLIC(xbt_lib_t) storage_type_lib;
44 XBT_PUBLIC(int) ROUTING_STORAGE_TYPE_LEVEL; //Routing storage_type level
46 /* The callbacks to register for the routing to work */
47 void routing_AS_begin(sg_platf_AS_cbarg_t AS);
48 void routing_AS_end(sg_platf_AS_cbarg_t AS);
50 void routing_cluster_add_backbone(void* bb);
54 #endif /* _SURF_SURF_H */