+/**
+ * Return a pointer to the user data of the current process.
+ *
+ * To obtain user data, just call this function inside the process. Remember to cast
+ * the returned pointer to the correct type.
+ * \return Pointer to the user data of the current process.
+ */
+INLINE iptr_t proc_currentUserData(void)
+{
+ extern struct Process *current_process;
+ return current_process->user_data;
+}
+
+int proc_testSetup(void);
+int proc_testRun(void);
+int proc_testTearDown(void);
+
+/**
+ * Return the context structure of the currently running process.
+ *
+ * The details of the Process structure are private to the scheduler.
+ * The address returned by this function is an opaque pointer that can
+ * be passed as an argument to other process-related functions.
+ */
+INLINE struct Process *proc_current(void)
+{
+ extern struct Process *current_process;
+ return current_process;
+}
+