#include "time.h"
#include "error.h"
+struct task {
+ /** Copied from the task_info struct during task_register(). */
+ void (*pre_select)(struct sched *s, struct task *t);
+ /** Copied from the task_info struct during task_register(). */
+ int (*post_select)(struct sched *s, struct task *t);
+ /** Whether this task is active (>=0) or in error state (<0). */
+ int error;
+ /** Position of the task in the task list of the scheduler. */
+ struct list_head node;
+ /** The task name supplied when the task was registered(). */
+ char status[255];
+ /** If less than zero, the task was notified by another task. */
+ int notification;
+ /** True if task is in error state and exit status has been queried. */
+ bool dead;
+ /** Usually a pointer to the struct containing this task. */
+ void *context;
+};
+
static struct timeval now_struct;
struct timeval *now = &now_struct;
struct list_head task_list;
};
-/**
- * Paraslash's task structure.
- *
- * This is considered an internal structure and will eventually be made private.
- *
- * \sa \ref sched.
- */
-struct task {
- /** Copied from the task_info struct during task_register(). */
- void (*pre_select)(struct sched *s, struct task *t);
- /** Copied from the task_info struct during task_register(). */
- int (*post_select)(struct sched *s, struct task *t);
- /** Whether this task is active (>=0) or in error state (<0). */
- int error;
- /** Position of the task in the task list of the scheduler. */
- struct list_head node;
- /** The task name supplied when the task was registered(). */
- char status[255];
- /** If less than zero, the task was notified by another task. */
- int notification;
- /** True if task is in error state and exit status has been queried. */
- bool dead;
- /** Usually a pointer to the struct containing this task. */
- void *context;
-};
+struct task;
/** Information that must be supplied by callers of \ref task_register(). */
struct task_info {