Index: generic/include/proc/thread.h
===================================================================
--- generic/include/proc/thread.h	(revision ff14c520ac9ef1cfa24af4cbbfd3235d2bda51c5)
+++ generic/include/proc/thread.h	(revision 23d22eb27cfdf57d63002f3401a0a522db3288b0)
@@ -44,6 +44,4 @@
 #define THREAD_STACK_SIZE	STACK_SIZE
 
-#define THREAD_USER_STACK	1
-
 enum state {
 	Invalid,	/**< It is an error, if thread is found in this state. */
@@ -60,8 +58,8 @@
 #define X_STOLEN	(1<<1)
 
+#define THREAD_NAME_BUFLEN	20
+
 /** Thread structure. There is one per thread. */
 struct thread {
-	char *name;
-	
 	link_t rq_link;				/**< Run queue link. */
 	link_t wq_link;				/**< Wait queue link. */
@@ -76,4 +74,6 @@
 	 */
 	SPINLOCK_DECLARE(lock);
+
+	char name[THREAD_NAME_BUFLEN];
 
 	void (* thread_code)(void *);		/**< Function implementing the thread. */
@@ -118,4 +118,10 @@
 };
 
+/** Structure passed to uinit kernel thread as argument. */
+typedef struct uspace_arg {
+	__address uspace_entry;
+	__address uspace_stack;
+} uspace_arg_t;
+
 /** Thread list lock.
  *
@@ -140,7 +146,10 @@
 extern void thread_destroy(thread_t *t);
 
-
 /* Fpu context slab cache */
 extern slab_cache_t *fpu_context_slab;
 
+/** Thread syscall prototypes. */
+__native sys_thread_create(__address function, void *arg, void *stack, char *name);
+__native sys_thread_exit(int status);
+
 #endif
