24#ifndef _NETSIM_STACK_H_
25#define _NETSIM_STACK_H_
34#define EXPORTED _declspec(dllexport)
36#define EXPORTED _declspec(dllimport)
38#ifdef _NETSIM_METRIC_CODE_
46#define EXPORTED extern
48#ifdef _NETSIM_METRIC_CODE_
57#define MICROSECOND (1.0)
58#define NANOSECOND (MICROSECOND/1000.0)
59#define MILLISECOND (1000.0*MICROSECOND)
60#define SECOND (1000.0*MILLISECOND)
61#define MINUTE (60.0*SECOND)
62#define HOUR (60.0*MINUTE)
66#define INFINITY (0xFFFFFFFF)
68#ifndef NEGATIVE_INFINITY
69#define NEGATIVE_INFINITY (-1.0*INFINITY)
132"JOIN_MULTICAST_GROUP",
141#define PROTOCOL_METRICS 2
142#define PROTOCOL_MOBILITY 3
143#define PROTOCOL_APPLICATION 4
144#define PROTOCOL_LINK 5
145#define PROTOCOL_HWI 6
146#define PROTOCOL_CLI 7
396#define M_PI 3.14159265358979323846
398#define DegreesToRadians(degree) ((degree) * (M_PI / 180.0))
399#define RadiansToDegrees(radian) ((radian) * (180.0 / M_PI))
440 double altitude,
char* strRefEllipsoid,
603#define JOIN_PROFILE_ALLOC() (PNODE_JOIN_PROFILE)list_alloc(sizeof(NODE_JOIN_PROFILE),offsetof(NODE_JOIN_PROFILE,ele))
604#define JOIN_PROFILE_NEXT(profile) profile=(PNODE_JOIN_PROFILE)LIST_NEXT(profile)
605#define JOIN_PROFILE_ADD(lprofile,profile) LIST_ADD_LAST((void**)lprofile,profile)
769#define DEVICE(DeviceId) NETWORK->ppstruDeviceList[DeviceId-1]
773#define DEVICE_TYPE(DeviceId) DEVICE(DeviceId)->nDeviceType
774#define DEVICE_NAME(DeviceId) DEVICE(DeviceId)->szDeviceName
775#define DEVICE_VAR(DeviceId) DEVICE(DeviceId)->deviceVar
776#define DEVICE_SEED0(DeviceId) &(DEVICE(DeviceId)->ulSeed[0])
777#define DEVICE_SEED1(DeviceId) &(DEVICE(DeviceId)->ulSeed[1])
778#define DEVICE_SEED(DeviceId) DEVICE_SEED0(DeviceId),DEVICE_SEED1(DeviceId)
779#define DEVICE_CONFIGID(DeviceId) DEVICE(DeviceId)->nConfigDeviceId
780#define DEVICE_INTERFACE(DeviceId,InterfaceId) DEVICE(DeviceId)->ppstruInterfaceList[InterfaceId-1]
781#define DEVICE_INTERFACE_CONFIGID(DeviceId,InterfaceId) DEVICE_INTERFACE(DeviceId,InterfaceId)->nConfigInterfaceId
782#define DEVICE_APPLAYER(DeviceId) DEVICE(DeviceId)->pstruApplicationLayer
783#define DEVICE_APPVAR(DeviceId,protocolId) (fn_NetSim_Stack_GetAppProtocolData(DeviceId,protocolId))
784#define DEVICE_TRXLayer(DeviceId) DEVICE(DeviceId)->pstruTransportLayer
785#define DEVICE_NWLAYER(DeviceId) DEVICE(DeviceId)->pstruNetworkLayer
786#define DEVICE_MACLAYER(DeviceId,InterfaceId) DEVICE_INTERFACE(DeviceId,InterfaceId)->pstruMACLayer
787#define DEVICE_MACPROTOCOL(DeviceId,InterfaceId) DEVICE_MACLAYER(DeviceId,InterfaceId)->nMacProtocolId
788#define DEVICE_PHYLAYER(DeviceId,InterfaceId) DEVICE_INTERFACE(DeviceId,InterfaceId)->pstruPhysicalLayer
789#define DEVICE_LINK(DeviceId,InterfaceId) (DEVICE_PHYLAYER(DeviceId,InterfaceId)->pstruNetSimLinks)
790#define DEVICE_POSITION(DeviceId) DEVICE(DeviceId)->pstruDevicePosition
791#define DEVICE_MOBILITY(DeviceId) DEVICE(DeviceId)->pstruDeviceMobility
792#define DEVICE_SOCKETINTERFACE(DeviceId) DEVICE(DeviceId)->pstruSocketInterface
793#define DEVICE_MAC_NW_INTERFACE(DeviceId,InterfaceId) DEVICE_INTERFACE(DeviceId,InterfaceId)->pstruAccessInterface
794#define DEVICE_ACCESSBUFFER(DeviceId,InterfaceId) DEVICE_MAC_NW_INTERFACE(DeviceId,InterfaceId)->pstruAccessBuffer
795#define DEVICE_MYACCESSBUFFER() DEVICE_ACCESSBUFFER(pstruEventDetails->nDeviceId,pstruEventDetails->nInterfaceId)
796#define DEVICE_PHYMEDIUM(DeviceId,InterfaceId) DEVICE_PHYLAYER(DeviceId,InterfaceId)->nPhyMedium
797#define DEVICE_PHYVAR(DeviceId,InterfaceId) DEVICE_PHYLAYER(DeviceId,InterfaceId)->phyVar
798#define DEVICE_MACVAR(DeviceId,InterfaceId) DEVICE_MACLAYER(DeviceId,InterfaceId)->MacVar
799#define DEVICE_HWADDRESS(DeviceId,InterfaceId) DEVICE_MACLAYER(DeviceId,InterfaceId)->szMacAddress
800#define DEVICE_NWROUTINGVAR(DeviceId) DEVICE_NWLAYER(DeviceId)->RoutingVar
801#define IP_WRAPPER_GET(DeviceId) ((ptrIP_WRAPPER)(DEVICE_NWLAYER(DeviceId)->ipWrapper))
802#define IP_TABLE_GET(DeviceId) ((ptrIP_ROUTINGTABLE)(IP_WRAPPER_GET(DeviceId)->table))
803#define PIP_TABLE_GET(DeviceId) (&IP_TABLE_GET(DeviceId))
804#define DEVICE_NWPROTOCOL(DeviceId,InterfaceId) DEVICE_INTERFACE(DeviceId,InterfaceId)->nProtocolId
805#define DEVICE_NWADDRESS(DeviceId,InterfaceId) DEVICE_INTERFACE(DeviceId,InterfaceId)->szAddress
806#define DEVICE_MYIP() DEVICE_NWADDRESS(pstruEventDetails->nDeviceId,pstruEventDetails->nInterfaceId)
807#define DEVICE_SUBNETMASK(DeviceId,InterfaceId) DEVICE_INTERFACE(DeviceId,InterfaceId)->szSubnetMask
808#define DEVICE_MYMASK() DEVICE_SUBNETMASK(pstruEventDetails->nDeviceId,pstruEventDetails->nInterfaceId)
809#define DEVICE_PUBLICIP(DeviceId,InterfaceId) DEVICE_INTERFACE(DeviceId,InterfaceId)->publicIP
810#define DEVICE_FIRST_PUBLICIP(DeviceId) DEVICE_PUBLICIP(DeviceId,1)
811#define DEVICE_TCPVAR(DeviceId) DEVICE_TRXLayer(DeviceId)->TCPProtocol
812#define DEVICE_UDPVAR(DeviceId) DEVICE_TRXLayer(DeviceId)->UDPProtocol
813#define DEVICE_APPINFO(DeviceId) DEVICE_APPLAYER(DeviceId)->pstruApplicationInfo
814#define DEVICE_DISTANCE(d1,d2) (fn_NetSim_Utilities_CalculateDistance(DEVICE_POSITION(d1), DEVICE_POSITION(d2)))
818#define EVENT_TYPE(EventDetails) (EventDetails)->nEventType
819#define EVENT_TIME(EventDetails) (EventDetails)->dEventTime
820#define EVENT_DEVICETYPE(EventDetails) (EventDetails)->nDeviceType
821#define EVENT_DEVICEID(EventDetails) (EventDetails)->nDeviceId
822#define EVENT_INTERFACEID(EventDetails) (EventDetails)->nInterfaceId
823#define EVENT_APPID(EventDetails) (EventDetails)->nApplicationId
824#define EVENT_PACKETSIZE(EventDetails) (EventDetails)->dPacketSize
825#define EVENT_PACKET(EventDetails) (EventDetails)->pPacket
826#define EVENT_PACKETID(EventDetails) (EventDetails)->nPacketId
827#define EVENT_SUBEVENTTYPE(EventDetails) (EventDetails)->nSubEventType
828#define EVENT_OTHERDETAILS(EventDetails) (EventDetails)->szOtherDetails
849#define NETSIM_RAND_MAX (double)10000000000
859#define NETSIM_RAND() fn_NetSim_Utilities_GenerateRandomNo(DEVICE_SEED(1))
860#define NETSIM_RAND_01() (NETSIM_RAND()/NETSIM_RAND_MAX)
861#define NETSIM_RAND_RN(max,min) (min+NETSIM_RAND_01()*(max-min))
933#define fn_NetSim_xmlGetFirstChildElement(xmlNetSimNode,childName) fn_NetSim_xmlGetChildElement(xmlNetSimNode,childName,0)
938 int(*
fun)(
void* childNode,
int argc,
char* argv[]),
998#define fn_NetSim_Metrics_Add(packet) fn_NetSim_Metrics_Add_new(packet,__LINE__,__FILE__,__FUNCTION__)
1001#define DEFAULT_MAC_FRAGMENT_SIZE 1500
1002#define DEFAULT_TRX_MSS 1472
1003#define DEFAULT_NW_LAYER_SIZE 1480
1046#define getXmlVar(var,name,xmlNode,flag,type,protocol) if(!GetXmlVal(var,#name,xmlNode,flag,type)) *(var)= protocol##_##name##_DEFAULT
1060 const char* returnUnit);
1071 double defaultDataRate,
1072 const char* returnUnit);
1083 double defaultDataLen,
1084 const char* returnUnit);
1094 double defaultTxPower,
1095 const char* returnUnit);
1107 const char* returnUnit);
1110#define ConfigReadEnum(xmlNode,attriName,enumName,isErrorMsg) fn_NetSim_Config_ConvertStrToEnum(xmlNode,attriName,(const char**)str ## enumName, #enumName, sizeof(str ## enumName)/sizeof(str ## enumName ## [0]), isErrorMsg)
1128 int(*load_emulation)(
void* emuInterface));
1148 bool isNwChanged,
bool isMacChanged,
bool isPhyChanged);
static char virtualInterfaceName[MAX_AC_CATEGORY][50]
struct stru_ip * NETSIM_IPAddress
#define _declspec(dllexport)
This function is used to trigger the update.
void notify_interface_down(NETSIM_ID d, NETSIM_ID in)
#define PROTOCOL_APPLICATION
NETSIM_ID fn_NetSim_Stack_GetConfigIdOfDeviceById(NETSIM_ID nDeviceId)
NETSIM_IPAddress fn_NetSim_Stack_GetIPAddressByName(const NETSIM_Name szDeviceName, NETSIM_ID nInterfaceId)
@ SUBEVENT_EXECUTECOMMAND
@ SUBEVENT_PAUSESIMULATION
@ SUBEVENT_GETLINKQUALITY
@ SUBEVENT_JOIN_MULTICAST_GROUP
EXPORTED double ldEventTime
struct stru_NetSim_SocketInterface * ptrSOCKETINTERFACE
int fn_NetSim_Stack_CallICMPErrorFun(NetSim_PACKET *packet, NETSIM_ID nDeviceId, unsigned int nICMPErr)
void fn_NetSim_Stack_SetAppProtocolData(NETSIM_ID deviceId, UINT appProtocol, void *data)
EXPORTED fndns_query fnDNS
NETSIM_ID fn_NetSim_Stack_GetDeviceId_asName(const char *name)
int fn_NetSim_Utilities_ConcatString(int num, char *arg1, const char *arg2,...)
NETSIM_ID fn_NetSim_Stack_GetWirelessInterface(NETSIM_ID nLinkId, NETSIM_ID nDevId)
void fn_NetSim_xmlIterateOverChildElement(void *xmlNetSimNode, const char *childName, int(*fun)(void *childNode, int argc, char *argv[]), int argc, char *argv[])
int fnMobilityRegisterCallBackFunction(_fnMobilityCallBack fnCallBack)
int fn_NetSim_xmlConfigureProtocolProperty(void *xmlChildNode, NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, LAYER_TYPE nLayerType, UINT nProtocolId)
NetSim_LINKS * fn_NetSim_Stack_RemoveDeviceFromlink(NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NETSIM_ID nLinkId)
struct stru_macaddress * PNETSIM_MACADDRESS
int fn_NetSim_Config_GetProtocol(const char *value)
NETSIM_ID fn_NetSim_Stack_GetConnectedDevice(NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NETSIM_ID *nConnectedDevId, NETSIM_ID *nConnectedInterfaceId)
static char subeventName[SUBEVNET_LAST][100]
NETSIM_ID fn_NetSim_Stack_GetConfigIdOfLinkById(NETSIM_ID nLinkId)
int(* _fnNodeJoinCallBack)(NETSIM_ID nDeviceId, double time, NODE_ACTION)
NETWORK_LAYER_PROTOCOL fn_NetSim_Stack_GetNWProtocol(NETSIM_ID nDeviceId)
void fn_NetSim_Coordinate_ConvertCartesianToMap(NetSim_COORDINATES *pos)
PHYSICAL_LAYER_MEDIUM fn_NetSim_Cofig_GetConnectionMedium(char *medium)
NETSIM_ID fn_NetSim_GetDeviceIdByConfigId(NETSIM_ID id)
char * fn_NetSim_xmlConfigPacketTraceField(const void *xmlNetSimNode, const char *name)
EXPORTED bool isSimulationContinued
PNETSIM_MACADDRESS STR_TO_MAC(char *mac)
enum enum_QueuingTechnique QUEUINGTECHNIQUE
PNETSIM_MACADDRESS multicastIP_to_Mac(NETSIM_IPAddress multicastIP)
void cancel_timer(UINT64 eventId)
void MAC_FREE(PNETSIM_MACADDRESS mac)
NETSIM_ID * fn_NetSim_Stack_GetInterfaceIdbyMacProtocol(NETSIM_ID devId, MAC_LAYER_PROTOCOL protocol, unsigned int *count)
double fn_NetSim_Stack_GetMSS(const NetSim_PACKET *pPacket)
void * fn_NetSim_Stack_GetAppProtocolData(NETSIM_ID deviceId, UINT appProtocol)
double fn_NetSim_Config_read_Frequency(void *xmlNetSimNode, const char *name, double defaultval, const char *returnUnit)
void fn_NetSim_Socket_PassPacketToInterface(NETSIM_ID deviceId, NetSim_PACKET *packet, ptrSOCKETINTERFACE socketInterface)
void fn_NetSim_Coordinate_ConvertMapToCartesian(double lat, double lon, NetSim_COORDINATES *pos)
enum enum_refEllipsoid GEOCORR_REFERENCEELLIPSOID
EXPORTED EVENT_TYPE nEventType
EXPORTED int wireshark_flag
int(* fun)(NETSIM_ID, NETSIM_ID, bool)
EXPORTED char * pszIOPath
bool isVirtualInterface(NETSIM_ID d, NETSIM_ID in)
NETSIM_ID fn_NetSim_Stack_CreateVirtualInterface(NETSIM_ID deviceId, NETSIM_ID parentInterfaceId, char *virtualInterfaceName, bool isNwChanged, bool isMacChanged, bool isPhyChanged)
EXPORTED PNETSIM_MACADDRESS BROADCAST_MAC
int fn_NetSim_Utils_Distribution(int nDistributionType, double *fDistOut, unsigned long *uSeed, unsigned long *uSeed1, double fFirstArg, double fSecondArg)
struct stru_NodeJoinProfile * PNODE_JOIN_PROFILE
int fn_NetSim_Stack_RegisterICMPCallback(int(*fnCallBack)(NetSim_PACKET *errPacket, NETSIM_ID nDeviceId, unsigned int nICMPErr))
char * fn_NetSim_xmlConfig_GetVal(void *xmlNetSimNode, const char *szName, int flag)
ptrSOCKETINTERFACE fn_NetSim_Socket_CreateNewSocket(NETSIM_ID deviceId, int appProtocol, TRANSPORT_LAYER_PROTOCOL trxProtocol, UINT16 localPort, UINT16 remotePort)
NETSIM_IPAddress fn_NetSim_Stack_GetIPAddressFromMac(const PNETSIM_MACADDRESS szMacAddress)
SHADOW_MODEL fn_NetSim_Config_GetShadowModel(char *model)
NETSIM_ID fn_NetSim_Stack_FindVirtualInterface(NETSIM_ID d, NETSIM_ID parentIf, char *name)
enum enum_NodeAction NODE_ACTION
@ APP_PROTOCOL_ERLANGCALL
DISTRIBUTION fn_NetSim_Config_GetDistribution(const char *szDistribution)
NETSIM_ID fn_NetSim_GetInterfaceIdByConfigId(NETSIM_ID devId, NETSIM_ID id)
NETSIM_IPAddress fn_NetSim_Stack_GetFirstIPAddressAsId(NETSIM_ID nDeviceId, unsigned int type)
UINT64 start_timer(NETSIM_ID d, NETSIM_ID in, UINT eventId, double time, void *data)
NETSIM_ID fn_NetSim_Stack_GetInterfaceIdByName(NETSIM_ID nDeviceId, const char *szInterfaceName)
void fn_NetSim_Coordinate_ConvertGeoToCartesian(double lat, double lon, double altitude, char *strRefEllipsoid, NetSim_COORDINATES *pos)
FADING_MODEL fn_NetSim_Config_GetFadingModel(char *model)
double fn_NetSim_Utilities_GenerateRandomNo(unsigned long *uSeed, unsigned long *uSeed1)
double fn_NetSim_Config_read_txPower(void *xmlNetSimNode, const char *name, double defaultTxPower, const char *returnUnit)
NETSIM_ID fn_NetSim_Stack_GetLinkIdByConfigId(NETSIM_ID nLinkId)
NETSIM_ID fn_NetSim_Stack_GetDeviceId_asMac(PNETSIM_MACADDRESS mac, NETSIM_ID *nInterfaceId)
PNETSIM_MACADDRESS fn_NetSim_Stack_GetMacAddressFromIP(const NETSIM_IPAddress szIPAddress)
MAC_LAYER_PROTOCOL fn_NetSim_Stack_GetMacProtocol(NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
double fn_NetSim_stack_get_link_quality(NETSIM_ID trx, NETSIM_ID tri, NETSIM_ID rx, NETSIM_ID ri)
@ MAC_PROTOCOL_IEEE802_11
@ MAC_PROTOCOL_IEEE802_22
@ MAC_PROTOCOL_TOKEN_RING_BUS
@ MAC_PROTOCOL_IEEE802_15_4
void netsim_set_simstate(SIMSTATE state)
void set_emulation(bool isCustom, int(*load_emulation)(void *emuInterface))
INTERFACE_TYPE fn_NetSim_Config_GetInterfaceType(const char *value)
NetSim_PACKET * fn_NetSim_Socket_GetPacketFromInterface(ptrSOCKETINTERFACE s, int moveFlag)
NETSIM_ID fn_NetSim_Stack_GetInterfaceIdFromIP(NETSIM_ID nDeviceId, NETSIM_IPAddress ip)
int fnNodeJoinRegisterCallBackFunction(_fnNodeJoinCallBack fnCallBack)
int GetXmlVal(void *var, const char *name, void *xmlNode, int flag, XMLDATATYPE type)
struct stru_NetSim_SocketInterface SOCKETINTERFACE
NETSIM_ID fn_NetSim_Stack_GetFirstConnectedDevice(NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NETSIM_ID *nConnectedDevId, NETSIM_ID *nConnectedInterfaceId)
void set_thread_safe_kernel(bool status)
void * fn_NetSim_xmlGetNextChildElement(void *xmlNetSimNode, void *prevChild)
struct stru_ip_wrapper * ptrIP_WRAPPER
int fn_NetSim_Link_RegisterLinkFailureCallback(NETSIM_ID linkId, int(*fnLinkCallBack)(NETSIM_ID, LINK_STATE))
EXPORTED char * pszIOLogPath
EXPORTED struct stru_NetSim_Network * NETWORK
SIMSTATE netsim_get_simstate()
NetSim_LINKS * fn_NetSim_Stack_AddDeviceTolink(NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NETSIM_ID nLinkId)
int fn_NetSim_Config_ConvertStrToEnum(void *xmlNode, const char *attributeName, const char **enumstr, const char *enumName, int length, bool isErrorMsg)
bool isIPForSameDevice(NETSIM_IPAddress ip, NETSIM_ID d)
ptrSOCKETINTERFACE fn_NetSim_Socket_GetSocketInterface(NETSIM_ID deviceId, APPLICATION_LAYER_PROTOCOL appProtocol, TRANSPORT_LAYER_PROTOCOL trxProtocol, UINT16 localPort, UINT16 remotePort)
LINK_TYPE fn_NetSim_Config_GetLinkType(const char *value)
SUPPRESSION_MODEL fn_NetSim_Config_GetSuppressionModel(char *model)
NETSIM_ID fn_NetSim_Stack_GetConnectedInterface_Both(NETSIM_ID d, NETSIM_ID r, NETSIM_ID *din, NETSIM_ID *rin)
void netsim_pause_progress()
EXPORTED char * pszAppPath
void fn_NetSim_Coordinate_ConvertCartesianToGeo(NetSim_COORDINATES *pos, GEOCORR_REFERENCEELLIPSOID refEllipsoid)
int(* _fnMobilityCallBack)(NETSIM_ID nDeviceId)
int MAC_COMPARE(PNETSIM_MACADDRESS mac1, PNETSIM_MACADDRESS mac2)
double fn_NetSim_Config_read_dataRate(void *xmlNetSimNode, const char *name, double defaultDataRate, const char *returnUnit)
NETSIM_IPAddress fn_NetSim_Stack_GetIPAddressAsId(NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
void sim_time_to_string(double time, char *strTime)
bool isBroadcastMAC(PNETSIM_MACADDRESS mac)
SERVICE_TYPE fn_NetSim_Config_GetServiceType(char *type)
PROPAGATION_MODEL fn_NetSim_Config_GetPropagationModel(char *model)
void fn_NetSim_Metrics_Add_new(const NetSim_PACKET *pPacket, int line, char *file, char *function)
bool fn_NetSim_Stack_isProtocolConfigured(NETSIM_ID d, LAYER_TYPE layer, UINT protocol)
double fn_NetSim_Config_read_dataLen(void *xmlNetSimNode, const char *name, double defaultDataLen, const char *returnUnit)
void notify_interface_up(NETSIM_ID d, NETSIM_ID in)
void * fn_NetSim_Stack_RegisterNewApplicationProtocol(NETSIM_ID deviceId, UINT appProtocol)
NETWORK_LAYER_PROTOCOL fn_NetSim_Stack_GetNWRoutingProtocol(NETSIM_ID nDeviceId)
int fnDeleteEvent(unsigned long long int nEventId)
struct stru_NodeJoinProfile NODE_JOIN_PROFILE
PNETSIM_MACADDRESS MAC_COPY(PNETSIM_MACADDRESS mac)
PROP_MEDIUM fn_NetSim_Config_GetPropagationMedium(char *med)
bool fn_NetSim_Socket_GetBufferStatus(ptrSOCKETINTERFACE s)
void netsim_resume_progress()
double fn_NetSim_Config_read_time(void *xmlNetSimNode, const char *name, double defaultTime, const char *returnUnit)
EXPORTED struct stru_NetSim_EventDetails * pstruEventDetails
int NetSimxmlError(const char *msg, char *val, const void *xmlNetSimNode)
char * MAC_TO_STR(PNETSIM_MACADDRESS mac)
struct stru_macaddress NETSIM_MACADDRESS
netsimDEVICE_TYPE fn_NetSim_Config_GetDeviceType(const char *type)
NETSIM_ID * fn_NetSim_Stack_GetInterfaceIdbyInterfaceType(NETSIM_ID devId, INTERFACE_TYPE ifType, unsigned int *count)
struct stru_ip_wrapper IP_WRAPPER
NETSIM_IPAddress(* fndns_query)(NETSIM_ID nDeviceId, NETSIM_ID id)
NETSIM_ID fn_NetSim_Stack_GetApplicationIdByConfigId(NETSIM_ID id)
bool isMulticastMAC(PNETSIM_MACADDRESS mac)
NETSIM_ID fn_NetSim_Stack_GetConnectedInterface(NETSIM_ID devId, NETSIM_ID ifid, NETSIM_ID conId)
void * fn_NetSim_xmlGetChildElement(void *xmlNetSimNode, const char *childName, int count)
NETSIM_IPAddress DNS_QUERY(NETSIM_ID nDeviceId, NETSIM_ID id)
PATHLOSS_MODEL fn_NetSim_Config_GetPathLossModel(char *model)
NETSIM_IPAddress fn_NetSim_Stack_GetFirstIPAddressByName(const NETSIM_Name szDeviceName)
enum xmlDataType XMLDATATYPE
NETSIM_IPAddress get_ip_from_same_subnet(NETSIM_ID d, NETSIM_IPAddress ip)
bool isL3Device(NETSIM_ID d)
enum enum_sim_state SIMSTATE
NETSIM_ID fn_NetSim_Stack_GetDeviceId_asIP(NETSIM_IPAddress ip, NETSIM_ID *nInterfaceId)
void register_interface_state_change(NETSIM_ID d, NETSIM_ID in, fun foo)
@ REFERENCEELLIPSOID_GRS80
@ REFERENCEELLIPSOID_SPHERE
@ REFERENCEELLIPSOID_WGS84
@ REFERENCEELLIPSOID_COUNT
unsigned long long int(* fn_NetSim_Utilities_AddEvent)(struct stru_NetSim_EventDetails *, int, const char *)
enum enum_corrType NETSIM_COORDINATETYPE
bool isRouter(NETSIM_ID d)
enum enum_common_subevent COMMON_SUBEVENT
EXPORTED NETSIM_VERSIONTYPE nVersionType
double fn_NetSim_Utilities_CalculateDistance(NetSim_COORDINATES *coordinate1, NetSim_COORDINATES *coordinates2)
enum enum_SchedulingType SCHEDULING_TYPE
enum enum_LayerType LAYER_TYPE
enum enum_LinkMode LINK_MODE
enum enum_MACProtocol MAC_LAYER_PROTOCOL
enum enum_DeviceType netsimDEVICE_TYPE
enum enum_Distribution DISTRIBUTION
enum enum_ServiceType SERVICE_TYPE
enum enum_SimulationEndType SIMULATION_END_TYPE
enum enum_NWProtocol NETWORK_LAYER_PROTOCOL
enum enum_InterfaceType INTERFACE_TYPE
enum enum_SuppressionModel SUPPRESSION_MODEL
enum enum_PhyMedium PHYSICAL_LAYER_MEDIUM
enum enum_LinkType LINK_TYPE
enum enum_EventType EVENT_TYPE
enum enum_TrxProtocol TRANSPORT_LAYER_PROTOCOL
enum enum_AppProtocol APPLICATION_LAYER_PROTOCOL
enum emum_wireshark_option WIRESHARK_OPTION
struct stru_NetSim_Device_Buffer * pstruAccessBuffer
GEOCORR_REFERENCEELLIPSOID refEllipsoid
NETSIM_COORDINATETYPE corrType
unsigned int nDroppedPacket
SCHEDULING_TYPE nSchedulingType
struct stru_NetSim_Packet * last
unsigned int nQueuedPacket
QUEUINGTECHNIQUE queuingTechnique
struct stru_NetSim_Packet * pstruPacketlist
unsigned int nDequeuedPacket
double dCurrentBufferSize
WIRESHARK_OPTION wireshark_option
PNODE_JOIN_PROFILE node_join_profile
struct stru_NetSim_TransportLayer * pstruTransportLayer
struct stru_NetSim_NetworkLayer * pstruNetworkLayer
NETSIM_ID nConfigDeviceId
struct stru_NetSim_Interface ** ppstruInterfaceList
NETSIM_ID nNumOfInterface
ptrSOCKETINTERFACE pstruSocketInterface
netsimDEVICE_TYPE nDeviceType
struct stru_NetSim_Device * pstruNextDevice
unsigned long ulSeed[SEED_COUNT]
struct stru_NetSim_Device * pstruPrevDevice
struct stru_NetSim_Coordinates * pstruDevicePosition
struct stru_NetSim_Mobility * pstruDeviceMobility
struct stru_NetSim_ApplicationLayer * pstruApplicationLayer
struct stru_NetSim_Packet * pPacket
netsimDEVICE_TYPE nDeviceType
unsigned long long int nPrevEventId
unsigned long long int nEventId
NETWORK_LAYER_PROTOCOL nLocalNetworkProtocol
NETSIM_ID nParentInterfaceId
struct stru_NetSim_PhysicalLayer * pstruPhysicalLayer
NETSIM_IPAddress szSubnetMask
struct stru_NetSim_MacLayer * pstruMACLayer
INTERFACE_TYPE nInterfaceType
struct stru_NetSim_Interface * pstruPrevInterface
NETSIM_IPAddress publicIP
char * virtualInterfaceName
NETWORK_LAYER_PROTOCOL nProtocolId
struct stru_NetSim_Interface * pstruNextInterface
NETSIM_IPAddress szDefaultGateWay
struct stru_NetSim_Access_Interface * pstruAccessInterface
NETSIM_IPAddress szAddress
NETSIM_ID nConfigInterfaceId
unsigned int nLinkUpCount
unsigned int nLinkDownCount
int(* fnLinkFailureModelCallBack)(NETSIM_ID, LINK_STATE)
NETSIM_ID * anDevInterfaceIds
NETSIM_ID nConnectedDeviceCount
NETSIM_ID nConnectedDeviceCount
NETSIM_ID nCenterInterfaceId
NETSIM_ID * anDevInterfaceIds
NETSIM_ID nCenterDeviceId
NETSIM_ID nSecondInterfaceId
NETSIM_ID nFirstInterfaceId
NETSIM_ID nSecondDeviceId
double dPropagationDelayUp
double dPropagationDelayDown
union stru_NetSim_Links::uni_NetSim_Link_DeviceList puniDevList
struct stru_NetSim_Links::stru_linkFailureModel struLinkFailureModel
struct stru_NetSim_Links * pstruPreviousLink
PHYSICAL_LAYER_MEDIUM nLinkMedium
struct stru_NetSim_Links * pstruNextLink
union stru_NetSim_Links::uni_NetSim_MediumProp puniMedProp
MAC_LAYER_PROTOCOL nMacProtocolId
PNETSIM_MACADDRESS szMacAddress
struct stru_NetSim_Links ** ppstruNetSimLinks
struct stru_NetSim_Device ** ppstruDeviceList
struct stru_NetSim_SimulationParameter * pstruSimulationParameter
NETWORK_LAYER_PROTOCOL nRoutingProtocolId
double dLastPacketEndTime
PHYSICAL_LAYER_MEDIUM nPhyMedium
PHYPROP_WIRELESS wireless
struct stru_NetSim_PhysicalLayer::@6::@7 WIRED
union stru_NetSim_PhysicalLayer::@6 phyProp
struct stru_NetSim_Links * pstruNetSimLinks
SIMULATION_END_TYPE nSimulationExitType
TRANSPORT_LAYER_PROTOCOL trxProtocol
struct stru_NetSim_SocketInterface * next
APPLICATION_LAYER_PROTOCOL appProtocol
struct stru_NetSim_Device_Buffer * pstruSocketBuffer
NETSIM_ID applicationInstance
TRANSPORT_LAYER_PROTOCOL nTransportLayerProtocol
void * TransportProtocolVar
unsigned long long int nmacaddress
struct stru_NetSim_Links::uni_NetSim_Link_DeviceList::stru_NetSim_P2P pstruP2P
struct stru_NetSim_Links::uni_NetSim_Link_DeviceList::stru_NetSim_P2MP pstrup2MP
struct stru_NetSim_Links::uni_NetSim_Link_DeviceList::stru_NetSim_MP2MP pstruMP2MP
struct stru_NetSim_Links::uni_NetSim_MediumProp::stru_NetSim_wirelessLink pstruWirelessLink
struct stru_NetSim_Links::uni_NetSim_MediumProp::stru_NetSim_WiredLink pstruWiredLink