+ Buffer *mBuf = NULLP;
+ if(ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK)
+ {
+ DU_LOG("\nERROR --> LWR_MAC: Memory allocation failed in packRxDataInd");
+ return RFAILED;
+ }
+ CMCHKPK(oduPackPointer,(PTR)rxDataInd, mBuf);
+ return ODU_POST_TASK(pst, mBuf);
+ }
+ return RFAILED;
+}
+
+/**************************************************************************
+ * @brief Function unpack RxDataInd
+ *
+ * @details
+ *
+ * Function : unpackRxDataInd
+ *
+ * Functionality:
+ * unpacks Rx Data indication
+ *
+ * @param[in] function pointer
+ * @param[in] Pst *pst, Post structure of the primitive.
+ * @param[in] Buffer *mBuf
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ ***************************************************************************/
+uint8_t unpackRxDataInd(RxDataIndFunc func, Pst *pst, Buffer *mBuf)
+{
+ if(pst->selector == ODU_SELECTOR_LWLC)
+ {
+ RxDataInd *rxDataInd = NULLP;
+
+ /* unpack the address of the structure */
+ CMCHKUNPK(oduUnpackPointer, (PTR *)&rxDataInd, mBuf);
+ ODU_PUT_MSG_BUF(mBuf);
+ return (*func)(pst, rxDataInd);