diff include/TaskManager/SchedTask.h @ 42:aa11038dbdc1

*** empty log message ***
author gongo
date Thu, 14 Feb 2008 18:27:37 +0900
parents
children 14a5ca0be17e
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/include/TaskManager/SchedTask.h	Thu Feb 14 18:27:37 2008 +0900
@@ -0,0 +1,41 @@
+#ifndef INCLUDED_SCHED_TASK
+#define INCLUDED_SCHED_TASK
+
+#ifndef INCLUDED_SCHEDULER
+#  include "Scheduler.h"
+#endif
+
+#ifndef INCLUDED_SCHED_TASK_BASE
+#  include "SchedTaskBase.h"
+#endif
+
+class SchedTask : public SchedTaskBase {
+public:
+    /* constructor */
+    SchedTask(TaskListPtr, TaskPtr, void*, void*, DmaManager*);
+
+    /* variables */
+    TaskListPtr list;
+    TaskPtr task;
+    void *readbuf;
+    void *writebuf;
+
+    DmaManager* connector;
+
+    // work area
+    //   global variable 用とか
+    //   次の task に引き渡したり
+    // size : デフォルトで 4k
+    //        ppuから教えてもらう? task に入れる
+    void (*func)(void *wbuf, void *rbuf);
+
+    /* functions */
+    SchedTaskBase* next(Scheduler *, SchedTaskBase *);
+
+    // override
+    void read(void);
+    void exec(void);
+    void write(void);
+};
+
+#endif