15#pragma region HEADER_FILES
22#pragma region ASSOCIATION_INIT
23void fn_NetSim_NTN_InitAssociation()
25 for (NETSIM_ID d = 0; d < NETWORK->nDeviceCount; d++)
27 for (NETSIM_ID i = 0; i < DEVICE(d + 1)->nNumOfInterface; i++)
29 if (!isLTE_NRInterface(d + 1, i + 1))
32 ptrLTENR_PROTODATA data = LTENR_PROTODATA_GET(d + 1, i + 1);
34 if (!data || data->deviceType != LTENR_DEVICETYPE_NTN_GNB)
37 for (NETSIM_ID rd = 0; rd < NETWORK->nDeviceCount; rd++)
39 for (NETSIM_ID ri = 0; ri < DEVICE(rd + 1)->nNumOfInterface; ri++)
41 if (!isLTE_NRInterface(rd + 1, ri + 1))
44 ptrLTENR_PROTODATA rxdata = LTENR_PROTODATA_GET(rd + 1, ri + 1);
49 if (rxdata->deviceType == LTENR_DEVICETYPE_UE)
51 LTENR_ASSOCIATEINFO_ADD(d + 1, i + 1,
62void fn_NetSim_LTENR_InitAssociation()
67 for (NETSIM_ID d = 0; d < NETWORK->nDeviceCount; d++)
69 for (NETSIM_ID i = 0; i < DEVICE(d + 1)->nNumOfInterface; i++)
71 if (!isLTE_NRInterface(d + 1, i + 1))
74 ptrLTENR_PROTODATA data = LTENR_PROTODATA_GET(d + 1, i + 1);
76 if (!data || data->deviceType != LTENR_DEVICETYPE_GNB)
79 NetSim_LINKS* link = DEVICE_PHYLAYER(d + 1, i + 1)->pstruNetSimLinks;
81 if (link->nLinkType == LinkType_P2P)
84 for (NETSIM_ID c = 0; c < link->puniDevList.pstrup2MP.nConnectedDeviceCount-1; c++)
86 LTENR_ASSOCIATEINFO_ADD(d + 1,
88 link->puniDevList.pstrup2MP.anDevIds[c],
89 link->puniDevList.pstrup2MP.anDevInterfaceIds[c]);
97#pragma region ASSOCIATION_CALLBACK
98#define MAX_ASSOCIATION_CALLBACK 100
99typedef void(*fnAssociationCallback)(NETSIM_ID, NETSIM_ID,
100 NETSIM_ID, NETSIM_ID,
102static fnAssociationCallback fnpAssociationCallback[MAX_ASSOCIATION_CALLBACK];
103static UINT associationCallbackCount = 0;
105void fn_NetSim_LTENR_RegisterCallBackForAssociation(
void(*fnCallBack)(NETSIM_ID gnbId,
111 fnpAssociationCallback[associationCallbackCount] = fnCallBack;
112 associationCallbackCount++;
115static void LTENR_ASSOCIATION_CALL_CALLBACK(NETSIM_ID gnbId,
122 for (i = 0; i < associationCallbackCount; i++)
123 fnpAssociationCallback[i](gnbId, gnbIf, ueId, ueIf, isAssociated);