MAC Clean-up [Issue-ID: ODUHIGH-212]
[o-du/l2.git] / src / codec_utils / common / odu_common_codec.c
index 98f0023..7ca7923 100644 (file)
@@ -1,3 +1,7 @@
+#include "common_def.h"
+#include "OCTET_STRING.h"
+#include "BIT_STRING.h"
+#include "asn_codecs.h"
 #include "odu_common_codec.h"
 
 /*******************************************************************
@@ -95,6 +99,43 @@ S16 fillBitString(BIT_STRING_t *id, U8 unusedBits, U8 byteSize, U8 val)
    RETVALUE(ROK);
 }
 
+/*******************************************************************
+ *
+ * @brief Converts bit strings to integer
+ *
+ * @details
+ *
+ *    Function : bitStringToInt
+ *
+ *    Functionality:
+ *      - Converts ASN bit string format IEs to integer type
+ *
+ * @params[in] void
+ * @return ROK     - success
+ *         RFAILED - failure
+ *
+ * ****************************************************************/
+S16 bitStringToInt(BIT_STRING_t *bitString, U16 *val)
+{
+   U16 idx;
+   if(bitString->buf == NULL || bitString->size <= 0)
+   {
+      DU_LOG("\nDU_APP : Bit string is empty");
+      return RFAILED;
+   }
+
+   for(idx=0; idx< bitString->size-1; idx++)
+   {
+      *val |= bitString->buf[idx];
+      *val <<= 8;
+    }
+   *val |= bitString->buf[idx];
+   *val >>= bitString->bits_unused;
+
+   return ROK;
+}
+
+
 
 /**********************************************************************
   End of file