typedef WorkstationModel *surf_workstation_model_t;
typedef NetworkCm02Model *surf_network_model_t;
-typedef Resource *surf_resource_t;
-typedef ResourceLmm *surf_resource_lmm_t;
+typedef xbt_dictelm_t surf_resource_t;
+typedef Resource *surf_cpp_resource_t;
typedef WorkstationCLM03 *surf_workstation_CLM03_t;
-typedef xbt_dictelm_t surf_workstation_t;
typedef NetworkCm02Link *surf_network_link_t;
typedef Cpu *surf_cpu_t;
extern "C" {
#endif
char *surf_routing_edge_name(sg_routing_edge_t edge);
-
+void *surf_as_cluster_get_backbone(AS_t as);
+void surf_as_cluster_set_backbone(AS_t as, void* backbone);
const char *surf_model_name(surf_model_t model);
xbt_swag_t surf_model_done_action_set(surf_model_t model);
xbt_swag_t surf_model_failed_action_set(surf_model_t model);
double *computation_amount,
double *communication_amount,
double rate);
-surf_action_t surf_workstation_model_communicate(surf_workstation_model_t model, surf_workstation_CLM03_t src, surf_workstation_CLM03_t dst, double size, double rate);
-xbt_dynar_t surf_workstation_model_get_route(surf_workstation_model_t model, surf_workstation_t src, surf_workstation_t dst);
+surf_action_t surf_workstation_model_communicate(surf_workstation_model_t model, surf_resource_t src, surf_resource_t dst, double size, double rate);
+xbt_dynar_t surf_workstation_model_get_route(surf_workstation_model_t model, surf_resource_t src, surf_resource_t dst);
surf_action_t surf_network_model_communicate(surf_network_model_t model, sg_routing_edge_t src, sg_routing_edge_t dst, double size, double rate);
-const char *surf_resource_name(surf_resource_t resource);
-xbt_dict_t surf_resource_get_properties(surf_resource_t resource);
-e_surf_resource_state_t surf_resource_get_state(surf_resource_t resource);
-double surf_workstation_get_speed(surf_workstation_t resource, double load);
-double surf_workstation_get_available_speed(surf_workstation_t resource);
-int surf_workstation_get_core(surf_workstation_t resource);
-surf_action_t surf_workstation_execute(surf_workstation_t resource, double size);
-surf_action_t surf_workstation_sleep(surf_workstation_t resource, double duration);
-surf_action_t surf_workstation_communicate(surf_workstation_t workstation_src, surf_workstation_t workstation_dst, double size, double rate);
-surf_action_t surf_workstation_open(surf_workstation_t workstation, const char* mount, const char* path);
-surf_action_t surf_workstation_close(surf_workstation_t workstation, surf_file_t fd);
-const char *surf_cpu_name(surf_cpu_t resource);
-surf_action_t surf_cpu_execute(surf_cpu_t cpu, double size);
-surf_action_t surf_cpu_sleep(surf_cpu_t cpu, double duration);
-int surf_workstation_unlink(surf_workstation_t workstation, surf_file_t fd);
-surf_action_t surf_workstation_ls(surf_workstation_t workstation, const char* mount, const char *path);
-size_t surf_workstation_get_size(surf_workstation_t workstation, surf_file_t fd);
-surf_action_t surf_workstation_read(surf_workstation_t resource, void *ptr, size_t size, surf_file_t fd);
-surf_action_t surf_workstation_write(surf_workstation_t resource, const void *ptr, size_t size, surf_file_t fd);
+const char *surf_resource_name(surf_cpp_resource_t resource);
+xbt_dict_t surf_resource_get_properties(surf_cpp_resource_t resource);
+e_surf_resource_state_t surf_resource_get_state(surf_cpp_resource_t resource);
+double surf_workstation_get_speed(surf_resource_t resource, double load);
+double surf_workstation_get_available_speed(surf_resource_t resource);
+int surf_workstation_get_core(surf_resource_t resource);
+surf_action_t surf_workstation_execute(surf_resource_t resource, double size);
+surf_action_t surf_workstation_sleep(surf_resource_t resource, double duration);
+surf_action_t surf_workstation_open(surf_resource_t workstation, const char* mount, const char* path);
+surf_action_t surf_workstation_close(surf_resource_t workstation, surf_file_t fd);
+surf_action_t surf_cpu_execute(surf_resource_t cpu, double size);
+surf_action_t surf_cpu_sleep(surf_resource_t cpu, double duration);
+int surf_workstation_unlink(surf_resource_t workstation, surf_file_t fd);
+surf_action_t surf_workstation_ls(surf_resource_t workstation, const char* mount, const char *path);
+size_t surf_workstation_get_size(surf_resource_t workstation, surf_file_t fd);
+surf_action_t surf_workstation_read(surf_resource_t resource, void *ptr, size_t size, surf_file_t fd);
+surf_action_t surf_workstation_write(surf_resource_t resource, const void *ptr, size_t size, surf_file_t fd);
int surf_network_link_is_shared(surf_network_link_t link);
double surf_network_link_get_bandwidth(surf_network_link_t link);
double surf_network_link_get_latency(surf_network_link_t link);