X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fc1551b7a3cbbcdb9fb48500f70683318c87c47b..04c10dad7fa6089786021b0f8b4413f86bafd6fd:/include/simgrid/platf.h diff --git a/include/simgrid/platf.h b/include/simgrid/platf.h index 89df78dc4a..3837ac9ad9 100644 --- a/include/simgrid/platf.h +++ b/include/simgrid/platf.h @@ -30,21 +30,46 @@ typedef enum { * used, instead of malloced structures. */ -typedef struct s_surf_parsing_host_arg { - char* V_host_id; //id - double V_host_power_peak; //power - int V_host_core; //core - double V_host_power_scale; //availability - tmgr_trace_t V_host_power_trace; //availability file - e_surf_resource_state_t V_host_state_initial; //state - tmgr_trace_t V_host_state_trace; //state file - const char* V_host_coord; -} s_surf_parsing_host_arg_t, *surf_parsing_host_arg_t; - - -XBT_PUBLIC(void) sg_platf_new_AS_open(const char *id, const char *mode); -XBT_PUBLIC(void) sg_platf_new_AS_close(void); - -XBT_PUBLIC(void) sg_platf_new_host(surf_parsing_host_arg_t h); +typedef struct { + const char* id; + double power_peak; + int core_amount; + double power_scale; + tmgr_trace_t power_trace; + e_surf_resource_state_t initial_state; + tmgr_trace_t state_trace; + const char* coord; + xbt_dict_t properties; +} s_sg_platf_host_cbarg_t, *sg_platf_host_cbarg_t; + +typedef struct { + const char* id; + const char* coord; +} s_sg_platf_router_cbarg_t, *sg_platf_router_cbarg_t; + +typedef struct { + const char* V_link_id; + double V_link_bandwidth; + tmgr_trace_t V_link_bandwidth_file; + double V_link_latency; + tmgr_trace_t V_link_latency_file; + e_surf_resource_state_t V_link_state; + tmgr_trace_t V_link_state_file; + int V_link_sharing_policy; + int V_policy_initial_link; + xbt_dict_t properties; +} s_sg_platf_link_cbarg_t, *sg_platf_link_cbarg_t; + + +XBT_PUBLIC(void) sg_platf_open(void); // Start a new platform +XBT_PUBLIC(void) sg_platf_close(void); // Finish the creation of the platform + +XBT_PUBLIC(void) sg_platf_new_AS_open(const char *id, const char *mode); // Begin description of new AS +XBT_PUBLIC(void) sg_platf_new_AS_close(void); // That AS is fully described + +XBT_PUBLIC(void) sg_platf_new_host (sg_platf_host_cbarg_t host); // Add an host to the currently described AS +XBT_PUBLIC(void) sg_platf_new_router(sg_platf_router_cbarg_t router); // Add a router to the currently described AS +XBT_PUBLIC(void) sg_platf_new_link (sg_platf_link_cbarg_t link); // Add a link to the currently described AS + #endif /* SG_PLATF_H */