//------------------------------------------------------------------------------ tOplkError dllucal_sendAsyncFrame(const tFrameInfo* pFrameInfo_p, tDllAsyncReqPriority priority_p) { tOplkError ret; tEvent event; // Check parameter validity ASSERT(pFrameInfo_p != NULL); switch (priority_p) { case kDllAsyncReqPrioNmt: ret = instance_l.pTxNmtFuncs->pfnInsertDataBlock( instance_l.dllCalQueueTxNmt, (const UINT8*)pFrameInfo_p->frame.pBuffer, pFrameInfo_p->frameSize); break; default: ret = sendGenericAsyncFrame(pFrameInfo_p); break; } if (ret != kErrorOk) goto Exit; // post event to DLL event.eventSink = kEventSinkDllk; event.eventType = kEventTypeDllkFillTx; OPLK_MEMSET(&event.netTime, 0x00, sizeof(event.netTime)); event.eventArg.pEventArg = &priority_p; event.eventArgSize = sizeof(priority_p); ret = eventu_postEvent(&event); Exit: return ret; }
//------------------------------------------------------------------------------ tOplkError dllkcal_sendAsyncFrame(tFrameInfo* pFrameInfo_p, tDllAsyncReqPriority priority_p) { tOplkError ret = kErrorOk; tEvent event; switch (priority_p) { case kDllAsyncReqPrioNmt: // NMT request priority ret = instance_l.pTxNmtFuncs->pfnInsertDataBlock( instance_l.dllCalQueueTxNmt, (BYTE*)pFrameInfo_p->frame.pBuffer, &(pFrameInfo_p->frameSize)); break; default: // generic priority ret = sendGenericAsyncFrame(pFrameInfo_p); break; } if (ret != kErrorOk) { goto Exit; } // post event to DLL event.eventSink = kEventSinkDllk; event.eventType = kEventTypeDllkFillTx; OPLK_MEMSET(&event.netTime, 0x00, sizeof(event.netTime)); event.eventArg.pEventArg = &priority_p; event.eventArgSize = sizeof(priority_p); ret = eventk_postEvent(&event); Exit: return ret; }