RLC BO, BO response and DL Data handling. [Issue-ID: ODUHIGH-181]
[o-du/l2.git] / src / cm / common_def.c
index 978d0e7..70c35ad 100644 (file)
@@ -75,6 +75,38 @@ 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)                            
+{
+   uint8_t idx, revIdx, temp;
+   uint16_t copyLen;
+
+   /* 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 *)&copyLen);
+}
+
 
 
 /**********************************************************************