274
|
1 #ifndef INCLUDED_TASK
|
|
2 #define INCLUDED_TASK
|
|
3
|
307
|
4 #include "base.h"
|
|
5 #include "types.h"
|
|
6 #include "ListData.h"
|
274
|
7
|
|
8 #define MAX_PARAMS 8
|
|
9
|
497
|
10 class TaskQueue;
|
|
11
|
274
|
12 class Task {
|
|
13 public: // variables
|
|
14
|
|
15 BASE_NEW_DELETE(Task);
|
|
16
|
|
17 int command; // 4 byte
|
363
|
18 ListDataPtr inData; // 4 byte 64bit であるべき
|
|
19 ListDataPtr outData; // 4 byte 64bit であるべき
|
497
|
20 TaskQueue *self; // 4 byte
|
274
|
21
|
|
22 int param_size; // 4 byte
|
|
23 int param[MAX_PARAMS]; // 4*MAX_PARAMS byte
|
|
24
|
|
25 public: // functions
|
363
|
26 int add_inData_t(unsigned int addr, int size); // unsigned int ではなく 64bit
|
|
27 int add_outData_t(unsigned int addr, int size); // unsigned int ではなく 64bit
|
274
|
28 int add_data(ListDataPtr list, unsigned int addr, int size);
|
|
29 int add_param(int param);
|
|
30
|
|
31 #define add_inData(addr, size) \
|
|
32 add_inData_t((unsigned int)(addr), (size));
|
|
33 #define add_outData(addr, size) \
|
|
34 add_outData_t((unsigned int)(addr), (size));
|
|
35 };
|
|
36
|
|
37 typedef Task* TaskPtr;
|
|
38
|
|
39 #endif
|