Index: uspace/lib/c/include/device/nic.h
===================================================================
--- uspace/lib/c/include/device/nic.h	(revision 77a69ea2b4d9de163884f75870b8a88e2f717139)
+++ uspace/lib/c/include/device/nic.h	(revision 8d7ec69d8e6ebbc57c70b70b6ed09ed1b8ceba0c)
@@ -39,9 +39,10 @@
 #include <net/device.h>
 #include <net/packet.h>
+#include <ipc/common.h>
 #include <ipc/services.h>
 
 typedef enum {
 	NIC_SEND_MESSAGE = 0,
-	NIC_CONNECT_TO_NIL,
+	NIC_CALLBACK_CREATE,
 	NIC_GET_STATE,
 	NIC_SET_STATE,
@@ -85,6 +86,13 @@
 } nic_funcs_t;
 
+typedef enum {
+	NIC_EV_ADDR_CHANGED = IPC_FIRST_USER_METHOD,
+	NIC_EV_RECEIVED,
+	NIC_EV_DEVICE_STATE
+} nic_event_t;
+
 extern int nic_send_frame(async_sess_t *, void *, size_t);
-extern int nic_connect_to_nil(async_sess_t *, services_t, nic_device_id_t);
+extern int nic_callback_create(async_sess_t *, nic_device_id_t,
+    async_client_conn_t, void *);
 extern int nic_get_state(async_sess_t *, nic_device_state_t *);
 extern int nic_set_state(async_sess_t *, nic_device_state_t);
Index: uspace/lib/c/include/ipc/nil.h
===================================================================
--- uspace/lib/c/include/ipc/nil.h	(revision 77a69ea2b4d9de163884f75870b8a88e2f717139)
+++ uspace/lib/c/include/ipc/nil.h	(revision 8d7ec69d8e6ebbc57c70b70b6ed09ed1b8ceba0c)
@@ -46,12 +46,4 @@
 	 */
 	NET_NIL_DEVICE = NET_NIL_FIRST,
-	/** New device state message.
-	 * @see nil_device_state_msg()
-	 */
-	NET_NIL_DEVICE_STATE,
-	/** Received packet queue message.
-	 * @see nil_received_msg()
-	 */
-	NET_NIL_RECEIVED,
 	/** Send packet queue message.
 	 * @see nil_send_msg()
@@ -69,9 +61,5 @@
 	 * @see nil_get_broadcast_addr()
 	 */
-	NET_NIL_BROADCAST_ADDR,
-	/** Device has changed address
-	 * @see nil_addr_changed_msg()
-	 */
-	NET_NIL_ADDR_CHANGED
+	NET_NIL_BROADCAST_ADDR
 } nil_messages;
 
