Index: generic/include/ipc/irq.h
===================================================================
--- generic/include/ipc/irq.h	(revision d8f7362433d8362e6786d4323938f5439281167a)
+++ generic/include/ipc/irq.h	(revision 3dcb108fa81dd39d274ae7339bba28b1d40d02e2)
@@ -30,5 +30,11 @@
 #define __IRQ_H__
 
+/** Maximum length of IPC IRQ program */
 #define IRQ_MAX_PROG_SIZE 10
+
+/** Reserved 'virtual' messages for kernel notifications */
+#define IPC_IRQ_RESERVED_VIRTUAL 10
+
+#define IPC_IRQ_KLOG  (-1)
 
 typedef enum {
@@ -60,7 +66,10 @@
 #ifdef KERNEL
 
+#include <ipc/ipc.h>
+
 extern void ipc_irq_make_table(int irqcount);
 extern int ipc_irq_register(answerbox_t *box, int irq, irq_code_t *ucode);
 extern void ipc_irq_send_notif(int irq);
+extern void ipc_irq_send_msg(int irq, __native a2, __native a3);
 extern void ipc_irq_unregister(answerbox_t *box, int irq);
 extern void irq_ipc_bind_arch(__native irq);
Index: generic/include/ipc/sysipc.h
===================================================================
--- generic/include/ipc/sysipc.h	(revision d8f7362433d8362e6786d4323938f5439281167a)
+++ generic/include/ipc/sysipc.h	(revision 3dcb108fa81dd39d274ae7339bba28b1d40d02e2)
@@ -48,6 +48,6 @@
 			      __native method, __native arg1);
 __native sys_ipc_hangup(int phoneid);
-__native sys_ipc_register_irq(__native irq, irq_code_t *ucode);
-__native sys_ipc_unregister_irq(__native irq);
+__native sys_ipc_register_irq(int irq, irq_code_t *ucode);
+__native sys_ipc_unregister_irq(int irq);
 
 #endif
