Index: kernel/generic/include/proc/task.h
===================================================================
--- kernel/generic/include/proc/task.h	(revision 831a04d0773940f7587dff16f2f8addd800d3810)
+++ kernel/generic/include/proc/task.h	(revision fa8e7d2eafc95dcfd4435b0ca55cbfb76b7b11b5)
@@ -37,4 +37,5 @@
 
 #include <cpu.h>
+#include <ipc/ipc.h>
 #include <synch/spinlock.h>
 #include <synch/mutex.h>
@@ -52,44 +53,5 @@
 #include <proc/scheduler.h>
 
-#define IPC_MAX_PHONES  16
-
-struct answerbox;
-struct task;
 struct thread;
-
-typedef enum {
-	IPC_PHONE_FREE = 0,     /**< Phone is free and can be allocated */
-	IPC_PHONE_CONNECTING,   /**< Phone is connecting somewhere */
-	IPC_PHONE_CONNECTED,    /**< Phone is connected */
-	IPC_PHONE_HUNGUP,  	/**< Phone is hung up, waiting for answers to come */
-	IPC_PHONE_SLAMMED       /**< Phone was hungup from server */
-} ipc_phone_state_t;
-
-/** Structure identifying phone (in TASK structure) */
-typedef struct {
-	SPINLOCK_DECLARE(lock);
-	link_t link;
-	struct answerbox *callee;
-	ipc_phone_state_t state;
-	atomic_t active_calls;
-} phone_t;
-
-typedef struct answerbox {
-	SPINLOCK_DECLARE(lock);
-
-	struct task *task;
-
-	waitq_t wq;
-
-	link_t connected_phones;	/**< Phones connected to this answerbox */
-	link_t calls;			/**< Received calls */
-	link_t dispatched_calls;	/* Should be hash table in the future */
-
-	link_t answers;			/**< Answered calls */
-
-	SPINLOCK_DECLARE(irq_lock);
-	link_t irq_notifs;       	/**< Notifications from IRQ handlers */
-	link_t irq_head;		/**< IRQs with notifications to this answerbox. */
-} answerbox_t;
 
 /** Task structure. */
