xbt_dict_t properties;
} s_sg_platf_link_cbarg_t, *sg_platf_link_cbarg_t;
+typedef struct s_sg_platf_peer_cbarg *sg_platf_peer_cbarg_t;
+typedef struct s_sg_platf_peer_cbarg {
+ const char* id;
+ double power;
+ double bw_in;
+ double bw_out;
+ double lat;
+ const char* coord;
+ tmgr_trace_t availability_trace;
+ tmgr_trace_t state_trace;
+} s_sg_platf_peer_cbarg_t;
+
+typedef struct s_sg_platf_linkctn_cbarg *sg_platf_linkctn_cbarg_t;
+typedef struct s_sg_platf_linkctn_cbarg {
+ const char *id;
+ const char *direction;
+} s_sg_platf_linkctn_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_begin(void); // Start a new platform
+XBT_PUBLIC(void) sg_platf_end(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_AS_begin(const char *id, const char *mode); // Begin description of new AS
+XBT_PUBLIC(void) sg_platf_new_AS_end(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
+XBT_PUBLIC(void) sg_platf_new_peer(sg_platf_peer_cbarg_t peer); // Add a peer to the currently described AS
#endif /* SG_PLATF_H */