Index: uspace/srv/net/tcp/sock.c
===================================================================
--- uspace/srv/net/tcp/sock.c	(revision 0d520a20c421e167bdbda18118a803c689ad9fd2)
+++ uspace/srv/net/tcp/sock.c	(revision ee04c2832455ef7dfdea71dd33d357bf840bc595)
@@ -42,5 +42,4 @@
 #include <ipc/services.h>
 #include <ipc/socket.h>
-#include <net/modules.h>
 #include <net/socket.h>
 #include <ns.h>
@@ -144,10 +143,11 @@
 	sock->sock_core = sock_core;
 
-	refresh_answer(&answer, NULL);
 	SOCKET_SET_SOCKET_ID(answer, sock_id);
 
 	SOCKET_SET_DATA_FRAGMENT_SIZE(answer, FRAGMENT_SIZE);
 	SOCKET_SET_HEADER_SIZE(answer, sizeof(tcp_header_t));
-	answer_call(callid, EOK, &answer, 3);
+	
+	async_answer_3(callid, EOK, IPC_GET_ARG1(answer),
+	    IPC_GET_ARG2(answer), IPC_GET_ARG3(answer));
 }
 
@@ -468,12 +468,12 @@
 	assert(asock_core != NULL);
 
-	refresh_answer(&answer, NULL);
-
 	SOCKET_SET_DATA_FRAGMENT_SIZE(answer, FRAGMENT_SIZE);
 	SOCKET_SET_SOCKET_ID(answer, asock_id);
 	SOCKET_SET_ADDRESS_LENGTH(answer, sizeof(struct sockaddr_in));
-
-	answer_call(callid, asock_core->socket_id, &answer, 3);
-
+	
+	async_answer_3(callid, asock_core->socket_id,
+	    IPC_GET_ARG1(answer), IPC_GET_ARG2(answer),
+	    IPC_GET_ARG3(answer));
+	
 	/* Push one fragment notification to client's queue */
 	log_msg(LVL_DEBUG, "tcp_sock_accept(): notify data\n");
@@ -559,7 +559,8 @@
 	}
 
-	refresh_answer(&answer, NULL);
+	IPC_SET_ARG1(answer, 0);
 	SOCKET_SET_DATA_FRAGMENT_SIZE(answer, FRAGMENT_SIZE);
-	answer_call(callid, EOK, &answer, 2);
+	async_answer_2(callid, EOK, IPC_GET_ARG1(answer),
+	    IPC_GET_ARG2(answer));
 	fibril_mutex_unlock(&socket->lock);
 }
@@ -679,6 +680,6 @@
 
 	SOCKET_SET_READ_DATA_LENGTH(answer, length);
-	answer_call(callid, EOK, &answer, 1);
-
+	async_answer_1(callid, EOK, IPC_GET_ARG1(answer));
+	
 	/* Push one fragment notification to client's queue */
 	tcp_sock_notify_data(sock_core);
