task.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:1k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __TASK_H
  2. #define __TASK_H
  3. #include "types.h"
  4. #include "regloc.h"
  5. #define REG_SAVED REGLOC_NUM
  6. typedef struct {
  7.   UINT32  reg[REG_SAVED];
  8.   BYTE   frac;
  9. } t_task;
  10. typedef struct {
  11.   BYTE task_now;
  12.   BYTE task_num;
  13.   BYTE task_len;
  14.   BYTE task_busy;
  15.   void *task_entry;
  16. } t_taskstate;
  17. #include "bufloc.h"
  18. #include "set.h"
  19. #ifdef DVDRELEASE     
  20. #define TASKNO_MAX 1
  21. #else
  22. #define TASKNO_MAX 2
  23. EXTERN_DATABUF t_taskstate task_state;
  24. EXTERN_DATABUF t_task task_table[TASKNO_MAX];
  25. #define SET_TASK(n)     {       
  26.                         task_state.task_now     = n;                    
  27.                         task_state.task_entry   = &task_table[n];       
  28.                         task_state.task_len     = task_table[n].frac;   
  29.                         }
  30. #endif
  31. void reset_task(void);
  32. #define NextTask()      asm volatile("syscall 0");
  33. #endif/*__TASK_H*/