CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
sysq.h
Go to the documentation of this file.
1
39
40#pragma once
41
42#include <cx/taskqueue/taskqueue.h>
43
44bool _sysqAdd(_In_ BasicTask* task);
45
55#define sysqAdd(task) _sysqAdd(BasicTask(task))
56
65#define sysqRun(ptask) \
66 do { \
67 sysqAdd(*ptask); \
68 objRelease(ptask); \
69 } while (0)
70
71bool _sysqSchedule(_In_ ComplexTask* task, int64 delay);
72
84#define sysqSchedule(task, delay) _sysqSchedule(ComplexTask(task), delay)
85
86bool _sysqDefer(_In_ ComplexTask* task);
87
98#define sysqDefer(task) _sysqDefer(ComplexTask(task))
99
111bool sysqCall(_In_ UserTaskCB func, _In_opt_ void* userdata);
112
114// end of taskqueue_sysq group
bool sysqCall(UserTaskCB func, void *userdata)
bool(* UserTaskCB)(TaskQueue *tq, void *data)
Definition taskqueue.h:175
Bare minimum task object with state tracking and run method.
Definition basictask.h:59
Complex task with dependencies, scheduling, and resource management.