1 #include "dolSupport.h"
\r
6 unsigned read(void* fifo, void* buf, unsigned len, DOLProcess* p) {
\r
9 static_cast<proc_wrapper *> ((static_cast<process_data *> (p->wptr))->wrapper)->readPos;
\r
10 pos += ((Fifo*) fifo)->read((char *) buf + pos, len - pos);
\r
13 static_cast<proc_wrapper *> ((static_cast<process_data *> (p->wptr))->wrapper)->readPos
\r
16 static_cast<proc_wrapper *> ((static_cast<process_data *> (p->wptr))->wrapper)->readPos
\r
24 unsigned write(void* fifo, void* buf, unsigned len, DOLProcess* p) {
\r
27 static_cast<proc_wrapper *> ((static_cast<process_data *> (p->wptr))->wrapper)->writePos;
\r
28 pos += ((Fifo*) fifo)->write((char *) buf + pos, len - pos);
\r
31 static_cast<proc_wrapper *> ((static_cast<process_data *> (p->wptr))->wrapper)->writePos
\r
34 static_cast<proc_wrapper *> ((static_cast<process_data *> (p->wptr))->wrapper)->writePos
\r
42 void DOL_detach(DOLProcess* p) {
\r
43 static_cast<proc_wrapper *> ((static_cast<process_data *> (p->wptr))->wrapper)->detach();
\r
49 unsigned reserve(void* fifo, void** destination, unsigned len,
\r
51 return ((WindowedFifo*) fifo)->reserve((char **) destination, len);
\r
57 void release(void* fifo, DOLProcess* p) {
\r
58 ((WindowedFifo*) fifo)->release();
\r
64 unsigned capture(void* fifo, void** destination, unsigned len,
\r
66 return ((WindowedFifo*) fifo)->capture((char **) destination, len);
\r
72 void consume(void* fifo, DOLProcess* p) {
\r
73 ((WindowedFifo*) fifo)->consume();
\r
76 void createPort(void** port, void* base, int number_of_indices,
\r
77 int index0, int range0) {
\r
78 *port = (void**) ((void**) base)[index0];
\r
81 void createPort(void** port, void* base, int number_of_indices,
\r
82 int index0, int range0, int index1, int range1) {
\r
83 *port = (void**) ((void**) base)[index0 * range1 + index1];
\r
86 void createPort(void** port, void* base, int number_of_indices,
\r
87 int index0, int range0, int index1, int range1, int index2,
\r
89 *port = (void**) ((void**) base)[index0 * range1 * range2 + index1
\r
93 void createPort(void** port, void* base, int number_of_indices,
\r
94 int index0, int range0, int index1, int range1, int index2,
\r
95 int range2, int index3, int range3) {
\r
96 *port = (void**) ((void**) base)[index0 * range1 * range2 * range3
\r
97 + index1 * range2 * range3 + index2 * range3 + index3];
\r