X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5b3677b425b9cc6949c1573d59ac772540cbf4b2..caf6aba21918125649ff5a84fafb22e225b2d580:/src/surf/ns3/ns3_interface.h diff --git a/src/surf/ns3/ns3_interface.h b/src/surf/ns3/ns3_interface.h index db6b1938a3..d5c3a87a8e 100644 --- a/src/surf/ns3/ns3_interface.h +++ b/src/surf/ns3/ns3_interface.h @@ -11,6 +11,10 @@ #include "xbt/dynar.h" #include "xbt/misc.h" #include "xbt/sysdep.h" +#include + +#include +#include typedef enum { NS3_NETWORK_ELEMENT_NULL = 0, /* NULL */ @@ -19,12 +23,15 @@ typedef enum { NS3_NETWORK_ELEMENT_AS, /* AS type */ } e_ns3_network_element_type_t; + typedef struct ns3_nodes{ int node_num; e_ns3_network_element_type_t type; void * data; }s_ns3_nodes_t, *ns3_nodes_t; +XBT_PUBLIC_DATA(int) NS3_EXTENSION_ID; + SG_BEGIN_DECL() XBT_PUBLIC(int) ns3_finalize(void); @@ -40,11 +47,21 @@ XBT_PUBLIC(void *) ns3_add_host(const char * id); XBT_PUBLIC(void *) ns3_add_host_cluster(const char * id); XBT_PUBLIC(void *) ns3_add_router(const char * id); XBT_PUBLIC(void *) ns3_add_AS(const char * id); -XBT_PUBLIC(void *) ns3_add_link(int src, e_ns3_network_element_type_t type_src, +XBT_PUBLIC(void) ns3_add_link(int src, e_ns3_network_element_type_t type_src, int dst, e_ns3_network_element_type_t type_dst, char * bw,char * lat); -XBT_PUBLIC(void *) ns3_end_platform(void); -XBT_PUBLIC(void *) ns3_add_cluster(char * bw,char * lat,const char *id); +XBT_PUBLIC(void) ns3_end_platform(void); +XBT_PUBLIC(void) ns3_add_cluster(char * bw,char * lat,const char *id); + +XBT_INLINE +ns3_nodes_t ns3_find_host(const char* id) +{ + sg_host_t host = sg_host_by_name(id); + if (host == nullptr) + return nullptr; + else + return (ns3_nodes_t) host->extension(NS3_EXTENSION_ID); +} SG_END_DECL()