summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/sys/_task.h
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/sys/_task.h')
-rw-r--r--freebsd/sys/sys/_task.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/freebsd/sys/sys/_task.h b/freebsd/sys/sys/_task.h
index 11fd1bc0..d3be7198 100644
--- a/freebsd/sys/sys/_task.h
+++ b/freebsd/sys/sys/_task.h
@@ -42,13 +42,32 @@
* (q) taskqueue lock
*/
typedef void task_fn_t(void *context, int pending);
+typedef void gtask_fn_t(void *context);
struct task {
STAILQ_ENTRY(task) ta_link; /* (q) link for queue */
- u_short ta_pending; /* (q) count times queued */
+ uint16_t ta_pending; /* (q) count times queued */
u_short ta_priority; /* (c) Priority */
task_fn_t *ta_func; /* (c) task handler */
void *ta_context; /* (c) argument for handler */
};
+struct gtask {
+ STAILQ_ENTRY(gtask) ta_link; /* (q) link for queue */
+ uint16_t ta_flags; /* (q) state flags */
+ u_short ta_priority; /* (c) Priority */
+ gtask_fn_t *ta_func; /* (c) task handler */
+ void *ta_context; /* (c) argument for handler */
+};
+
+struct grouptask {
+ struct gtask gt_task;
+ void *gt_taskqueue;
+ LIST_ENTRY(grouptask) gt_list;
+ void *gt_uniq;
+ char *gt_name;
+ int16_t gt_irq;
+ int16_t gt_cpu;
+};
+
#endif /* !_SYS__TASK_H_ */