Index: kernel/generic/include/ipc/event.h
===================================================================
--- kernel/generic/include/ipc/event.h	(revision 933cadfdb63d0a16870db764880b5c144894e112)
+++ kernel/generic/include/ipc/event.h	(revision 4e1a2f5728a8d8230f270d6d76c28949e0a03065)
@@ -51,26 +51,29 @@
 	/** Counter. */
 	size_t counter;
+	/** Masked flag. */
+	bool masked;
 } event_t;
 
 extern void event_init(void);
-extern sysarg_t sys_event_subscribe(sysarg_t, sysarg_t);
-extern bool event_is_subscribed(event_type_t);
 extern void event_cleanup_answerbox(answerbox_t *);
 
-#define event_notify_0(e) \
-	event_notify((e), 0, 0, 0, 0, 0)
-#define event_notify_1(e, a1) \
-	event_notify((e), (a1), 0, 0, 0, 0)
-#define event_notify_2(e, a1, a2) \
-	event_notify((e), (a1), (a2), 0, 0, 0)
-#define event_notify_3(e, a1, a2, a3) \
-	event_notify((e), (a1), (a2), (a3), 0, 0)
-#define event_notify_4(e, a1, a2, a3, a4) \
-	event_notify((e), (a1), (a2), (a3), (a4), 0)
-#define event_notify_5(e, a1, a2, a3, a4, a5) \
-	event_notify((e), (a1), (a2), (a3), (a4), (a5))
+#define event_notify_0(e, m) \
+	event_notify((e), (m), 0, 0, 0, 0, 0)
+#define event_notify_1(e, m, a1) \
+	event_notify((e), (m), (a1), 0, 0, 0, 0)
+#define event_notify_2(e, m, a1, a2) \
+	event_notify((e), (m), (a1), (a2), 0, 0, 0)
+#define event_notify_3(e, m, a1, a2, a3) \
+	event_notify((e), (m), (a1), (a2), (a3), 0, 0)
+#define event_notify_4(e, m, a1, a2, a3, a4) \
+	event_notify((e), (m), (a1), (a2), (a3), (a4), 0)
+#define event_notify_5(e, m, a1, a2, a3, a4, a5) \
+	event_notify((e), (m), (a1), (a2), (a3), (a4), (a5))
 
-extern void event_notify(event_type_t, sysarg_t, sysarg_t, sysarg_t,
+extern int event_notify(event_type_t, bool, sysarg_t, sysarg_t, sysarg_t,
     sysarg_t, sysarg_t);
+
+extern sysarg_t sys_event_subscribe(sysarg_t, sysarg_t);
+extern sysarg_t sys_event_unmask(sysarg_t);
 
 #endif
Index: kernel/generic/include/ipc/event_types.h
===================================================================
--- kernel/generic/include/ipc/event_types.h	(revision 933cadfdb63d0a16870db764880b5c144894e112)
+++ kernel/generic/include/ipc/event_types.h	(revision 4e1a2f5728a8d8230f270d6d76c28949e0a03065)
@@ -39,5 +39,5 @@
 	/** New data available in kernel log */
 	EVENT_KLOG = 0,
-	/** Returning from kernel console to userspace */
+	/** Returning from kernel console to uspace */
 	EVENT_KCONSOLE,
 	/** A task/thread has faulted and will be terminated */
Index: kernel/generic/include/syscall/syscall.h
===================================================================
--- kernel/generic/include/syscall/syscall.h	(revision 933cadfdb63d0a16870db764880b5c144894e112)
+++ kernel/generic/include/syscall/syscall.h	(revision 4e1a2f5728a8d8230f270d6d76c28949e0a03065)
@@ -75,4 +75,5 @@
 	
 	SYS_EVENT_SUBSCRIBE,
+	SYS_EVENT_UNMASK,
 	
 	SYS_CAP_GRANT,
