28#define LIGHT_SPEED 299792458.0
36#define calculate_tx_time(size,rate) ((size * 8.0) / rate)
114 if (pdbm < dphy->dReceiverSensitivity)
117 return time + txtime;
double calculate_BER(PHY_MODULATION modulation, double dReceivedPower_dBm, double dInterferencePower_dBm, double dBandwidth_MHz)
#define isP2PWireless(d, i)
PROPAGATION_HANDLE propagationHandle
#define P2P_PHY(devid, ifid)
static double wireless_MP2MP_broadcast(NetSim_PACKET *packet, NETSIM_ID d, NETSIM_ID in)
double get_propagation_delay(NETSIM_ID i, NETSIM_ID j)
static void P2P_Calculate_Error()
#define calculate_tx_time(size, rate)
static double wireless_transmit(NetSim_PACKET *packet, NETSIM_ID d, NETSIM_ID in, NETSIM_ID c, NETSIM_ID ci)
static void add_phy_in(NetSim_PACKET *packet, NETSIM_ID d, NETSIM_ID in, NETSIM_ID c, NETSIM_ID ci)
static double transmit_over_wireless(NetSim_PACKET *packet, NETSIM_ID d, NETSIM_ID in)
PACKET_STATUS P2P_Wired_CalculateError(NETSIM_ID d, NETSIM_ID in, NetSim_PACKET *packet)
static double wireless_P2MP_unicast(NetSim_PACKET *packet, NETSIM_ID d, NETSIM_ID in)
static double wireless_MP2MP_unicast(NetSim_PACKET *packet, NETSIM_ID d, NETSIM_ID in)
static double fnTransmitPacket(NetSim_PACKET *pPacket, NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
PACKET_STATUS P2P_Wireless_CalculateError(NETSIM_ID d, NETSIM_ID in, NetSim_PACKET *packet)
static double wireless_P2MP_broadcast(NetSim_PACKET *packet, NETSIM_ID d, NETSIM_ID in)
static double transmit_over_wired(NetSim_PACKET *packet, NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
int fnValidatePacket(const NetSim_PACKET *pstruPacket)
NetSim_PACKET * fn_NetSim_Packet_GetPacketFromBuffer(NetSim_BUFFER *pstruBuffer, int nFlag)
PACKET_STATUS fn_NetSim_Packet_DecideError(double dBER, long double dPacketSize)
#define propagation_get_received_power_dbm(h, t, ti, r, ri, time)
EXPORTED double ldEventTime
NETSIM_ID fn_NetSim_Stack_GetConnectedDevice(NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NETSIM_ID *nConnectedDevId, NETSIM_ID *nConnectedInterfaceId)
#define DEVICE_MACLAYER(DeviceId, InterfaceId)
#define DEVICE_TYPE(DeviceId)
MAC_LAYER_PROTOCOL fn_NetSim_Stack_GetMacProtocol(NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
#define DEVICE_ACCESSBUFFER(DeviceId, InterfaceId)
EXPORTED struct stru_NetSim_EventDetails * pstruEventDetails
NETSIM_ID fn_NetSim_Stack_GetConnectedInterface(NETSIM_ID devId, NETSIM_ID ifid, NETSIM_ID conId)
#define DEVICE_PHYLAYER(DeviceId, InterfaceId)
#define DEVICE_POSITION(DeviceId)
#define fn_NetSim_Metrics_Add(packet)
double fn_NetSim_Utilities_CalculateDistance(NetSim_COORDINATES *coordinate1, NetSim_COORDINATES *coordinates2)
#define fn_NetSim_Packet_CopyPacket(pstruPacket)
#define fn_NetSim_Packet_FreePacket(pstruPacket)
enum enum_PacketStatus PACKET_STATUS
#define fn_NetSim_WritePacketTrace(pstruPacket)
#define fnpAddEvent(pstruEvent)
struct stru_NetSim_Packet * pPacket
netsimDEVICE_TYPE nDeviceType
NETSIM_ID * anDevInterfaceIds
NETSIM_ID nConnectedDeviceCount
NETSIM_ID nConnectedDeviceCount
NETSIM_ID nCenterInterfaceId
NETSIM_ID * anDevInterfaceIds
NETSIM_ID nCenterDeviceId
double dPropagationDelayUp
union stru_NetSim_Links::uni_NetSim_Link_DeviceList puniDevList
struct stru_NetSim_Links::stru_linkFailureModel struLinkFailureModel
PHYSICAL_LAYER_MEDIUM nLinkMedium
union stru_NetSim_Links::uni_NetSim_MediumProp puniMedProp
struct stru_NetSim_Packet_AppLayer * pstruAppData
PACKET_STATUS nPacketStatus
struct stru_NetSim_Packet_PhyLayer * pstruPhyData
struct stru_NetSim_Packet_MACLayer * pstruMacData
double dLastPacketEndTime
struct stru_NetSim_Links * pstruNetSimLinks
PHY_MODULATION modulation
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_WiredLink pstruWiredLink