X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a279c221114b93985c6aa249e71cc4141082b310..caf6aba21918125649ff5a84fafb22e225b2d580:/src/surf/ns3/ns3_interface.h diff --git a/src/surf/ns3/ns3_interface.h b/src/surf/ns3/ns3_interface.h index 8aaf466df4..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); @@ -46,6 +53,16 @@ XBT_PUBLIC(void) ns3_add_link(int src, e_ns3_network_element_type_t type_src, 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() #endif