--- /dev/null
+/**************************************************************** \r
+ * Process Wrapper file for a PPE process\r
+ * Creator: lschor, 2008-11-21\r
+ * Description: Wrapper for a specific PPE process\r
+ * \r
+ * Revision: \r
+ * - 2008-11-21: Created\r
+ */\r
+\r
+// Include the standard thread functions\r
+#include <pthread.h>\r
+#include <stdio.h>\r
+#include <stddef.h>\r
+#include <stdint.h>\r
+#include <string.h>\r
+#include <ctype.h>\r
+#include <stdlib.h>\r
+\r
+#include "common_ppu.h"\r
+\r
+// Include of the process --> Because all is mapped to one file, each source file is only allow to appear once\r
+//#include "@PROCESSNAME@.c"\r
+\r
+/*\r
+ * The wrapper process\r
+ */\r
+void *@PROCESSNAME@_wrapper( void *ptr )\r
+{\r
+ // Create the wrapper process\r
+ ProcessWrapper *wrapper = (ProcessWrapper *)ptr;\r
+\r
+ //initialize the index array\r
+ int i;\r
+ wrapper->index = (uint32_t *)malloc(4 * sizeof(int));\r
+ for (i = 0; i < 4; i++) \r
+ {\r
+ wrapper->index[i] = getIndex(wrapper->name, "_", i);\r
+ }\r
+\r
+ // DOL process\r
+ DOLProcess* process;\r
+ struct _local_states *state;\r
+\r
+ process = (DOLProcess *)malloc(sizeof(DOLProcess));\r
+ state = (struct _local_states *)malloc(sizeof(struct _local_states));\r
+\r
+ memcpy(process, &@PROCESSNAME@, sizeof(DOLProcess));\r
+ memcpy(state, @PROCESSNAME@.local, sizeof(struct _local_states));\r
+ process->local = state;\r
+ process->wptr = wrapper;\r
+\r
+ // Init the process\r
+ process->init(process);\r
+\r
+ // Run the process\r
+ while (!wrapper->is_detached) \r
+ {\r
+ process->fire(process);\r
+ }\r
+\r
+ // Delete all malloc memory\r
+ free(state); \r
+ free(process); \r
+ free(wrapper->name); \r
+ free(wrapper); \r
+}\r
+\r
+\r