void proc_yield(void);
void proc_preempt(void);
int proc_needPreempt(void);
+void proc_wakeup(Process *proc);
/**
* Dummy function that defines unimplemented scheduler class methods.
* Preemptive scheduler: private methods.
*/
#define preempt_switch proc_switch
- #define preempt_init proc_schedInit
+ #define preempt_wakeup proc_wakeup
#else
/**
* Co-operative scheduler: public methods.
* Co-operative scheduler: private methods.
*/
#define coop_switch proc_switch
- #define proc_schedInit __proc_noop
+ #define coop_wakeup proc_wakeup
#endif
void proc_rename(struct Process *proc, const char *name);
* the returned pointer to the correct type.
* \return Pointer to the user data of the current process.
*/
-iptr_t proc_currentUserData(void);
+INLINE iptr_t proc_currentUserData(void)
+{
+ extern struct Process *current_process;
+ return current_process->user_data;
+}
int proc_testSetup(void);
int proc_testRun(void);