int work_queue(int qid, FAR struct work_s *work, worker_t worker, FAR void *arg, systime_t delay) { #ifdef CONFIG_SCHED_HPWORK if (qid == HPWORK) { /* Cancel high priority work */ work_qqueue((FAR struct kwork_wqueue_s *)&g_hpwork, work, worker, arg, delay); return work_signal(HPWORK); } else #endif #ifdef CONFIG_SCHED_LPWORK if (qid == LPWORK) { /* Cancel low priority work */ work_qqueue((FAR struct kwork_wqueue_s *)&g_lpwork, work, worker, arg, delay); return work_signal(LPWORK); } else #endif { return -EINVAL; } }
int work_queue(int qid, FAR struct work_s *work, worker_t worker, FAR void *arg, clock_t delay) { if (qid == USRWORK) { return work_qqueue(&g_usrwork, work, worker, arg, delay); } else { return -EINVAL; } }