dol: initial dol commit
[jump.git] / dol / src / dol / visitor / yapi / lib / dolSupport.cpp
1 #include "dolSupport.h"\r
2 #include "ProcessWrapper.h"\r
3 \r
4 /**\r
5  *\r
6  */\r
7 unsigned dolwrite(OutPort<char> *out, const void *buf, unsigned len, const DOLProcess *process)\r
8 {\r
9     write(*out, (char*)buf, len);\r
10     return len;\r
11 }\r
12 \r
13 \r
14 /**\r
15  *\r
16  */\r
17 unsigned dolread(InPort<char> *in, const void *buf, unsigned len, const DOLProcess *process) {\r
18     read(*in, (char*)buf, len);\r
19     return len;\r
20 }\r
21 \r
22 /**\r
23  *\r
24  */\r
25 void DOL_detach(DOLProcess* p) {\r
26     static_cast<ProcessWrapper *>(p->wptr)->detach();\r
27 }\r
28 \r
29 \r
30 /**\r
31  *\r
32  */\r
33 void createPort(void** port,\r
34                 void* base,\r
35                 int number_of_indices,\r
36                 int index0, int range0) {\r
37     *port = (void**)((void**)base)[index0];\r
38 }\r
39 \r
40 \r
41 /**\r
42  *\r
43  */\r
44 void createPort(void** port,\r
45                 void* base,\r
46                 int number_of_indices,\r
47                 int index0, int range0,\r
48                 int index1, int range1) {\r
49     *port = (void**)((void**)base)[index0 * range1 + index1];\r
50 }\r
51 \r
52 \r
53 /**\r
54  *\r
55  */\r
56 void createPort(void** port,\r
57                 void* base,\r
58                 int number_of_indices,\r
59                 int index0, int range0,\r
60                 int index1, int range1,\r
61                 int index2, int range2) {\r
62     *port = (void**)((void**)base)[index0 * range1 * range2\r
63                        + index1 * range2 + index2];\r
64 }\r
65 \r
66 \r
67 /**\r
68  *\r
69  */\r
70 void createPort(void** port,\r
71                 void* base,\r
72                 int number_of_indices,\r
73                 int index0, int range0,\r
74                 int index1, int range1,\r
75                 int index2, int range2,\r
76                 int index3, int range3) {\r
77     *port = (void**)((void**)base)[index0 * range1 * range2 * range3\r
78                        + index1 * range2 * range3\r
79                        + index2 * range3\r
80                        + index3];\r
81 }\r