Index: uspace/lib/c/generic/net/modules.c
===================================================================
--- uspace/lib/c/generic/net/modules.c	(revision 622dea83a1bf05d07d10fd5756c5f5757a2f4b12)
+++ uspace/lib/c/generic/net/modules.c	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -32,5 +32,5 @@
 
 /** @file
- * Generic module functions implementation. 
+ * Generic module functions implementation.
  *
  * @todo MAKE IT POSSIBLE TO REMOVE THIS FILE VIA EITHER REPLACING PART OF ITS
@@ -52,18 +52,18 @@
 #define MODULE_WAIT_TIME	(10 * 1000)
 
-/** Answers the call.
- *
- * @param[in] callid	The call identifier.
- * @param[in] result	The message processing result.
- * @param[in] answer	The message processing answer.
- * @param[in] answer_count The number of answer parameters.
- */
-void
-answer_call(ipc_callid_t callid, int result, ipc_call_t *answer,
-    int answer_count)
-{
-	/* Choose the most efficient answer function */
-	if (answer || (!answer_count)) {
-		switch (answer_count) {
+/** Answer a call.
+ *
+ * @param[in] callid Call identifier.
+ * @param[in] result Message processing result.
+ * @param[in] answer Message processing answer.
+ * @param[in] count  Number of answer parameters.
+ *
+ */
+void answer_call(ipc_callid_t callid, int result, ipc_call_t *answer,
+    size_t count)
+{
+	/* Choose the most efficient function */
+	if ((answer != NULL) || (count == 0)) {
+		switch (count) {
 		case 0:
 			ipc_answer_0(callid, (sysarg_t) result);
@@ -228,19 +228,19 @@
 }
 
-/** Refreshes answer structure and parameters count.
- *
- * Erases all attributes.
- *
- * @param[in,out] answer The message processing answer structure.
- * @param[in,out] answer_count The number of answer parameters.
- */
-void refresh_answer(ipc_call_t *answer, int *answer_count)
-{
-	if (answer_count)
-		*answer_count = 0;
-
-	if (answer) {
+/** Refresh answer structure and argument count.
+ *
+ * Erase all arguments.
+ *
+ * @param[in,out] answer Message processing answer structure.
+ * @param[in,out] count  Number of answer arguments.
+ *
+ */
+void refresh_answer(ipc_call_t *answer, size_t *count)
+{
+	if (count != NULL)
+		*count = 0;
+	
+	if (answer != NULL) {
 		IPC_SET_RETVAL(*answer, 0);
-		/* Just to be precise */
 		IPC_SET_IMETHOD(*answer, 0);
 		IPC_SET_ARG1(*answer, 0);
Index: uspace/lib/c/include/ipc/arp.h
===================================================================
--- uspace/lib/c/include/ipc/arp.h	(revision 622dea83a1bf05d07d10fd5756c5f5757a2f4b12)
+++ uspace/lib/c/include/ipc/arp.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -69,12 +69,10 @@
 /*@{*/
 
-/** Returns the protocol service message parameter.
- * @param[in] call The message call structure.
+/** Return the protocol service message parameter.
+ *
+ * @param[in] call Message call structure.
+ *
  */
-#define ARP_GET_NETIF(call) \
-	({ \
-		services_t service = (services_t) IPC_GET_ARG2(*call); \
-		service; \
-	})
+#define ARP_GET_NETIF(call) ((services_t) IPC_GET_ARG2(call))
 
 /*@}*/
Index: uspace/lib/c/include/ipc/icmp.h
===================================================================
--- uspace/lib/c/include/ipc/icmp.h	(revision 622dea83a1bf05d07d10fd5756c5f5757a2f4b12)
+++ uspace/lib/c/include/ipc/icmp.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -82,83 +82,58 @@
 /*@{*/
 
-/** Returns the ICMP code message parameter.
+/** Return the ICMP code message parameter.
  *
- * @param[in] call	The message call structure.
+ * @param[in] call Message call structure.
+ *
  */
-#define ICMP_GET_CODE(call) \
-	({ \
-		icmp_code_t code = (icmp_code_t) IPC_GET_ARG1(*call); \
-		code; \
-	})
+#define ICMP_GET_CODE(call)  ((icmp_code_t) IPC_GET_ARG1(call))
 
-/** Returns the ICMP link MTU message parameter.
+/** Return the ICMP link MTU message parameter.
  *
- * @param[in] call	The message call structure.
+ * @param[in] call Message call structure.
+ *
  */
-#define ICMP_GET_MTU(call) \
-	({ \
-		icmp_param_t mtu = (icmp_param_t) IPC_GET_ARG3(*call); \
-		mtu; \
-	})
+#define ICMP_GET_MTU(call)  ((icmp_param_t) IPC_GET_ARG3(call))
 
-/** Returns the pointer message parameter.
+/** Return the pointer message parameter.
  *
- * @param[in] call	The message call structure.
+ * @param[in] call Message call structure.
+ *
  */
-#define ICMP_GET_POINTER(call) \
-	({ \
-		icmp_param_t pointer = (icmp_param_t) IPC_GET_ARG3(*call); \
-		pointer; \
-	})
+#define ICMP_GET_POINTER(call)  ((icmp_param_t) IPC_GET_ARG3(call))
 
-/** Returns the size message parameter.
+/** Return the size message parameter.
  *
- * @param[in] call	The message call structure.
+ * @param[in] call Message call structure.
+ *
  */
-#define ICMP_GET_SIZE(call) \
-	({ \
-		size_t size = (size_t) IPC_GET_ARG1(call); \
-		size; \
-	})
+#define ICMP_GET_SIZE(call)  ((size_t) IPC_GET_ARG1(call))
 
-/** Returns the timeout message parameter.
+/** Return the timeout message parameter.
  *
- * @param[in] call	The message call structure.
+ * @param[in] call Message call structure.
+ *
  */
-#define ICMP_GET_TIMEOUT(call) \
-	({ \
-		suseconds_t timeout = (suseconds_t) IPC_GET_ARG2(call); \
-		timeout; \
-	})
+#define ICMP_GET_TIMEOUT(call)  ((suseconds_t) IPC_GET_ARG2(call))
 
-/** Returns the time to live message parameter.
+/** Return the time to live message parameter.
  *
- * @param[in] call	The message call structure.
+ * @param[in] call Message call structure.
+ *
  */
-#define ICMP_GET_TTL(call) \
-	({ \
-		ip_ttl_t ttl = (ip_ttl_t) IPC_GET_ARG3(call); \
-		ttl; \
-	})
+#define ICMP_GET_TTL(call)  ((ip_ttl_t) IPC_GET_ARG3(call))
 
-/** Returns the type of service message parameter.
+/** Return the type of service message parameter.
  *
- * @param[in] call	The message call structure.
+ * @param[in] call Message call structure.
+ *
  */
-#define ICMP_GET_TOS(call) \
-	({ \
-		ip_tos_t tos = (ip_tos_t) IPC_GET_ARG4(call); \
-		tos; \
-	})
+#define ICMP_GET_TOS(call)  ((ip_tos_t) IPC_GET_ARG4(call))
 
-/** Returns the dont fragment message parameter.
+/** Return the dont fragment message parameter.
  *
- * @param[in] call	The message call structure.
+ * @param[in] call Message call structure.
  */
-#define ICMP_GET_DONT_FRAGMENT(call) \
-	({ \
-		int dont_fragment = (int) IPC_GET_ARG5(call); \
-		dont_fragment; \
-	})
+#define ICMP_GET_DONT_FRAGMENT(call)  ((int) IPC_GET_ARG5(call))
 
 /*@}*/
Index: uspace/lib/c/include/ipc/il.h
===================================================================
--- uspace/lib/c/include/ipc/il.h	(revision 622dea83a1bf05d07d10fd5756c5f5757a2f4b12)
+++ uspace/lib/c/include/ipc/il.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -75,12 +75,16 @@
 
 /** Return the protocol number message parameter.
- * @param[in] call The message call structure.
+ *
+ * @param[in] call Message call structure.
+ *
  */
-#define IL_GET_PROTO(call)	(int) IPC_GET_ARG1(*call)
+#define IL_GET_PROTO(call)  ((int) IPC_GET_ARG1(call))
 
 /** Return the registering service message parameter.
- * @param[in] call The message call structure.
+ *
+ * @param[in] call Message call structure.
+ *
  */
-#define IL_GET_SERVICE(call)	(services_t) IPC_GET_ARG2(*call)
+#define IL_GET_SERVICE(call)  ((services_t) IPC_GET_ARG2(call))
 
 /*@}*/
Index: uspace/lib/c/include/ipc/ip.h
===================================================================
--- uspace/lib/c/include/ipc/ip.h	(revision 622dea83a1bf05d07d10fd5756c5f5757a2f4b12)
+++ uspace/lib/c/include/ipc/ip.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -51,12 +51,15 @@
 	 */
 	NET_IP_ADD_ROUTE = NET_IP_FIRST,
+	
 	/** Gets the actual route information.
 	 * @see ip_get_route()
 	 */
 	NET_IP_GET_ROUTE,
+	
 	/** Processes the received error notification.
 	 * @see ip_received_error_msg()
 	 */
 	NET_IP_RECEIVED_ERROR,
+	
 	/** Sets the default gateway.
 	 * @see ip_set_default_gateway()
@@ -68,51 +71,53 @@
 /*@{*/
 
-/** Returns the address message parameter.
- * @param[in] call The message call structure.
+/** Return the address message parameter.
+ *
+ * @param[in] call Message call structure.
+ *
  */
 #define IP_GET_ADDRESS(call) \
 	({ \
 		in_addr_t addr; \
-		addr.s_addr = IPC_GET_ARG3(*call); \
+		addr.s_addr = IPC_GET_ARG3(call); \
 		addr; \
 	})
 
-/** Returns the gateway message parameter.
- * @param[in] call The message call structure.
+/** Return the gateway message parameter.
+ *
+ * @param[in] call Message call structure.
+ *
  */
 #define IP_GET_GATEWAY(call) \
 	({ \
 		in_addr_t addr; \
-		addr.s_addr = IPC_GET_ARG2(*call); \
+		addr.s_addr = IPC_GET_ARG2(call); \
 		addr; \
 	})
 
-/** Sets the header length in the message answer.
- * @param[out] answer The message answer structure.
+/** Set the header length in the message answer.
+ *
+ * @param[out] answer Message answer structure.
+ *
  */
-#define IP_SET_HEADERLEN(answer, value) \
-	do { \
-		sysarg_t argument = (sysarg_t) (value); \
-		IPC_SET_ARG2(*answer, argument); \
-	} while (0)
+#define IP_SET_HEADERLEN(answer, value)  IPC_SET_ARG2(answer, (sysarg_t) (value))
 
-/** Returns the network mask message parameter.
- * @param[in] call The message call structure.
+/** Return the network mask message parameter.
+ *
+ * @param[in] call Message call structure.
+ *
  */
 #define IP_GET_NETMASK(call) \
 	({ \
 		in_addr_t addr; \
-		addr.s_addr = IPC_GET_ARG4(*call); \
+		addr.s_addr = IPC_GET_ARG4(call); \
 		addr; \
 	})
 
-/** Returns the protocol message parameter.
- * @param[in] call The message call structure.
+/** Return the protocol message parameter.
+ *
+ * @param[in] call Message call structure.
+ *
  */
-#define IP_GET_PROTOCOL(call) \
-	({ \
-		ip_protocol_t protocol = (ip_protocol_t) IPC_GET_ARG1(*call); \
-		protocol; \
-	})
+#define IP_GET_PROTOCOL(call)  ((ip_protocol_t) IPC_GET_ARG1(call))
 
 /*@}*/
Index: uspace/lib/c/include/ipc/net.h
===================================================================
--- uspace/lib/c/include/ipc/net.h	(revision 622dea83a1bf05d07d10fd5756c5f5757a2f4b12)
+++ uspace/lib/c/include/ipc/net.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -44,8 +44,10 @@
 #include <net/packet.h>
 
-/** Returns a value indicating whether the value is in the interval.
- * @param[in] item	The value to be checked.
- * @param[in] first_inclusive The first value in the interval inclusive.
- * @param[in] last_exclusive The first value after the interval.
+/** Return a value indicating whether the value is in the interval.
+ *
+ * @param[in] item            Value to be checked.
+ * @param[in] first_inclusive First value in the interval inclusive.
+ * @param[in] last_exclusive  First value after the interval.
+ *
  */
 #define IS_IN_INTERVAL(item, first_inclusive, last_exclusive) \
@@ -55,42 +57,17 @@
 /*@{*/
 
-/** The number of ARP messages. */
-#define NET_ARP_COUNT		5
-
-/** The number of Ethernet messages. */
-#define NET_ETH_COUNT		0
-
-/** The number of ICMP messages. */
-#define NET_ICMP_COUNT		6
-
-/** The number of inter-network messages. */
-#define NET_IL_COUNT		6
-
-/** The number of IP messages. */
-#define NET_IP_COUNT		4
-
-/** The number of general networking messages. */
-#define NET_NET_COUNT		3
-
-/** The number of network interface driver messages. */
-#define NET_NETIF_COUNT		6
-
-/** The number of network interface layer messages. */
-#define NET_NIL_COUNT		7
-
-/** The number of packet management system messages. */
-#define NET_PACKET_COUNT	5
-
-/** The number of socket messages. */
-#define NET_SOCKET_COUNT	14
-
-/** The number of TCP messages. */
-#define NET_TCP_COUNT		0
-
-/** The number of transport layer messages. */
-#define NET_TL_COUNT		1
-
-/** The number of UDP messages. */
-#define NET_UDP_COUNT		0
+#define NET_ARP_COUNT     5   /**< Number of ARP messages. */
+#define NET_ETH_COUNT     0   /**< Number of Ethernet messages. */
+#define NET_ICMP_COUNT    6   /**< Number of ICMP messages. */
+#define NET_IL_COUNT      6   /**< Number of inter-network messages. */
+#define NET_IP_COUNT      4   /**< Number of IP messages. */
+#define NET_NET_COUNT     3   /**< Number of general networking messages. */
+#define NET_NETIF_COUNT   6   /**< Number of network interface driver messages. */
+#define NET_NIL_COUNT     7   /**< Number of network interface layer messages. */
+#define NET_PACKET_COUNT  5   /**< Number of packet management system messages. */
+#define NET_SOCKET_COUNT  14  /**< Number of socket messages. */
+#define NET_TCP_COUNT     0   /**< Number of TCP messages. */
+#define NET_TL_COUNT      1   /**< Number of transport layer messages. */
+#define NET_UDP_COUNT     0   /**< Number of UDP messages. */
 
 /*@}*/
@@ -100,173 +77,195 @@
 /*@{*/
 
-/** The first networking message. */
-#define NET_FIRST		2000
-
-/** The first network interface layer message. */
-#define NET_NETIF_FIRST		NET_FIRST
-
-/** The last network interface layer message. */
-#define NET_NETIF_LAST		(NET_NETIF_FIRST + NET_NETIF_COUNT)
-
-/** The first general networking message. */
-#define NET_NET_FIRST		(NET_NETIF_LAST + 0)
-
-/** The last general networking message. */
-#define NET_NET_LAST		(NET_NET_FIRST + NET_NET_COUNT)
-
-/** The first network interface layer message. */
-#define NET_NIL_FIRST		(NET_NET_LAST + 0)
-
-/** The last network interface layer message. */
-#define NET_NIL_LAST		(NET_NIL_FIRST + NET_NIL_COUNT)
-
-/** The first Ethernet message. */
-#define NET_ETH_FIRST		(NET_NIL_LAST + 0)
-
-/** The last Ethernet message. */
-#define NET_ETH_LAST		(NET_ETH_FIRST + NET_ETH_COUNT)
-
-/** The first inter-network message. */
-#define NET_IL_FIRST		(NET_ETH_LAST + 0)
-
-/** The last inter-network message. */
-#define NET_IL_LAST		(NET_IL_FIRST + NET_IL_COUNT)
-
-/** The first IP message. */
-#define NET_IP_FIRST		(NET_IL_LAST + 0)
-
-/** The last IP message. */
-#define NET_IP_LAST		(NET_IP_FIRST + NET_IP_COUNT)
-
-/** The first ARP message. */
-#define NET_ARP_FIRST		(NET_IP_LAST + 0)
-
-/** The last ARP message. */
-#define NET_ARP_LAST		(NET_ARP_FIRST + NET_ARP_COUNT)
-
-/** The first ICMP message. */
-#define NET_ICMP_FIRST		(NET_ARP_LAST + 0)
-
-/** The last ICMP message. */
-#define NET_ICMP_LAST		(NET_ICMP_FIRST + NET_ICMP_COUNT)
-
-/** The first ICMP message. */
-#define NET_TL_FIRST		(NET_ICMP_LAST + 0)
-
-/** The last ICMP message. */
-#define NET_TL_LAST		(NET_TL_FIRST + NET_TL_COUNT)
-
-/** The first UDP message. */
-#define NET_UDP_FIRST		(NET_TL_LAST + 0)
-
-/** The last UDP message. */
-#define NET_UDP_LAST		(NET_UDP_FIRST + NET_UDP_COUNT)
-
-/** The first TCP message. */
-#define NET_TCP_FIRST		(NET_UDP_LAST + 0)
-
-/** The last TCP message. */
-#define NET_TCP_LAST		(NET_TCP_FIRST + NET_TCP_COUNT)
-
-/** The first socket message. */
-#define NET_SOCKET_FIRST	(NET_TCP_LAST + 0)
-
-/** The last socket message. */
-#define NET_SOCKET_LAST		(NET_SOCKET_FIRST + NET_SOCKET_COUNT)
-
-/** The first packet management system message. */
-#define NET_PACKET_FIRST	(NET_SOCKET_LAST + 0)
-
-/** The last packet management system message. */
-#define NET_PACKET_LAST		(NET_PACKET_FIRST + NET_PACKET_COUNT)
-
-/** The last networking message. */
-#define NET_LAST		NET_PACKET_LAST
-
-/** The number of networking messages. */
-#define NET_COUNT		(NET_LAST - NET_FIRST)
-
-/** Returns a value indicating whether the IPC call is a generic networking
- * message.
- * @param[in] call The IPC call to be checked.
+
+/** First networking message. */
+#define NET_FIRST  2000
+
+/** First network interface layer message. */
+#define NET_NETIF_FIRST  NET_FIRST
+
+/** Last network interface layer message. */
+#define NET_NETIF_LAST  (NET_NETIF_FIRST + NET_NETIF_COUNT)
+
+/** First general networking message. */
+#define NET_NET_FIRST  (NET_NETIF_LAST + 0)
+
+/** Last general networking message. */
+#define NET_NET_LAST  (NET_NET_FIRST + NET_NET_COUNT)
+
+/** First network interface layer message. */
+#define NET_NIL_FIRST  (NET_NET_LAST + 0)
+
+/** Last network interface layer message. */
+#define NET_NIL_LAST  (NET_NIL_FIRST + NET_NIL_COUNT)
+
+/** First Ethernet message. */
+#define NET_ETH_FIRST  (NET_NIL_LAST + 0)
+
+/** Last Ethernet message. */
+#define NET_ETH_LAST  (NET_ETH_FIRST + NET_ETH_COUNT)
+
+/** First inter-network message. */
+#define NET_IL_FIRST  (NET_ETH_LAST + 0)
+
+/** Last inter-network message. */
+#define NET_IL_LAST  (NET_IL_FIRST + NET_IL_COUNT)
+
+/** First IP message. */
+#define NET_IP_FIRST  (NET_IL_LAST + 0)
+
+/** Last IP message. */
+#define NET_IP_LAST  (NET_IP_FIRST + NET_IP_COUNT)
+
+/** First ARP message. */
+#define NET_ARP_FIRST  (NET_IP_LAST + 0)
+
+/** Last ARP message. */
+#define NET_ARP_LAST  (NET_ARP_FIRST + NET_ARP_COUNT)
+
+/** First ICMP message. */
+#define NET_ICMP_FIRST  (NET_ARP_LAST + 0)
+
+/** Last ICMP message. */
+#define NET_ICMP_LAST  (NET_ICMP_FIRST + NET_ICMP_COUNT)
+
+/** First ICMP message. */
+#define NET_TL_FIRST  (NET_ICMP_LAST + 0)
+
+/** Last ICMP message. */
+#define NET_TL_LAST  (NET_TL_FIRST + NET_TL_COUNT)
+
+/** First UDP message. */
+#define NET_UDP_FIRST  (NET_TL_LAST + 0)
+
+/** Last UDP message. */
+#define NET_UDP_LAST  (NET_UDP_FIRST + NET_UDP_COUNT)
+
+/** First TCP message. */
+#define NET_TCP_FIRST  (NET_UDP_LAST + 0)
+
+/** Last TCP message. */
+#define NET_TCP_LAST  (NET_TCP_FIRST + NET_TCP_COUNT)
+
+/** First socket message. */
+#define NET_SOCKET_FIRST  (NET_TCP_LAST + 0)
+
+/** Last socket message. */
+#define NET_SOCKET_LAST  (NET_SOCKET_FIRST + NET_SOCKET_COUNT)
+
+/** First packet management system message. */
+#define NET_PACKET_FIRST  (NET_SOCKET_LAST + 0)
+
+/** Last packet management system message. */
+#define NET_PACKET_LAST  (NET_PACKET_FIRST + NET_PACKET_COUNT)
+
+/** Last networking message. */
+#define NET_LAST  NET_PACKET_LAST
+
+/** Number of networking messages. */
+#define NET_COUNT  (NET_LAST - NET_FIRST)
+
+/** Check if the IPC call is a generic networking message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_FIRST, NET_LAST)
-
-/** Returns a value indicating whether the IPC call is an ARP message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_FIRST, NET_LAST)
+
+/** Check if the IPC call is an ARP message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_ARP_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_ARP_FIRST, NET_ARP_LAST)
-
-/** Returns a value indicating whether the IPC call is an Ethernet message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_ARP_FIRST, NET_ARP_LAST)
+
+/** Check if the IPC call is an Ethernet message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_ETH_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_ETH_FIRST, NET_ETH_LAST)
-
-/** Returns a value indicating whether the IPC call is an ICMP message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_ETH_FIRST, NET_ETH_LAST)
+
+/** Check if the IPC call is an ICMP message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_ICMP_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_ICMP_FIRST, NET_ICMP_LAST)
-
-/** Returns a value indicating whether the IPC call is an inter-network layer
- * message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_ICMP_FIRST, NET_ICMP_LAST)
+
+/** Check if the IPC call is an inter-network layer message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_IL_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_IL_FIRST, NET_IL_LAST)
-
-/** Returns a value indicating whether the IPC call is an IP message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_IL_FIRST, NET_IL_LAST)
+
+/** Check if the IPC call is an IP message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_IP_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_IP_FIRST, NET_IP_LAST)
-
-/** Returns a value indicating whether the IPC call is a generic networking
- * message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_IP_FIRST, NET_IP_LAST)
+
+/** Check if the IPC call is a generic networking message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_NET_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_NET_FIRST, NET_NET_LAST)
-
-/** Returns a value indicating whether the IPC call is a network interface layer
- * message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_NET_FIRST, NET_NET_LAST)
+
+/** Check if the IPC call is a network interface layer message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_NIL_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_NIL_FIRST, NET_NIL_LAST)
-
-/** Returns a value indicating whether the IPC call is a packet manaagement
- * system message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_NIL_FIRST, NET_NIL_LAST)
+
+/** Check if the IPC call is a packet manaagement system message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_PACKET_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_PACKET_FIRST, NET_PACKET_LAST)
-
-/** Returns a value indicating whether the IPC call is a socket message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_PACKET_FIRST, NET_PACKET_LAST)
+
+/** Check if the IPC call is a socket message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_SOCKET_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_SOCKET_FIRST, NET_SOCKET_LAST)
-
-/** Returns a value indicating whether the IPC call is a TCP message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_SOCKET_FIRST, NET_SOCKET_LAST)
+
+/** Check if the IPC call is a TCP message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_TCP_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_TCP_FIRST, NET_TCP_LAST)
-
-/** Returns a value indicating whether the IPC call is a transport layer message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_TCP_FIRST, NET_TCP_LAST)
+
+/** Check if the IPC call is a transport layer message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_TL_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_TL_FIRST, NET_TL_LAST)
-
-/** Returns a value indicating whether the IPC call is a UDP message.
- * @param[in] call The IPC call to be checked.
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_TL_FIRST, NET_TL_LAST)
+
+/** Check if the IPC call is a UDP message.
+ *
+ * @param[in] call IPC call to be checked.
+ *
  */
 #define IS_NET_UDP_MESSAGE(call) \
-	IS_IN_INTERVAL(IPC_GET_IMETHOD(*call), NET_UDP_FIRST, NET_UDP_LAST)
+	IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_UDP_FIRST, NET_UDP_LAST)
 
 /*@}*/
@@ -275,138 +274,113 @@
 /*@{*/
 
-/** Returns the device identifier message argument.
- * @param[in] call The message call structure.
- */
-#define IPC_GET_DEVICE(call) \
-	({ \
-		device_id_t device_id = (device_id_t) IPC_GET_ARG1(*call); \
-		device_id; \
-	})
-
-/** Returns the packet identifier message argument.
- * @param[in] call The message call structure.
- */
-#define IPC_GET_PACKET(call) \
-	({ \
-		packet_id_t packet_id = (packet_id_t) IPC_GET_ARG2(*call); \
-		packet_id; \
-	})
-
-/** Returns the count message argument.
- * @param[in] call The message call structure.
- */
-#define IPC_GET_COUNT(call) \
-	({ \
-		size_t size = (size_t) IPC_GET_ARG2(*call); \
-		size; \
-	})
-
-/** Returns the device state message argument.
- * @param[in] call The message call structure.
- */
-#define IPC_GET_STATE(call) \
-	({ \
-		device_state_t state = (device_state_t) IPC_GET_ARG2(*call); \
-		state; \
-	})
-
-/** Returns the maximum transmission unit message argument.
- * @param[in] call The message call structure.
- */
-#define IPC_GET_MTU(call) \
-	({ \
-		size_t size = (size_t) IPC_GET_ARG2(*call); \
-		size; \
-	})
-
-/** Returns the device driver service message argument.
- * @param[in] call The message call structure.
- */
-#define IPC_GET_SERVICE(call) \
-	({ \
-		services_t service = (services_t) IPC_GET_ARG3(*call); \
-		service; \
-	})
-
-/** Returns the target service message argument.
- * @param[in] call The message call structure.
- */
-#define IPC_GET_TARGET(call) \
-	({ \
-		services_t service = (services_t) IPC_GET_ARG3(*call); \
-		service; \
-	})
-
-/** Returns the sender service message argument.
- * @param[in] call The message call structure.
- */
-#define IPC_GET_SENDER(call) \
-	({ \
-		services_t service = (services_t) IPC_GET_ARG3(*call); \
-		service; \
-	})
-
-/** Returns the error service message argument.
- * @param[in] call The message call structure.
- */
-#define IPC_GET_ERROR(call) \
-	({ \
-		services_t service = (services_t) IPC_GET_ARG4(*call); \
-		service; \
-	})
-
-/** Returns the phone message argument.
- * @param[in] call The message call structure.
- */
-#define IPC_GET_PHONE(call) \
-	({ \
-		int phone = (int) IPC_GET_ARG5(*call); \
-		phone; \
-	})
-
-/** Sets the device identifier in the message answer.
- * @param[out] answer The message answer structure.
- */
-#define IPC_SET_DEVICE(answer, value) \
-	do { \
-		sysarg_t argument = (sysarg_t) (value); \
-		IPC_SET_ARG1(*answer, argument); \
-	} while (0)
-
-/** Sets the minimum address length in the message answer.
- * @param[out] answer The message answer structure.
- */
-#define IPC_SET_ADDR(answer, value) \
-	do { \
-		sysarg_t argument = (sysarg_t) (value); \
-		IPC_SET_ARG1(*answer, argument); \
-	} while (0)
-
-/** Sets the minimum prefix size in the message answer.
- * @param[out] answer The message answer structure.
- */
-#define IPC_SET_PREFIX(answer, value) \
-	do { \
-		sysarg_t argument = (sysarg_t) (value); \
-		IPC_SET_ARG2(*answer, argument); \
-	} while (0)
-
-/** Sets the maximum content size in the message answer.
- * @param[out] answer The message answer structure.
- */
-#define IPC_SET_CONTENT(answer, value) \
-	do { \
-		sysarg_t argument = (sysarg_t) (value); \
-		IPC_SET_ARG3(*answer, argument); \
-	} while (0)
-
-/** Sets the minimum suffix size in the message answer.
- * @param[out] answer The message answer structure.
- */
-#define IPC_SET_SUFFIX(answer, value) \
-	do { \
-		sysarg_t argument = (sysarg_t) (value); \
-		IPC_SET_ARG4(*answer, argument); \
-	} while (0)
+/** Return the device identifier message argument.
+ *
+ * @param[in] call Message call structure.
+ *
+ */
+#define IPC_GET_DEVICE(call)  ((device_id_t) IPC_GET_ARG1(call))
+
+/** Return the packet identifier message argument.
+ *
+ * @param[in] call Message call structure.
+ *
+ */
+#define IPC_GET_PACKET(call)  ((packet_id_t) IPC_GET_ARG2(call))
+
+/** Return the count message argument.
+ *
+ * @param[in] call Message call structure.
+ *
+ */
+#define IPC_GET_COUNT(call)  ((size_t) IPC_GET_ARG2(call))
+
+/** Return the device state message argument.
+ *
+ * @param[in] call Message call structure.
+ *
+ */
+#define IPC_GET_STATE(call)  ((device_state_t) IPC_GET_ARG2(call))
+
+/** Return the maximum transmission unit message argument.
+ *
+ * @param[in] call Message call structure.
+ *
+ */
+#define IPC_GET_MTU(call)  ((size_t) IPC_GET_ARG2(call))
+
+/** Return the device driver service message argument.
+ *
+ * @param[in] call Message call structure.
+ *
+ */
+#define IPC_GET_SERVICE(call)  ((services_t) IPC_GET_ARG3(call))
+
+/** Return the target service message argument.
+ *
+ * @param[in] call Message call structure.
+ *
+ */
+#define IPC_GET_TARGET(call)  ((services_t) IPC_GET_ARG3(call))
+
+/** Return the sender service message argument.
+ *
+ * @param[in] call Message call structure.
+ *
+ */
+#define IPC_GET_SENDER(call)  ((services_t) IPC_GET_ARG3(call))
+
+/** Return the error service message argument.
+ &
+ * @param[in] call Message call structure.
+ *
+ */
+#define IPC_GET_ERROR(call)  ((services_t) IPC_GET_ARG4(call))
+
+/** Return the phone message argument.
+ *
+ * @param[in] call Message call structure.
+ *
+ */
+#define IPC_GET_PHONE(call)  ((int) IPC_GET_ARG5(call))
+
+/** Set the device identifier in the message answer.
+ *
+ * @param[out] answer Message answer structure.
+ * @param[in]  value  Value to set.
+ *
+ */
+#define IPC_SET_DEVICE(answer, value)  IPC_SET_ARG1(answer, (sysarg_t) (value))
+
+/** Set the minimum address length in the message answer.
+ *
+ * @param[out] answer Message answer structure.
+ * @param[in]  value  Value to set.
+ *
+ */
+#define IPC_SET_ADDR(answer, value)  IPC_SET_ARG1(answer, (sysarg_t) (value))
+
+/** Set the minimum prefix size in the message answer.
+ *
+ * @param[out] answer Message answer structure.
+ * @param[in]  value  Value to set.
+ *
+ */
+#define IPC_SET_PREFIX(answer, value)  IPC_SET_ARG2(answer, (sysarg_t) (value))
+
+/** Set the maximum content size in the message answer.
+ *
+ * @param[out] answer Message answer structure.
+ * @param[in]  value  Value to set.
+ *
+ */
+#define IPC_SET_CONTENT(answer, value)  IPC_SET_ARG3(answer, (sysarg_t) (value))
+
+/** Set the minimum suffix size in the message answer.
+ *
+ * @param[out] answer Message answer structure.
+ * @param[in]  value  Value to set.
+ *
+ */
+#define IPC_SET_SUFFIX(answer, value)  IPC_SET_ARG4(answer, (sysarg_t) (value))
 
 /*@}*/
Index: uspace/lib/c/include/ipc/netif.h
===================================================================
--- uspace/lib/c/include/ipc/netif.h	(revision 622dea83a1bf05d07d10fd5756c5f5757a2f4b12)
+++ uspace/lib/c/include/ipc/netif.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -47,20 +47,25 @@
 	 */
 	NET_NETIF_PROBE = NET_NETIF_FIRST,
+	
 	/** Send packet message.
 	 * @see netif_send_msg()
 	 */
 	NET_NETIF_SEND,
+	
 	/** Start device message.
 	 * @see netif_start_req()
 	 */
 	NET_NETIF_START,
+	
 	/** Get device usage statistics message.
 	 * @see netif_stats_req()
 	 */
 	NET_NETIF_STATS,
+	
 	/** Stop device message.
 	 * @see netif_stop_req()
 	 */
 	NET_NETIF_STOP,
+	
 	/** Get device address message.
 	 * @see netif_get_addr_req()
@@ -73,20 +78,16 @@
 
 /** Return the interrupt number message parameter.
- * @param[in] call The message call structure.
+ *
+ * @param[in] call Mmessage call structure.
+ *
  */
-#define NETIF_GET_IRQ(call) \
-	({ \
-		int irq = (int) IPC_GET_ARG2(*call); \
-		irq; \
-	})
+#define NETIF_GET_IRQ(call) ((int) IPC_GET_ARG2(call))
 
 /** Return the input/output address message parameter.
- * @param[in] call The message call structure.
+ *
+ * @param[in] call Message call structure.
+ *
  */
-#define NETIF_GET_IO(call) \
-	({ \
-		int io = (int) IPC_GET_ARG3(*call); \
-		io; \
-	})
+#define NETIF_GET_IO(call) ((void *) IPC_GET_ARG3(call))
 
 /*@}*/
Index: uspace/lib/c/include/ipc/nil.h
===================================================================
--- uspace/lib/c/include/ipc/nil.h	(revision 622dea83a1bf05d07d10fd5756c5f5757a2f4b12)
+++ uspace/lib/c/include/ipc/nil.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -77,9 +77,5 @@
 
 /** Return the protocol service message parameter. */
-#define NIL_GET_PROTO(call) \
-	({ \
-		services_t service = (services_t) IPC_GET_ARG2(*call); \
-		service; \
-	})
+#define NIL_GET_PROTO(call)  ((services_t) IPC_GET_ARG2(call))
 
 /*@}*/
Index: uspace/lib/c/include/ipc/packet.h
===================================================================
--- uspace/lib/c/include/ipc/packet.h	(revision 622dea83a1bf05d07d10fd5756c5f5757a2f4b12)
+++ uspace/lib/c/include/ipc/packet.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -70,21 +70,21 @@
 } packet_messages;
 
-/** Returns the protocol service message parameter. */
-#define ARP_GET_PROTO(call)	(services_t) IPC_GET_ARG2(*call)
+/** Return the protocol service message parameter. */
+#define ARP_GET_PROTO(call)  ((services_t) IPC_GET_ARG2(call))
 
-/** Returns the packet identifier message parameter. */
-#define IPC_GET_ID(call)	(packet_id_t) IPC_GET_ARG1(*call)
+/** Return the packet identifier message parameter. */
+#define IPC_GET_ID(call)  ((packet_id_t) IPC_GET_ARG1(call))
 
-/** Returns the maximal content length message parameter. */
-#define IPC_GET_CONTENT(call)	(size_t) IPC_GET_ARG1(*call)
+/** Return the maximal content length message parameter. */
+#define IPC_GET_CONTENT(call)  ((size_t) IPC_GET_ARG1(call))
 
-/** Returns the maximal address length message parameter. */
-#define IPC_GET_ADDR_LEN(call)	(size_t) IPC_GET_ARG2(*call)
+/** Return the maximal address length message parameter. */
+#define IPC_GET_ADDR_LEN(call)  ((size_t) IPC_GET_ARG2(call))
 
-/** Returns the maximal prefix length message parameter. */
-#define IPC_GET_PREFIX(call)	(size_t) IPC_GET_ARG3(*call)
+/** Return the maximal prefix length message parameter. */
+#define IPC_GET_PREFIX(call)  ((size_t) IPC_GET_ARG3(call))
 
-/** Returns the maximal suffix length message parameter. */
-#define IPC_GET_SUFFIX(call)	(size_t) IPC_GET_ARG4(*call)
+/** Return the maximal suffix length message parameter. */
+#define IPC_GET_SUFFIX(call)  ((size_t) IPC_GET_ARG4(call))
 
 #endif
Index: uspace/lib/c/include/net/in.h
===================================================================
--- uspace/lib/c/include/net/in.h	(revision 622dea83a1bf05d07d10fd5756c5f5757a2f4b12)
+++ uspace/lib/c/include/net/in.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -43,10 +43,10 @@
 
 /** INET string address maximum length. */
-#define INET_ADDRSTRLEN		(4 * 3 + 3 + 1)
+#define INET_ADDRSTRLEN  (4 * 3 + 3 + 1)
 
 /** Type definition of the INET address.
  * @see in_addr
  */
-typedef struct in_addr		in_addr_t;
+typedef struct in_addr in_addr_t;
 
 /** Type definition of the INET socket address.
Index: uspace/lib/c/include/net/modules.h
===================================================================
--- uspace/lib/c/include/net/modules.h	(revision 622dea83a1bf05d07d10fd5756c5f5757a2f4b12)
+++ uspace/lib/c/include/net/modules.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -51,10 +51,12 @@
 /** Connect to the needed module function type definition.
  *
- * @param[in] need	The needed module service.
- * @return		The phone of the needed service.
+ * @param[in] need The needed module service.
+ *
+ * @return The phone of the needed service.
+ *
  */
 typedef int connect_module_t(services_t need);
 
-extern void answer_call(ipc_callid_t, int, ipc_call_t *, int);
+extern void answer_call(ipc_callid_t, int, ipc_call_t *, size_t);
 extern int bind_service(services_t, sysarg_t, sysarg_t, sysarg_t,
     async_client_conn_t);
@@ -64,5 +66,5 @@
 extern int connect_to_service_timeout(services_t, suseconds_t);
 extern int data_reply(void *, size_t);
-extern void refresh_answer(ipc_call_t *, int *);
+extern void refresh_answer(ipc_call_t *, size_t *);
 
 #endif
