+\r
+/**\r
+ *
+ * @param PduId
+ * @param PduInfoPtr
+ * @param RetryInfoPtr not supported
+ * @param TxDataCntPtr
+ * @return
+ */\r
+BufReq_ReturnType Com_CopyTxData(PduIdType PduId, PduInfoType* PduInfoPtr, RetryInfoType* RetryInfoPtr, PduLengthType* TxDataCntPtr) {\r
+ imask_t state;\r
+ Irq_Save(state);\r
+ if (PduInfoPtr->SduLength != 0) {\r
+ Com_BufferPduState[PduId].locked = true;\r
+ }\r
+ memcpy(PduInfoPtr->SduDataPtr,Com_Arc_Config.ComIPdu[PduId].ComIPduDataPtr + Com_BufferPduState[PduId].currentPosition, PduInfoPtr->SduLength);\r
+ Com_BufferPduState[PduId].currentPosition += PduInfoPtr->SduLength;\r
+ const ComIPdu_type *IPdu = GET_IPdu(PduId);\r
+ *TxDataCntPtr = IPdu->ComIPduSize - Com_BufferPduState[PduId].currentPosition;\r
+ Irq_Restore(state);\r
+ return BUFREQ_OK;\r
+}\r