31#pragma region FUNCTION_PROTOTYPE
34#pragma region SATELLITE_PHY_INIT
75#pragma region HELPER_FUNCTION
76#define SPEED_OF_LIGHT 299792458.0
95 memset(&pevent, 0,
sizeof pevent);
122 memset(&pevent, 0,
sizeof pevent);
141#pragma region UTPHY_PACKET_PROCESSING
180#pragma region GWPHY_PACKET_PROCESSING
219#pragma region SATELLITE_PACKET_PROCESSING
261 fnNetSimError(
"Receiver Id is 0 for packet %d in device %d:%d\n"
262 "Make sure static route has been configured correctly\n",
275 memset(&pevent, 0,
sizeof pevent);
310#pragma region PACKET_PROCESSING
328 fnNetSimError(
"Unknown device type %s for device %d:%d is passed to function %s",
351 fnNetSimError(
"Unknwon device type %s for %d:%d in function %s\n",
#define fnNetSimError(x,...)
enum enum_SATELLITE_DEVICE_TYPE SATELLITE_DEVICETYPE
#define SATELLITE_PHY_SET(d, i, data)
#define SATELLITE_GWPHY_SET(d, i, data)
static const char * strSATELLITE_DEVICETYPE[]
@ SATELLITE_DEVICETYPE_SATELLITE_GATEWAY
@ SATELLITE_DEVICETYPE_USER_TERMINAL
@ SATELLITE_DEVICETYPE_SATELLITE
SATELLITE_DEVICETYPE SATELLITE_DEVICETYPE_GET(NETSIM_ID d, NETSIM_ID in)
#define SATELLITE_UTPHY_SET(d, i, data)
ptrSATELLITE_HDR SATELLITE_HDR_GET(NetSim_PACKET *packet)
static void send_to_mac(NETSIM_ID d, NETSIM_ID in, NetSim_PACKET *packet, double time)
static void satellite_handle_PhyOut()
static double calculate_propagation_delay(NETSIM_ID d, NETSIM_ID r)
static void satellite_gw_handle_phyIn()
static void satellite_ut_handle_phyIn()
void satellite_handle_phy_in()
void satellite_ut_phy_init(NETSIM_ID d, NETSIM_ID in)
static void satellite_utphy_handle_phy_out()
static void forward_to_phyout()
static void satellite_handle_PhyIn()
ptrSATELLITE_PHY satellite_phy_alloc(NETSIM_ID d, NETSIM_ID in)
ptrSATELLITE_UT_PHY satellite_ut_phy_alloc(NETSIM_ID d, NETSIM_ID in)
static void write_trace(NetSim_PACKET *packet)
void satellite_gw_phy_init(NETSIM_ID d, NETSIM_ID in)
static void satellite_gwphy_handle_phy_out()
static void satellite_forward_packet(NETSIM_ID d, NETSIM_ID in, NetSim_PACKET *packet, double time, NETSIM_ID r, NETSIM_ID rin)
void satellite_handle_phy_out()
ptrSATELLITE_GW_PHY satellite_gw_phy_alloc(NETSIM_ID d, NETSIM_ID in)
static void satellite_send_packet(NetSim_PACKET *packet, NETSIM_ID d, NETSIM_ID in, NETSIM_ID r, NETSIM_ID rin)
void satellite_check_for_packet_error(NETSIM_ID t, NETSIM_ID ti, NETSIM_ID r, NETSIM_ID ri, NetSim_PACKET *packet)
void satellite_propagation_ut_calculate_rxpower(NETSIM_ID d, NETSIM_ID in, double time)
void satellite_propagation_gw_calculate_rxpower(NETSIM_ID d, NETSIM_ID in, double time)
void satellite_propgation_gw_init(NETSIM_ID d, NETSIM_ID in)
void satellite_propgation_ut_init(NETSIM_ID d, NETSIM_ID in)
#define DEVICE_TYPE(DeviceId)
#define DEVICE_DISTANCE(d1, d2)
EXPORTED struct stru_NetSim_EventDetails * pstruEventDetails
NETSIM_ID fn_NetSim_Stack_GetConnectedInterface(NETSIM_ID devId, NETSIM_ID ifid, NETSIM_ID conId)
#define fn_NetSim_Metrics_Add(packet)
#define fn_NetSim_Packet_FreePacket(pstruPacket)
#define fn_NetSim_WritePacketTrace(pstruPacket)
#define fnpAddEvent(pstruEvent)
struct stru_NetSim_Packet * pPacket
netsimDEVICE_TYPE nDeviceType
void * Packet_MACProtocol
struct stru_NetSim_Packet_AppLayer * pstruAppData
PACKET_STATUS nPacketStatus
struct stru_NetSim_Packet_PhyLayer * pstruPhyData
struct stru_NetSim_Packet_MACLayer * pstruMacData