Index: generic/include/ipc/ipc.h
===================================================================
--- generic/include/ipc/ipc.h	(revision d9e11ff2ca99628fcd951c1b400d7056854f195b)
+++ generic/include/ipc/ipc.h	(revision 51cc6bf60f243d22f24cb12000f1c11e6b5fee13)
@@ -33,4 +33,7 @@
 /* - the uspace may not be able to utilize full length */
 #define IPC_CALL_LEN    4
+
+/** Maximum active async calls per thread */
+#define IPC_MAX_ASYNC_CALLS  4
 
 /* Flags for calls */
Index: generic/include/proc/task.h
===================================================================
--- generic/include/proc/task.h	(revision d9e11ff2ca99628fcd951c1b400d7056854f195b)
+++ generic/include/proc/task.h	(revision 51cc6bf60f243d22f24cb12000f1c11e6b5fee13)
@@ -41,6 +41,8 @@
 	link_t tasks_link;	/**< Link to other tasks within the system. */
 	as_t *as;		/**< Address space. */
+	/* IPC stuff */
 	answerbox_t answerbox;  /**< Communication endpoint */
 	phone_t phones[IPC_MAX_PHONES];
+	atomic_t active_calls;  /**< Active asynchronous messages */
 };
 
Index: generic/include/syscall/syscall.h
===================================================================
--- generic/include/syscall/syscall.h	(revision d9e11ff2ca99628fcd951c1b400d7056854f195b)
+++ generic/include/syscall/syscall.h	(revision 51cc6bf60f243d22f24cb12000f1c11e6b5fee13)
@@ -34,6 +34,7 @@
 	SYS_IO,
 	SYS_MREMAP,
+	SYS_IPC_CALL_SYNC_FAST,
 	SYS_IPC_CALL_SYNC,
-	SYS_IPC_CALL_SYNC_MEDIUM,
+	SYS_IPC_CALL_ASYNC_FAST,
 	SYS_IPC_CALL_ASYNC,
 	SYS_IPC_ANSWER,
