TuyaOS
tal_workq_service.h
浏览该文件的文档.
1
11#ifndef __TAL_WORKQ_SERVICE_H__
12#define __TAL_WORKQ_SERVICE_H__
13
14#include "tal_workqueue.h"
15
19typedef enum {
29
35OPERATE_RET tal_workq_init(VOID_T);
36
44WORKQUEUE_HANDLE tal_workq_get_handle(WORKQ_SERVICE_E service);
45
55OPERATE_RET tal_workq_schedule(WORKQ_SERVICE_E service, WORKQUEUE_CB cb, VOID_T *data);
56
66OPERATE_RET tal_workq_schedule_instant(WORKQ_SERVICE_E service, WORKQUEUE_CB cb, VOID_T *data);
67
77OPERATE_RET tal_workq_cancel(WORKQ_SERVICE_E service, WORKQUEUE_CB cb, VOID_T *data);
78
89
96
100typedef struct {
101 DELAYED_WORK_HANDLE *delayed_work; // delayed work handle
102 WORKQUEUE_CB delayed_work_cb; // delayed work callback
104
115OPERATE_RET tal_workq_init_delayed(WORKQ_SERVICE_E service, WORKQUEUE_CB cb, VOID_T *data,
116 DELAYED_WORK_HANDLE *delayed_work);
117
127OPERATE_RET tal_workq_start_delayed(DELAYED_WORK_HANDLE delayed_work,
128 TIME_MS interval, LOOP_TYPE type);
129
137OPERATE_RET tal_workq_stop_delayed(DELAYED_WORK_HANDLE delayed_work);
138
146OPERATE_RET tal_workq_cancel_delayed(DELAYED_WORK_HANDLE delayed_work);
147
148#endif //__TAL_WORKQ_SERVICE_H__
delayed work entry definition
Definition: tal_workq_service.h:100
OPERATE_RET tal_workq_cancel(WORKQ_SERVICE_E service, WORKQUEUE_CB cb, VOID_T *data)
cancel work task in workqueue
OPERATE_RET tal_workq_init(VOID_T)
init ty work queue service
UINT16_T tal_workq_get_num(WORKQ_SERVICE_E service)
get current work number in work queue.
WORKQUEUE_HANDLE tal_workq_get_handle(WORKQ_SERVICE_E service)
get handle of workqueue service
OPERATE_RET tal_workq_cancel_delayed(DELAYED_WORK_HANDLE delayed_work)
cancel delay work
OPERATE_RET tal_workq_schedule_instant(WORKQ_SERVICE_E service, WORKQUEUE_CB cb, VOID_T *data)
put work task in workqueue, instant will be dequeued first
WORKQ_SERVICE_E
TuyaOS provides developers with two workqueue service for convenience.
Definition: tal_workq_service.h:19
@ WORKQ_SYSTEM
Definition: tal_workq_service.h:23
@ WORKQ_HIGHTPRI
Definition: tal_workq_service.h:27
OPERATE_RET tal_workq_stop_delayed(DELAYED_WORK_HANDLE delayed_work)
stop delayed work
VOID_T tal_workq_dump(WORKQ_SERVICE_E service)
dump all work in work queue.
OPERATE_RET tal_workq_start_delayed(DELAYED_WORK_HANDLE delayed_work, TIME_MS interval, LOOP_TYPE type)
put work task in workqueue after delay
OPERATE_RET tal_workq_init_delayed(WORKQ_SERVICE_E service, WORKQUEUE_CB cb, VOID_T *data, DELAYED_WORK_HANDLE *delayed_work)
init delayed work task
OPERATE_RET tal_workq_schedule(WORKQ_SERVICE_E service, WORKQUEUE_CB cb, VOID_T *data)
add work to work queue
tuya workqueue module