Mercurial > hg > Members > kent > CbCTaskManager
view TaskManager.h @ 2:803d6bf22e6d default tip
second commit.
it's far to complete..
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Dec 2009 16:19:56 +0900 |
parents | aef83aed7a07 |
children |
line wrap: on
line source
#ifndef _TASKMANAGER_H #define _TASKMANAGER_H #include <stdlib.h> #include "List.h" #include "Task.h" typedef struct _TaskManager { List *waitingList; List *activeList; } TaskManager; __code initTaskManager(__code(*ret)(TaskManager*,void*), void *arg); __code addNewTask(TaskManager *, Task *); __code finishTask(TaskManager *, Task *); __code noEvent(TaskManager *); __code getTask(TaskManager *, ListIter *); __code executed(TaskManager *, ListIter *, Task *); #if 0 typedef List TaskList; typedef uint32_t TaskTypeID; /* C++CeriumでのTaskObjectにあたる */ typedef struct _tasktype { //Taskrun run; char *name; enum cpu cputype; } TaskType; /* C++CeriumでのHTaskにあたるのかな */ typedef struct _Task { TaskType tasktype; unsigned int id; // is it needed? void *rbuff; void *wbuff; size_t rsize; size_t wsize; TaskList waiter; // List of tasks waiting for me :-P TaskList waitee; // List of tasks keep me waiting :-( } Task; /* defined in USERs space. */ /* but generated by Cerium automatically. */ extern int max_tasktypes; extern TaskType taskTypes[]; #endif #endif /* !_TASKMANAGER_H */