25#pragma region HEADER_FILES
32#pragma region VARIABLE_AND_FUN_DEF
43#pragma region LTENR_INIT
58#pragma region LTENR_RUN
118 if (dest == d)
break;
352#pragma region LTENR_TRACE
359#pragma region FREE_PACKET
367#pragma region COPY_PACKET
388#pragma region LTENR_MATRICS
402#pragma region LTENR_CONFIG
410#pragma region CONFIG_PACKET_TRACE
421 return "LTENR_PACKET_INFO,";
431#pragma region LTENR_FINISH
444#pragma region WRITE_PACKET_TRACE
451 char* s =
calloc(2*BUFSIZ,
sizeof * s);
473#pragma region LOG_TRIGGER_FUN
484#pragma region SET_FAST_PERFORMANCE
503 for (i = 0; i < length; i++)
509 fnNetSimError(
"Unknown value %s for %s. The value must be in following.\n",
511 for (i = 0; i < length; i++)
512 fprintf(stderr,
"\t%d. %s\n", i + 1, enumstr[i]);
513 fprintf(stderr,
"\n");
NETSIM_IPAddress IP_COPY(NETSIM_IPAddress ip)
#define STR_TO_IP4(ipstr)
int fn_NetSim_LTE_NR_Finish_F()
bool get_ltenr_log_status()
static bool isLTENRConfigured
int fn_NetSim_LTE_NR_Run()
int fn_NetSim_LTE_NR_Init()
static bool isMetricsCalled
char * fn_NetSim_LTE_NR_Trace(NETSIM_ID id)
int fn_NetSim_LTE_NR_Configure_F(void **var)
void set_fast_performance()
int fn_NetSim_LTE_NR_Configure(void **var)
char * fn_NetSim_LTE_NR_ConfigPacketTrace(void *xmlNetSimNode)
int fn_NetSim_LTE_NR_WritePacketTrace(NetSim_PACKET *pstruPacket, char **ppszTrace)
static bool isLTENRTraceConfigured
int LTENR_ConvertStrToEnumWithErrorMsg(const char **enumstr, const char *str, int length, char *name)
int fn_NetSim_LTE_NR_Metrics(PMETRICSWRITER file)
int fn_NetSim_LTE_NR_CopyPacket(NetSim_PACKET *destPacket, const NetSim_PACKET *srcPacket)
int fn_NetSim_LTE_NR_Init_F()
int fn_NetSim_LTE_NR_Finish()
int fn_NetSim_LTE_NR_FreePacket(NetSim_PACKET *packet)
void LTENR_RadioMeasurements_Finish()
void fn_NetSim_LTENR_EPC_RouteHOPacket()
void fn_NetSim_LTENR_NSA_RECV()
void fn_NetSim_LTENR_Handover_RECV()
NETSIM_ID fn_NetSim_LTENR_CORE_INTERFACE(NETSIM_ID d, LTENR_INTERFACE_TYPE type)
bool fn_NetSim_LTENR_NSA_IS_CORE_SPLIT_EXISTS(NETSIM_ID d, NETSIM_ID in)
void LTENR_fn_InterferenceInit()
void close_ltenr_PRB_log()
NETSIM_ID fn_NetSim_LTENR_NSA_Splitting_Alogrithm_For_EPC(NETSIM_ID dest)
void fn_NetSim_LTENR_HARQ_Init()
void fn_NetSim_LTENR_HARQ_Finish()
void gNB_N3_Forward_packet_to_RAN(NETSIM_ID d, NETSIM_ID in, NETSIM_ID rin, NetSim_PACKET *packet)
#define LTENR_CallEPCOut()
#define isLTENRControlPacket(packet)
void LTENR_NSA_XN_INTERFACE_TO_RAN(NETSIM_ID d, NETSIM_ID in, NetSim_PACKET *packet)
void fn_NetSim_LTENR_AMF_PACKET_HANDLER()
void LTENR_MSG_WriteTrace_APP(NetSim_PACKET *packet, char *s)
void fn_NetSim_LTENR_SMF_UPF_PACKET_HANDLER()
NETSIM_ID fn_NetSim_Get_LTENR_INTERFACE_ID_FROM_DEVICE_ID(NETSIM_ID r)
#define LTENR_CallSDAPOut()
void gNB_N3_Forward_packet_to_MAC(NETSIM_ID d, NETSIM_ID rin, NetSim_PACKET *packet)
#define LTENR_SDAP_GET(d, i)
#define LTENR_CallMACIn()
void fn_NetSim_SN_HANDOVER_PACKET_HANDLER()
void LTENR_RadioMeasurements_Init()
bool isLTE_NRInterface(NETSIM_ID d, NETSIM_ID i)
void fn_NetSim_LTE_MAC_PRBLOG()
ptrLTENR_PROTODATA LTENR_PROTODATA_GET(NETSIM_ID d, NETSIM_ID in)
int fn_NetSim_LTENR_Cell_Metrics_F(PMETRICSWRITER metricsWriter)
#define LTENR_CallNASIn()
NETSIM_ID fn_NetSim_FIND_LTE_INTERFACE(NETSIM_ID r)
bool fn_NetSim_isDeviceLTENR(NETSIM_ID r, NETSIM_ID rin)
void LTENR_FreeBLERTable()
void fn_NetSim_LTENR_GNB_CORE_PACKET_HANDLER()
void LTENR_MSG_WriteTrace(NetSim_PACKET *packet, char *s)
void fn_NetSim_LTENR_LTE_S1_CONTROL_PACKET_TO_RAN(NETSIM_ID d, NETSIM_ID RANIF, NetSim_PACKET *packet)
bool LTENR_GET_PACKET_FROM_ACCESS_BUFFER()
void fn_NetSim_LTENR_HandlePhyOut()
NETSIM_ID fn_NetSim_FIND_LTENR_INTERFACE(NETSIM_ID r)
bool fn_NetSim_LTENR_IS_S1_INTERFACE_EXISTS(NETSIM_ID d)
@ LTENR_MSG_CORE_INITIAL_CONTEXT_SETUP_REQUEST
@ LTENR_MSG_CORE_PFCP_SESSION_RESPONSE
@ LTENR_MSG_NAS_HANDOVER_REQUEST_ACK
@ LTENR_MSG_CORE_MODIFY_BEARER_RESPONSE
@ LTENR_MSG_DC_SEC_CELL_ADDITION_REQUEST
@ LTENR_MSG_CORE_INITIAL_CONTEXT_SETUP_RESPONSE
@ LTENR_MSG_DC_HO_SEC_CELL_RELEASE_REQUEST
@ LTENR_MSG_DC_HO_SEC_CELL_ADDITION_REQUEST_ACK
@ LTENR_MSG_CORE_PFCP_SESSION_REQUSET
@ LTENR_MSG_NAS_HANDOVER_UE_CONTEXT_RELEASE_ACK
@ LTENR_MSG_DC_HO_SEC_CELL_RELEASE_REQUEST_ACK
@ LTENR_MSG_DC_HO_SEC_CELL_UE_CONTEXT_RELEASE
@ LTENR_MSG_NAS_HANDOVER_UE_CONTEXT_RELEASE
@ LTENR_MSG_NAS_HANDOVER_PATH_SWITCH_ACK
@ LTENR_MSG_CORE_CREATE_SESSION_REQUEST
@ LTENR_MSG_DC_HO_SEC_CELL_ADDITION_REQUEST
@ LTENR_MSG_CORE_MODIFY_BEARER_REQUEST
@ LTENR_MSG_DC_HO_SEC_CELL_UE_CONTEXT_RELEASE_ACK
@ LTENR_MSG_CORE_CREATE_SESSION_RESPONSE
@ LTENR_MSG_DC_SEC_CELL_ADDITION_RESPONSE
@ LTENR_MSG_CORE_INITIAL_UE_MESSAGE
@ LTENR_MSG_CORE_REGISTRATION_COMPLETE
@ LTENR_MSG_NAS_HANDOVER_REQUEST
@ LTENR_MSG_NAS_HANDOVER_PATH_SWITCH
void LTENR_MSG_FREE(NetSim_PACKET *packet)
ptrLTENR_MSG LTENR_MSG_APP_COPY(const NetSim_PACKET *packet)
ptrLTENR_MSG LTENR_MSG_COPY(const NetSim_PACKET *packet)
char * LTENR_SUBEVNET_NAME(NETSIM_ID id)
void LTENR_SUBEVENT_CALL()
#define _declspec(dllexport)
This function is used to trigger the update.
#define fnNetSimError(x,...)
void netsim_matlab_interface_close()
NetSim_PACKET * fn_NetSim_Packet_GetPacketFromBuffer(NetSim_BUFFER *pstruBuffer, int nFlag)
NETSIM_ID get_first_dest_from_packet(NetSim_PACKET *packet)
@ PacketStatus_Buffer_Dropped
NETSIM_ID fn_NetSim_Stack_GetDeviceId_asName(const char *name)
NETSIM_ID fn_NetSim_Stack_GetConnectedDevice(NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NETSIM_ID *nConnectedDevId, NETSIM_ID *nConnectedInterfaceId)
char * fn_NetSim_xmlConfigPacketTraceField(const void *xmlNetSimNode, const char *name)
#define DEVICE_NWADDRESS(DeviceId, InterfaceId)
EXPORTED struct stru_NetSim_Network * NETWORK
#define DEVICE_ACCESSBUFFER(DeviceId, InterfaceId)
EXPORTED struct stru_NetSim_EventDetails * pstruEventDetails
#define fn_NetSim_Metrics_Add(packet)
#define fn_NetSim_Packet_FreePacket(pstruPacket)
#define fn_NetSim_WritePacketTrace(pstruPacket)
#define fnpAddEvent(pstruEvent)
LTENR_DEVICETYPE deviceType
LTENR_INTERFACE_TYPE IFType
struct stru_NetSim_Packet * pPacket
void * Packet_AppProtocol
APPLICATION_LAYER_PROTOCOL nApplicationProtocol
MAC_LAYER_PROTOCOL nMACProtocol
void * Packet_MACProtocol
NETSIM_IPAddress szGatewayIP
void * Packet_NetworkProtocol
NETSIM_IPAddress szNextHopIp
struct stru_NetSim_Packet_AppLayer * pstruAppData
PACKET_STATUS nPacketStatus
struct stru_NetSim_Packet_NetworkLayer * pstruNetworkData
unsigned int nControlDataType
struct stru_NetSim_Packet_MACLayer * pstruMacData