Index: uspace/lib/libc/include/ipc/ipc.h
===================================================================
--- uspace/lib/libc/include/ipc/ipc.h	(revision 4d21cf8018c22aea36d3bffe12b2b30aad54c593)
+++ uspace/lib/libc/include/ipc/ipc.h	(revision 20614d08459f4a901de67ae98ec4a4c72e32092a)
@@ -53,6 +53,6 @@
 
 #define ipc_call_sync_2(phoneid, method, arg1, arg2, res1, res2) \
-	ipc_call_sync_3((phoneid), (method), (arg1), (arg2), 0, (res1), (res2), \
-	    0)
+	ipc_call_sync_3((phoneid), (method), (arg1), (arg2), 0, (res1), \
+	    (res2), 0)
 extern int ipc_call_sync_3(int phoneid, ipcarg_t method, ipcarg_t arg1,
     ipcarg_t arg2, ipcarg_t arg3, ipcarg_t *result1, ipcarg_t *result2,
@@ -70,4 +70,8 @@
 extern ipc_callid_t ipc_trywait_for_call(ipc_call_t *data);
 
+#define ipc_answer_fast_0(callid, retval) \
+	ipc_answer_fast((callid), (retval), 0, 0)
+#define ipc_answer_fast_1(callid, retval, arg1) \
+	ipc_answer_fast((callid), (retval), (arg1), 0)
 extern ipcarg_t ipc_answer_fast(ipc_callid_t callid, ipcarg_t retval,
     ipcarg_t arg1, ipcarg_t arg2);
Index: uspace/srv/fs/fat/fat.c
===================================================================
--- uspace/srv/fs/fat/fat.c	(revision 4d21cf8018c22aea36d3bffe12b2b30aad54c593)
+++ uspace/srv/fs/fat/fat.c	(revision 20614d08459f4a901de67ae98ec4a4c72e32092a)
@@ -94,5 +94,5 @@
 		 * created by IPC_M_CONNECT_TO_ME.
 		 */
-		ipc_answer_fast(iid, EOK, 0, 0);
+		ipc_answer_fast_0(iid, EOK);
 	}
 	
@@ -105,5 +105,5 @@
 		switch  (IPC_GET_METHOD(call)) {
 		default:
-			ipc_answer_fast(callid, ENOTSUP, 0, 0);
+			ipc_answer_fast_0(callid, ENOTSUP);
 			break;
 		}
Index: uspace/srv/ns/ns.c
===================================================================
--- uspace/srv/ns/ns.c	(revision 4d21cf8018c22aea36d3bffe12b2b30aad54c593)
+++ uspace/srv/ns/ns.c	(revision 20614d08459f4a901de67ae98ec4a4c72e32092a)
@@ -93,11 +93,12 @@
 		ph_addr = (void *) sysinfo_value(name);
 		if (!ph_addr) {
-			ipc_answer_fast(callid, ENOENT, 0, 0);
+			ipc_answer_fast_0(callid, ENOENT);
 			return;
 		}
 		*addr = as_get_mappable_page(PAGE_SIZE);
-		physmem_map(ph_addr, *addr, 1, AS_AREA_READ | AS_AREA_CACHEABLE);
-	}
-	ipc_answer_fast(callid, 0, (ipcarg_t) *addr, AS_AREA_READ);
+		physmem_map(ph_addr, *addr, 1,
+		    AS_AREA_READ | AS_AREA_CACHEABLE);
+	}
+	ipc_answer_fast(callid, EOK, (ipcarg_t) *addr, AS_AREA_READ);
 }
 
@@ -128,9 +129,9 @@
 				break;
 			default:
-				ipc_answer_fast(callid, ENOENT, 0, 0);
+				ipc_answer_fast_0(callid, ENOENT);
 			}
 			continue;
 		case IPC_M_PHONE_HUNGUP:
-			retval = 0;
+			retval = EOK;
 			break;
 		case IPC_M_CONNECT_TO_ME:
@@ -153,5 +154,5 @@
 		}
 		if (!(callid & IPC_CALLID_NOTIFICATION)) {
-			ipc_answer_fast(callid, retval, 0, 0);
+			ipc_answer_fast_0(callid, retval);
 		}
 	}
Index: uspace/srv/vfs/vfs.c
===================================================================
--- uspace/srv/vfs/vfs.c	(revision 4d21cf8018c22aea36d3bffe12b2b30aad54c593)
+++ uspace/srv/vfs/vfs.c	(revision 20614d08459f4a901de67ae98ec4a4c72e32092a)
@@ -60,5 +60,5 @@
 	 */
 	if (!vfs_conn_open_files_init()) {
-		ipc_answer_fast(iid, ENOMEM, 0, 0);
+		ipc_answer_fast_0(iid, ENOMEM);
 		return;
 	}
@@ -68,5 +68,5 @@
 	 * This call needs to be answered.
 	 */
-	ipc_answer_fast(iid, EOK, 0, 0);
+	ipc_answer_fast_0(iid, EOK);
 
 	/*
@@ -105,5 +105,5 @@
 		case VFS_SEEK:
 		default:
-			ipc_answer_fast(callid, ENOTSUP, 0, 0);
+			ipc_answer_fast_0(callid, ENOTSUP);
 			break;
 		}
Index: uspace/srv/vfs/vfs_mount.c
===================================================================
--- uspace/srv/vfs/vfs_mount.c	(revision 4d21cf8018c22aea36d3bffe12b2b30aad54c593)
+++ uspace/srv/vfs/vfs_mount.c	(revision 20614d08459f4a901de67ae98ec4a4c72e32092a)
@@ -87,6 +87,6 @@
 	size_t size;
 	if (!ipc_data_receive(&callid, &call, NULL, &size)) {
-		ipc_answer_fast(callid, EINVAL, 0, 0);
-		ipc_answer_fast(rid, EINVAL, 0, 0);
+		ipc_answer_fast_0(callid, EINVAL);
+		ipc_answer_fast_0(rid, EINVAL);
 		return;
 	}
@@ -99,6 +99,6 @@
 	if ((size < FS_NAME_MAXLEN + 1) ||
 	    (size > FS_NAME_MAXLEN + MAX_PATH_LEN)) {
-		ipc_answer_fast(callid, EINVAL, 0, 0);
-		ipc_answer_fast(rid, EINVAL, 0, 0);
+		ipc_answer_fast_0(callid, EINVAL);
+		ipc_answer_fast_0(rid, EINVAL);
 		return;
 	}
@@ -110,6 +110,6 @@
 	buf = malloc(size);
 	if (!buf) {
-		ipc_answer_fast(callid, ENOMEM, 0, 0);
-		ipc_answer_fast(rid, ENOMEM, 0, 0);
+		ipc_answer_fast_0(callid, ENOMEM);
+		ipc_answer_fast_0(rid, ENOMEM);
 		return;
 	}
@@ -131,5 +131,5 @@
 	if (!fs_handle) {
 		free(buf);
-		ipc_answer_fast(rid, ENOENT, 0, 0);
+		ipc_answer_fast_0(rid, ENOENT);
 		return;
 	}
@@ -143,5 +143,5 @@
 	if (rc != EOK) {
 		free(buf);
-		ipc_answer_fast(rid, rc, 0, 0);
+		ipc_answer_fast_0(rid, rc);
 		return;
 	}
@@ -164,5 +164,5 @@
 			futex_up(&rootfs_futex);
 			free(buf);
-			ipc_answer_fast(rid, rc, 0, 0);
+			ipc_answer_fast_0(rid, rc);
 			return;
 		}
@@ -179,5 +179,5 @@
 			futex_up(&rootfs_futex);
 			free(buf);
-			ipc_answer_fast(rid, EOK, 0, 0);
+			ipc_answer_fast_0(rid, EOK);
 			return;
 		} else {
@@ -188,5 +188,5 @@
 			futex_up(&rootfs_futex);
 			free(buf);
-			ipc_answer_fast(rid, ENOENT, 0, 0);
+			ipc_answer_fast_0(rid, ENOENT);
 			return;
 		}
@@ -219,9 +219,9 @@
 
 	if (rc2 == EOK)
-		ipc_answer_fast(rid, rc1, 0, 0);
+		ipc_answer_fast_0(rid, rc1);
 	else if (rc1 == EOK)
-		ipc_answer_fast(rid, rc2, 0, 0);
+		ipc_answer_fast_0(rid, rc2);
 	else
-		ipc_answer_fast(rid, rc1, 0, 0);
+		ipc_answer_fast_0(rid, rc1);
 }
 
Index: uspace/srv/vfs/vfs_register.c
===================================================================
--- uspace/srv/vfs/vfs_register.c	(revision 4d21cf8018c22aea36d3bffe12b2b30aad54c593)
+++ uspace/srv/vfs/vfs_register.c	(revision 20614d08459f4a901de67ae98ec4a4c72e32092a)
@@ -160,6 +160,6 @@
 		 */
 		dprintf("Receiving of VFS info failed.\n");
-		ipc_answer_fast(callid, EINVAL, 0, 0);
-		ipc_answer_fast(rid, EINVAL, 0, 0);
+		ipc_answer_fast_0(callid, EINVAL);
+		ipc_answer_fast_0(rid, EINVAL);
 		return;
 	}
@@ -177,6 +177,6 @@
 		 */
 		dprintf("Received VFS info has bad size.\n");
-		ipc_answer_fast(callid, EINVAL, 0, 0);
-		ipc_answer_fast(rid, EINVAL, 0, 0);
+		ipc_answer_fast_0(callid, EINVAL);
+		ipc_answer_fast_0(rid, EINVAL);
 		return;
 	}
@@ -189,6 +189,6 @@
 	if (!fs_info) {
 		dprintf("Could not allocate memory for FS info.\n");
-		ipc_answer_fast(callid, ENOMEM, 0, 0);
-		ipc_answer_fast(rid, ENOMEM, 0, 0);
+		ipc_answer_fast_0(callid, ENOMEM);
+		ipc_answer_fast_0(rid, ENOMEM);
 		return;
 	}
@@ -200,6 +200,6 @@
 		    rc);
 		free(fs_info);
-		ipc_answer_fast(callid, rc, 0, 0);
-		ipc_answer_fast(rid, rc, 0, 0);
+		ipc_answer_fast_0(callid, rc);
+		ipc_answer_fast_0(rid, rc);
 		return;
 	}
@@ -209,6 +209,6 @@
 	if (!vfs_info_sane(&fs_info->vfs_info)) {
 		free(fs_info);
-		ipc_answer_fast(callid, EINVAL, 0, 0);
-		ipc_answer_fast(rid, EINVAL, 0, 0);
+		ipc_answer_fast_0(callid, EINVAL);
+		ipc_answer_fast_0(rid, EINVAL);
 		return;
 	}
@@ -226,6 +226,6 @@
 		futex_up(&fs_head_futex);
 		free(fs_info);
-		ipc_answer_fast(callid, EEXISTS, 0, 0);
-		ipc_answer_fast(rid, EEXISTS, 0, 0);
+		ipc_answer_fast_0(callid, EEXISTS);
+		ipc_answer_fast_0(rid, EEXISTS);
 		return;
 	}
@@ -248,10 +248,10 @@
 		futex_up(&fs_head_futex);
 		free(fs_info);
-		ipc_answer_fast(callid, EINVAL, 0, 0);
-		ipc_answer_fast(rid, EINVAL, 0, 0);
+		ipc_answer_fast_0(callid, EINVAL);
+		ipc_answer_fast_0(rid, EINVAL);
 		return;
 	}
 	fs_info->phone = IPC_GET_ARG3(call);
-	ipc_answer_fast(callid, EOK, 0, 0);
+	ipc_answer_fast_0(callid, EOK);
 
 	dprintf("Callback connection to FS created.\n");
@@ -267,6 +267,6 @@
 		ipc_hangup(fs_info->phone);
 		free(fs_info);
-		ipc_answer_fast(callid, EINVAL, 0, 0);
-		ipc_answer_fast(rid, EINVAL, 0, 0);
+		ipc_answer_fast_0(callid, EINVAL);
+		ipc_answer_fast_0(rid, EINVAL);
 		return;
 	}
@@ -282,6 +282,6 @@
 		ipc_hangup(fs_info->phone);
 		free(fs_info);
-		ipc_answer_fast(callid, EINVAL, 0, 0);
-		ipc_answer_fast(rid, EINVAL, 0, 0);
+		ipc_answer_fast_0(callid, EINVAL);
+		ipc_answer_fast_0(rid, EINVAL);
 		return;
 	}
@@ -301,5 +301,5 @@
 	 */
 	fs_info->fs_handle = (int) atomic_postinc(&fs_handle_next);
-	ipc_answer_fast(rid, EOK, (ipcarg_t) fs_info->fs_handle, 0);
+	ipc_answer_fast_1(rid, EOK, (ipcarg_t) fs_info->fs_handle);
 	
 	futex_up(&fs_head_futex);
