1 /****************************************************************
\r
2 * Process Wrapper file for a PPE process
\r
3 * Creator: lschor, 2008-11-21
\r
4 * Description: Wrapper for a specific PPE process
\r
7 * - 2008-11-21: Created
\r
10 // Include the standard thread functions
\r
11 #include <pthread.h>
\r
19 #include "common_ppu.h"
\r
21 // Include of the process --> Because all is mapped to one file, each source file is only allow to appear once
\r
22 //#include "@PROCESSNAME@.c"
\r
25 * The wrapper process
\r
27 void *@PROCESSNAME@_wrapper( void *ptr )
\r
29 // Create the wrapper process
\r
30 ProcessWrapper *wrapper = (ProcessWrapper *)ptr;
\r
32 //initialize the index array
\r
34 wrapper->index = (uint32_t *)malloc(4 * sizeof(int));
\r
35 for (i = 0; i < 4; i++)
\r
37 wrapper->index[i] = getIndex(wrapper->name, "_", i);
\r
41 DOLProcess* process;
\r
42 struct _local_states *state;
\r
44 process = (DOLProcess *)malloc(sizeof(DOLProcess));
\r
45 state = (struct _local_states *)malloc(sizeof(struct _local_states));
\r
47 memcpy(process, &@PROCESSNAME@, sizeof(DOLProcess));
\r
48 memcpy(state, @PROCESSNAME@.local, sizeof(struct _local_states));
\r
49 process->local = state;
\r
50 process->wptr = wrapper;
\r
53 process->init(process);
\r
56 while (!wrapper->is_detached)
\r
58 process->fire(process);
\r
61 // Delete all malloc memory
\r
64 free(wrapper->name);
\r