Index: libc/include/psthread.h
===================================================================
--- libc/include/psthread.h	(revision c4c5de59abd6442cc66d82b804875450e089da68)
+++ libc/include/psthread.h	(revision 233fead6b59120237649e8a29471bb4779a58dbf)
@@ -41,4 +41,10 @@
 #endif /* context_set */
 
+typedef enum {
+	PS_TO_MANAGER,
+	PS_FROM_MANAGER,
+	PS_PREEMPT
+} pschange_type;
+
 typedef sysarg_t pstid_t;
 
@@ -62,8 +68,15 @@
 
 pstid_t psthread_create(int (*func)(void *), void *arg);
-int psthread_schedule_next(void);
 int psthread_join(pstid_t psthrid);
-psthread_data_t * psthread_setup(tcb_t *tcb);
+psthread_data_t * psthread_setup(void);
 void psthread_teardown(psthread_data_t *pt);
+int psthread_schedule_next_adv(pschange_type ctype);
+void psthread_add_ready(pstid_t ptid);
+void psthread_add_manager(pstid_t psthrid);
+void psthread_remove_manager(void);
+
+static inline int psthread_schedule_next() {
+	return psthread_schedule_next_adv(PS_PREEMPT);
+}
 
 
