#include #include "List.h" #include "Task.h" /* * User interfaces. */ Task * createTask(int id, char *name) { Task *task; if (!name) name = "(no name)"; task = malloc(sizeof(Task)); task->id = id; task->rbuff = NULL; task->wbuff = NULL; task->waiter = NULL; task->waitee = NULL; task->name = name; task->cpu = ANY; task->rsize = 0; task->wsize = 0; return task; } void taskSetData(Task *task, void *rbuff, int rsize, void *wbuff, int wsize) { task->rbuff = rbuff; task->wbuff = wbuff; task->rsize = rsize; task->wsize = wsize; } void taskSetWait(Task *a, Task *b) { /* set a waiting for b. */ a->waitee = _listAddFirst(a->waitee, b); b->waiter = _listAddFirst(b->waiter, a); }