Index: kernel/generic/include/ipc/ipc.h
===================================================================
--- kernel/generic/include/ipc/ipc.h	(revision e5f5ce03f9fc114c279f31bd164daf4e6dd8425e)
+++ kernel/generic/include/ipc/ipc.h	(revision 48bcf4941bbfdcd0432cdae89d208c3fd44aecf5)
@@ -43,4 +43,5 @@
 #include <typedefs.h>
 #include <mm/slab.h>
+#include <cap/cap.h>
 
 struct answerbox;
@@ -61,5 +62,5 @@
 
 /** Structure identifying phone (in TASK structure) */
-typedef struct {
+typedef struct phone {
 	mutex_t lock;
 	link_t link;
@@ -68,4 +69,5 @@
 	ipc_phone_state_t state;
 	atomic_t active_calls;
+	kobject_t *kobject;
 } phone_t;
 
Index: kernel/generic/include/ipc/ipcrsc.h
===================================================================
--- kernel/generic/include/ipc/ipcrsc.h	(revision e5f5ce03f9fc114c279f31bd164daf4e6dd8425e)
+++ kernel/generic/include/ipc/ipcrsc.h	(revision 48bcf4941bbfdcd0432cdae89d208c3fd44aecf5)
@@ -38,11 +38,10 @@
 #include <proc/task.h>
 #include <ipc/ipc.h>
+#include <cap/cap.h>
 
 extern call_t *get_call(sysarg_t);
-extern phone_t *phone_get_current(int);
-extern phone_t *phone_get(task_t *, int);
-extern int phone_alloc(task_t *);
-extern bool phone_connect(int, answerbox_t *);
-extern void phone_dealloc(int);
+extern cap_handle_t phone_alloc(task_t *);
+extern bool phone_connect(cap_handle_t, answerbox_t *);
+extern void phone_dealloc(cap_handle_t);
 
 #endif
