+void surf_network_resource_init_CM02(const char *filename);
+
+/* Workstation resource */
+typedef struct surf_workstation_resource_extension_public {
+ surf_action_t(*execute) (void *workstation, double size);
+ surf_action_t(*sleep) (void *workstation, double duration);
+ e_surf_cpu_state_t(*get_state) (void *workstation);
+ double (*get_speed) (void *workstation, double load);
+ double (*get_available_speed) (void *workstation);
+ surf_action_t(*communicate) (void *workstation_src,
+ void *workstation_dst, double size,
+ double max_rate);
+ surf_action_t(*execute_parallel_task) (int workstation_nb,
+ void **workstation_list,
+ double *computation_amount,
+ double *communication_amount,
+ double amount,
+ double rate);
+} s_surf_workstation_resource_extension_public_t,
+ *surf_workstation_resource_extension_public_t;
+
+typedef struct surf_workstation_resource {
+ surf_resource_private_t common_private;
+ surf_resource_public_t common_public;
+ surf_workstation_resource_extension_public_t extension_public;
+} s_surf_workstation_resource_t, *surf_workstation_resource_t;
+
+extern surf_workstation_resource_t surf_workstation_resource;
+void surf_workstation_resource_init_CLM03(const char *filename);
+void surf_workstation_resource_init_KCCFLN05(const char *filename);
+extern xbt_dict_t workstation_set;