//------------------------------------------------------------------------------
tOplkError eventucal_postKernelEvent(tEvent* pEvent_p)
{
    tOplkError      ret;
    /*TRACE("U2K type:%s(%d) sink:%s(%d) size:%d!\n",
                   debugstr_getEventTypeStr(pEvent_p->eventType), pEvent_p->eventType,
                   debugstr_getEventSinkStr(pEvent_p->eventSink), pEvent_p->eventSink,
                   pEvent_p->eventArgSize);*/
    ret = eventucal_postEventCircbuf(kEventQueueU2K, pEvent_p);
    return ret;
}
コード例 #2
0
//------------------------------------------------------------------------------
tOplkError eventucal_postUserEvent(const tEvent* pEvent_p)
{
    tOplkError  ret;

    // Check parameter validity
    ASSERT(pEvent_p != NULL);

    ret = eventucal_postEventCircbuf(kEventQueueUInt, pEvent_p);

    return ret;
}
コード例 #3
0
//------------------------------------------------------------------------------
static void* k2uEventFetchThread(void* pArg_p)
{
    UINT8   aEventBuf[sizeof(tEvent) + MAX_EVENT_ARG_SIZE];
    tEvent* pEvent = (tEvent*)aEventBuf;
    INT     ret;

    UNUSED_PARAMETER(pArg_p);

    while (!instance_l.fStopKernelThread)
    {
        ret = ioctl(instance_l.fd, PLK_CMD_GET_EVENT, pEvent);
        if (ret == 0)
        {
            DEBUG_LVL_EVENTU_TRACE("%s() User: got event type:%d(%s) sink:%d(%s)\n",
                                   __func__,
                                   pEvent->eventType,
                                   debugstr_getEventTypeStr(pEvent->eventType),
                                   pEvent->eventSink,
                                   debugstr_getEventSinkStr(pEvent->eventSink));

            if (pEvent->eventArgSize == 0)
                pEvent->eventArg.pEventArg = NULL;
            else
                pEvent->eventArg.pEventArg = (UINT8*)pEvent + sizeof(tEvent);

            if (eventucal_postEventCircbuf(kEventQueueUInt, pEvent) != kErrorOk)
            {
                DEBUG_LVL_ERROR_TRACE("%s(): K2U event is dropped!!\n", __func__);
            }
        }
        else
        {
            // Ignore errors from kernel
            DEBUG_LVL_EVENTU_TRACE("%s(): Error in retrieving kernel to user event!!\n", __func__);
        }
    }

    instance_l.fStopKernelThread = FALSE;

    return NULL;
}