X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fcommon_def.c;h=9d992466fa02eddfb2d8bb4351c216c07559f4b0;hb=9665386af091888e0e62b83ce91c25c973eb33aa;hp=978d0e76a4adbd89ad4598442e42d35f3abf9ce3;hpb=6b44407d464a5a4e060999255233a7cfe78bb0fa;p=o-du%2Fl2.git diff --git a/src/cm/common_def.c b/src/cm/common_def.c index 978d0e76a..9d992466f 100644 --- a/src/cm/common_def.c +++ b/src/cm/common_def.c @@ -23,7 +23,7 @@ * * @details * - * Function: schAllocFreqDomRscType0 + * Function: freqDomRscAllocType0 * * This function does allocation in frequency domain resource. * This is a bitmap defining non-overlapping groups of 6 PRBs in ascending order. @@ -33,7 +33,7 @@ * @param[in] freqDomain - 6 bytes of info, each bit represents a group of 6 PRB. * @return void **/ -void schAllocFreqDomRscType0(uint16_t startPrb, uint16_t prbSize, uint8_t *freqDomain) +void freqDomRscAllocType0(uint16_t startPrb, uint16_t prbSize, uint8_t *freqDomain) { uint8_t remBits = prbSize; /* each bit represents 6 PRBs */ uint8_t firstByte = 1; @@ -75,6 +75,70 @@ void schAllocFreqDomRscType0(uint16_t startPrb, uint16_t prbSize, uint8_t *freqD } } +/******************************************************************* + * + * @brief Reverse and copy fixed buffer to mBuf + * + * @details + * + * Function : oduCpyFixBufToMsg + * + * Functionality: Reverse and copy fixed buffer to mBuf + * + * @params[in] Fixed buffer, msg buffer, length of message + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +void oduCpyFixBufToMsg(uint8_t *fixBuf, Buffer *mBuf, uint16_t len) +{ + uint16_t idx = 0, revIdx = 0, temp = 0, copyLen = 0; + + /* ODU_COPY_FIX_BUF_TO_MSG copies fixed buffer in reverse order. \ + * Hence reversing the fixed buffer before copying in order to \ + * maintain the actual order*/ + for(idx = 0, revIdx = len-1; idx < len/2; idx++, revIdx--) + { + temp = fixBuf[idx]; + fixBuf[idx] = fixBuf[revIdx]; + fixBuf[revIdx] = temp; + } + ODU_COPY_FIX_BUF_TO_MSG(fixBuf, mBuf, 0, len, (MsgLen *)©Len); +} + +/******************************************************************* + * + * @brief Builds PLMN ID + * + * @details + * + * Function : plmnBuildId + * + * Functionality: Building the PLMN ID + * + * @params[in] PLMNID plmn + * @params[out] PLMNID in string format + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t buildPlmnId(Plmn plmn, uint8_t *buf) +{ + uint8_t mncCnt; + mncCnt = 2; + buf[0] = ((plmn.mcc[1] << 4) | (plmn.mcc[0])); + if(mncCnt == 2) + { + buf[1] = ((0xf0) | (plmn.mcc[2])); + buf[2] = ((plmn.mnc[1] << 4) | (plmn.mnc[0])); + } + else + { + buf[1] = ((plmn.mnc[0] << 4) | (plmn.mcc[2])); + buf[2] = ((plmn.mnc[2] << 4) | (plmn.mnc[1])); + } + return ROK; +} /**********************************************************************