メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

dkcTaskEngine.h

説明を見る。
00001 
00061 #ifndef DKUTIL_C_TASK_ENGINE_H
00062 #define DKUTIL_C_TASK_ENGINE_H
00063 
00064 
00065 #include <stdio.h>
00066 #include <string.h>
00067 #include "dkcOSIndependent.h"
00068 
00069 /*
00070 
00071 
00072 */
00074 #define dkcdTASK_NUM 256
00075 
00080 
00081 typedef BYTE TASK_COUNT_T;
00082 
00083 
00085 typedef struct dkc_TaskEngine{
00087     BYTE *mTaskPool[dkcdTASK_NUM];
00089     BYTE *mTaskWorkPool[dkcdTASK_NUM];
00091     size_t mTaskWorkSize;
00093     TASK_COUNT_T mNowPriority;
00094 }DKC_TASK_ENGINE;
00095 
00097 typedef struct dkc_Task{
00099     BYTE *work;
00101     void (*proc)(DKC_TASK_ENGINE *,struct dkc_Task *);
00102 }DKC_TASK;
00103 
00104 
00105 typedef void (*DKC_TASK_PROC)(DKC_TASK_ENGINE *,DKC_TASK *);
00106 
00107 
00108 
00109 
00110 
00111 
00112 DKC_EXTERN DKC_TASK_ENGINE *dkcAllocTaskEngine(size_t taskworksize);
00113 
00114 DKC_EXTERN int dkcFreeTaskEngine(DKC_TASK_ENGINE **);
00123 
00124 DKC_EXTERN void dkcTaskEngineInit(DKC_TASK_ENGINE *p,DKC_TASK *TaskPool[dkcdTASK_NUM],BYTE *TaskWorkPool[dkcdTASK_NUM]);
00125 
00127 DKC_EXTERN int dkcTaskEngineSet(DKC_TASK_ENGINE *p,TASK_COUNT_T prio,DKC_TASK_PROC proc);
00129 DKC_EXTERN int dkcTaskEngineKill(DKC_TASK_ENGINE *p,TASK_COUNT_T prio);
00131 DKC_EXTERN int dkcTaskEngineIteration(DKC_TASK_ENGINE *p);
00132 
00134 DKC_EXTERN BOOL dkcTaskEngineEmpty(DKC_TASK_ENGINE *p,TASK_COUNT_T prio);
00135 
00136 
00137 #if !defined(   DKUTIL_C_TASK_ENGINE_C ) &&  defined(USE_DKC_INDEPENDENT_INCLUDE)
00138 #   include "dkcTaskEngine.c"
00139 #endif
00140 
00141 
00142 
00143 #endif //end of include once

dkutil_cに対してSat Sep 10 09:23:57 2005に生成されました。  doxygen 1.4.4