Mercurial > hg > Members > kono > Cerium
view include/TaskManager/task.h @ 3:2356238ebea7
*** empty log message ***
author | gongo |
---|---|
date | Tue, 05 Feb 2008 20:22:50 +0900 |
parents | |
children | 75f184d16fa5 |
line wrap: on
line source
#ifndef INCLUDED_TASK #define INCLUDED_TASK #include "memorypool.h" #define TASK_MAX_SIZE 100 typedef struct task_queue TaskQueue, *TaskQueuePtr; typedef struct htask HTask, *HTaskPtr; typedef struct task { int command; int in_size; // DMA_GET size unsigned int in_addr; // DMA_GET address unsigned int out_addr; // DMA_PUT address HTaskPtr self; } Task, *TaskPtr; struct htask : public UseMemoryPool<struct htask> { int command; int in_size; unsigned int in_addr; unsigned int out_addr; TaskQueuePtr wait_me; // List of task waiting for me TaskQueuePtr wait_i; // List of task for which I am waiting void (*post_func)(void); }; struct task_queue { HTaskPtr task; TaskQueuePtr next; }; typedef struct task_list { int length; struct task_list *next; //unsigned int next; Task tasks[TASK_MAX_SIZE]; } TaskList, *TaskListPtr; #endif