#include "cu_stub_sctp.h"
#include "cu_f1ap_msg_hdl.h"
-char encBuf[ENC_BUF_MAX_LEN];
-
-/*******************************************************************
- *
- * @brief Writes the encoded chunks into a buffer
- *
- * @details
- *
- * Function : PrepFinalEncBuf
- *
- * Functionality:Fills the encoded buffer
- *
- * @params[in] void *buffer,initial encoded data
- * @params[in] size_t size,size of buffer
- * @params[in] void *encodedBuf,final buffer
- * @return ROK - success
- * RFAILED - failure
- *
- * ****************************************************************/
-static int PrepFinalEncBuf(const void *buffer, size_t size, void *encodedBuf)
-{
- memcpy(encodedBuf + encBufSize, buffer, size);
- encBufSize += size;
- return 0;
-} /* PrepFinalEncBuf */
-
/*******************************************************************
*
* @brief Sends F1 msg over SCTP
RETVALUE(ROK);
} /* SendF1APMsg */
-
-void plmnBuildCU(Plmn plmn, OCTET_STRING_t *octe)
+/*******************************************************************
+*
+* @brief Builds NRCell ID
+*
+* @details
+*
+* Function : BuildNrCellId
+*
+* Functionality: Building the NR Cell ID
+*
+* @params[in] BIT_STRING_t *nrcell
+* @return ROK - success
+* RFAILED - failure
+*
+* ****************************************************************/
+
+S16 BuildNrCellId(BIT_STRING_t *nrcell)
{
- U8 mncCnt;
- mncCnt = 2;
- octe->buf[0] = ((plmn.mcc[1] << 4) | (plmn.mcc[0]));
- if(mncCnt == 2)
- {
- octe->buf[1] = ((0xf0) | (plmn.mcc[2]));
- octe->buf[2] = ((plmn.mnc[1] << 4) | (plmn.mnc[0]));
- }
- else
+ U8 tmp;
+ for (tmp = 0 ; tmp < nrcell->size-1; tmp++)
{
- octe->buf[1] = ((plmn.mnc[0] << 4) | (plmn.mcc[2]));
- octe->buf[2] = ((plmn.mnc[2] << 4) | (plmn.mnc[1]));
+ nrcell->buf[tmp] = 0;
}
+ nrcell->buf[4] = 16;
+ nrcell->bits_unused = 4;
+ nrcell->size = 5 * sizeof(uint8_t);
+ RETVALUE(ROK);
}
-/*******************************************************************
+
+/********************************************************************
*
* @brief Builds and sends the F1SetupResponse
*
CU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
RETVALUE(RFAILED);
}
- plmnBuildCU(cuCfgParams.plmn , &cellToActivate->list.array[0]->value.choice.\
+ buildPlmnId(cuCfgParams.plmn , &cellToActivate->list.array[0]->value.choice.\
Cells_to_be_Activated_List_Item.nRCGI.pLMN_Identity);
cellToActivate->list.array[0]->value.choice.Cells_to_be_Activated_List_Item.\
- nRCGI.nRCellIdentity.size = 5*sizeof(uint8_t);
+ nRCGI.nRCellIdentity.size = 5;
CU_ALLOC(cellToActivate->list.array[0]->value.choice.\
Cells_to_be_Activated_List_Item.nRCGI.nRCellIdentity.buf,\
5*sizeof(uint8_t));
CU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
RETVALUE(RFAILED);
}
- for (int tmp = 0 ; tmp < cellToActivate->list.array[0]->value.\
- choice.Cells_to_be_Activated_List_Item.\
- nRCGI.nRCellIdentity.size-1; tmp++)
- {
- cellToActivate->list.array[0]->value.choice.\
- Cells_to_be_Activated_List_Item.nRCGI.nRCellIdentity.buf[tmp] = 0;
- }
- cellToActivate->list.array[0]->value.choice.\
- Cells_to_be_Activated_List_Item.nRCGI.nRCellIdentity.buf[4] = 16;
- cellToActivate->list.array[0]->value.choice.Cells_to_be_Activated_List_Item.\
- nRCGI.nRCellIdentity.bits_unused = 4;
-
+ BuildNrCellId(&(cellToActivate->list.array[0]->value.choice.Cells_to_be_Activated_List_Item.nRCGI.nRCellIdentity));
/* RRC Version */
idx++;
f1SetupRsp->protocolIEs.list.array[idx]->id = \
{
DU_LOG("\nF1AP : F1 setup request received");
BuildAndSendF1SetupRsp();
- break;
+ break;
}
case InitiatingMessage__value_PR_GNBDUConfigurationUpdate: