Index: uspace/srv/hw/netif/dp8390/dp8390.c
===================================================================
--- uspace/srv/hw/netif/dp8390/dp8390.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/hw/netif/dp8390/dp8390.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -550,8 +550,8 @@
 		if ((length < ETH_MIN_PACK_SIZE) || (length > ETH_MAX_PACK_SIZE_TAGGED)) {
 			printf("Packet with strange length arrived: %zu\n", length);
-			next= curr;
+			next = curr;
 		} else if ((next < dep->de_startpage) || (next >= dep->de_stoppage)) {
 			printf("Strange next page\n");
-			next= curr;
+			next = curr;
 		} else if (header.dr_status & RSR_FO) {
 			/*
Index: uspace/srv/hw/netif/dp8390/dp8390_module.c
===================================================================
--- uspace/srv/hw/netif/dp8390/dp8390_module.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/hw/netif/dp8390/dp8390_module.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -213,5 +213,5 @@
 		return rc;
 	
-	address->value = (char *) (&((dpeth_t *) device->specific)->de_address);
+	address->value = (uint8_t *) &((dpeth_t *) device->specific)->de_address;
 	address->length = sizeof(ether_addr_t);
 	return EOK;
Index: uspace/srv/hw/netif/dp8390/dp8390_port.h
===================================================================
--- uspace/srv/hw/netif/dp8390/dp8390_port.h	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/hw/netif/dp8390/dp8390_port.h	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -43,14 +43,4 @@
 #include <libarch/ddi.h>
 #include <sys/types.h>
-
-/** Compares two memory blocks.
- *  @param[in] first The first memory block.
- *  @param[in] second The second memory block.
- *  @param[in] size The blocks size in bytes.
- *  @returns 0 if equeal.
- *  @returns -1 if the first is greater than the second.
- *  @returns 1 if the second is greater than the first.
- */
-#define memcmp(first, second, size)  bcmp((char *) (first), (char *) (second), (size))
 
 /** Reads 1 byte.
Index: uspace/srv/hw/netif/dp8390/ne2000.c
===================================================================
--- uspace/srv/hw/netif/dp8390/ne2000.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/hw/netif/dp8390/ne2000.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -241,5 +241,5 @@
 		buf[i] = inb_ne(dep, NE_DATA);
 	
-	return (memcmp(buf, pat, 4) == 0);
+	return (bcmp(buf, pat, 4) == 0);
 }
 
@@ -280,5 +280,5 @@
 		*(uint16_t *)(buf + i) = inw_ne(dep, NE_DATA);
 	
-	return (memcmp(buf, pat, 4) == 0);
+	return (bcmp(buf, pat, 4) == 0);
 }
 
Index: uspace/srv/net/il/arp/arp.c
===================================================================
--- uspace/srv/net/il/arp/arp.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/net/il/arp/arp.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -215,5 +215,5 @@
 	(*proto)->service = service;
 	(*proto)->addr = address;
-	(*proto)->addr_data = (uint8_t *) address->value;
+	(*proto)->addr_data = address->value;
 	
 	rc = arp_addr_initialize(&(*proto)->addresses);
@@ -267,5 +267,5 @@
 			free(proto->addr_data);
 			proto->addr = address;
-			proto->addr_data = (uint8_t *) address->value;
+			proto->addr_data = address->value;
 		} else {
 			rc = arp_proto_create(&proto, protocol, address);
@@ -482,5 +482,5 @@
 	des_hw = src_proto + header->protocol_length;
 	des_proto = des_hw + header->hardware_length;
-	trans = arp_addr_find(&proto->addresses, (char *) src_proto,
+	trans = arp_addr_find(&proto->addresses, src_proto,
 	    header->protocol_length);
 	/* Exists? */
@@ -493,6 +493,6 @@
 	if (proto->addr->length != header->protocol_length)
 		return EINVAL;
-	if (!str_lcmp(proto->addr->value, (char *) des_proto,
-	    proto->addr->length)) {
+	
+	if (!bcmp(proto->addr->value, des_proto, proto->addr->length)) {
 		/* Not already updated? */
 		if (!trans) {
@@ -502,5 +502,5 @@
 			trans->hw_addr = NULL;
 			fibril_condvar_initialize(&trans->cv);
-			rc = arp_addr_add(&proto->addresses, (char *) src_proto,
+			rc = arp_addr_add(&proto->addresses, src_proto,
 			    header->protocol_length, trans);
 			if (rc != EOK) {
@@ -510,9 +510,9 @@
 		}
 		if (!trans->hw_addr) {
-			trans->hw_addr = measured_string_create_bulk(
-			    (char *) src_hw, header->hardware_length);
+			trans->hw_addr = measured_string_create_bulk(src_hw,
+			    header->hardware_length);
 			if (!trans->hw_addr)
 				return ENOMEM;
-
+			
 			/* Notify the fibrils that wait for the translation. */
 			fibril_condvar_broadcast(&trans->cv);
@@ -681,5 +681,5 @@
 	measured_string_t *address;
 	measured_string_t *translation;
-	char *data;
+	uint8_t *data;
 	packet_t *packet;
 	packet_t *next;
@@ -748,4 +748,5 @@
 	
 	case NET_IL_RECEIVED:
+		
 		rc = packet_translate_remote(arp_globals.net_phone, &packet,
 		    IPC_GET_PACKET(call));
Index: uspace/srv/net/il/ip/ip.c
===================================================================
--- uspace/srv/net/il/ip/ip.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/net/il/ip/ip.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -275,6 +275,6 @@
 	if (rc != EOK)
 		goto out;
-	rc = add_module(NULL, &ip_globals.modules, ARP_NAME, ARP_FILENAME,
-	    SERVICE_ARP, 0, arp_connect_module);
+	rc = add_module(NULL, &ip_globals.modules, (uint8_t *) ARP_NAME,
+	    (uint8_t *) ARP_FILENAME, SERVICE_ARP, 0, arp_connect_module);
 
 out:
@@ -312,33 +312,33 @@
 	measured_string_t names[] = {
 		{
-			(char *) "IPV",
+			(uint8_t *) "IPV",
 			3
 		},
 		{
-			(char *) "IP_CONFIG",
+			(uint8_t *) "IP_CONFIG",
 			9
 		},
 		{
-			(char *) "IP_ADDR",
+			(uint8_t *) "IP_ADDR",
 			7
 		},
 		{
-			(char *) "IP_NETMASK",
+			(uint8_t *) "IP_NETMASK",
 			10
 		},
 		{
-			(char *) "IP_GATEWAY",
+			(uint8_t *) "IP_GATEWAY",
 			10
 		},
 		{
-			(char *) "IP_BROADCAST",
+			(uint8_t *) "IP_BROADCAST",
 			12
 		},
 		{
-			(char *) "ARP",
+			(uint8_t *) "ARP",
 			3
 		},
 		{
-			(char *) "IP_ROUTING",
+			(uint8_t *) "IP_ROUTING",
 			10
 		}
@@ -346,5 +346,5 @@
 	measured_string_t *configuration;
 	size_t count = sizeof(names) / sizeof(measured_string_t);
-	char *data;
+	uint8_t *data;
 	measured_string_t address;
 	ip_route_t *route;
@@ -368,7 +368,7 @@
 	if (configuration) {
 		if (configuration[0].value)
-			ip_netif->ipv = strtol(configuration[0].value, NULL, 0);
-
-		ip_netif->dhcp = !str_lcmp(configuration[1].value, "dhcp",
+			ip_netif->ipv = strtol((char *) configuration[0].value, NULL, 0);
+		
+		ip_netif->dhcp = !str_lcmp((char *) configuration[1].value, "dhcp",
 		    configuration[1].length);
 		
@@ -394,11 +394,11 @@
 			}
 			
-			if ((inet_pton(AF_INET, configuration[2].value,
+			if ((inet_pton(AF_INET, (char *) configuration[2].value,
 			    (uint8_t *) &route->address.s_addr) != EOK) ||
-			    (inet_pton(AF_INET, configuration[3].value,
+			    (inet_pton(AF_INET, (char *) configuration[3].value,
 			    (uint8_t *) &route->netmask.s_addr) != EOK) ||
-			    (inet_pton(AF_INET, configuration[4].value,
+			    (inet_pton(AF_INET, (char *) configuration[4].value,
 			    (uint8_t *) &gateway.s_addr) == EINVAL) ||
-			    (inet_pton(AF_INET, configuration[5].value,
+			    (inet_pton(AF_INET, (char *) configuration[5].value,
 			    (uint8_t *) &ip_netif->broadcast.s_addr) == EINVAL))
 			    {
@@ -441,5 +441,5 @@
 	if (ip_netif->arp) {
 		if (route) {
-			address.value = (char *) &route->address.s_addr;
+			address.value = (uint8_t *) &route->address.s_addr;
 			address.length = sizeof(in_addr_t);
 			
@@ -997,5 +997,5 @@
 	measured_string_t destination;
 	measured_string_t *translation;
-	char *data;
+	uint8_t *data;
 	int phone;
 	int rc;
@@ -1004,5 +1004,5 @@
 	if (netif->arp && (route->address.s_addr != dest.s_addr)) {
 		destination.value = route->gateway.s_addr ?
-		    (char *) &route->gateway.s_addr : (char *) &dest.s_addr;
+		    (uint8_t *) &route->gateway.s_addr : (uint8_t *) &dest.s_addr;
 		destination.length = sizeof(dest.s_addr);
 
@@ -1756,5 +1756,5 @@
 		    (header->destination_address & route->netmask.s_addr))) {
 			// clear the ARP mapping if any
-			address.value = (char *) &header->destination_address;
+			address.value = (uint8_t *) &header->destination_address;
 			address.length = sizeof(header->destination_address);
 			arp_clear_address_req(netif->arp->phone,
Index: uspace/srv/net/net/net.c
===================================================================
--- uspace/srv/net/net/net.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/net/net/net.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -90,6 +90,6 @@
  *
  */
-int add_configuration(measured_strings_t *configuration, const char *name,
-    const char *value)
+int add_configuration(measured_strings_t *configuration, const uint8_t *name,
+    const uint8_t *value)
 {
 	int rc;
@@ -119,10 +119,10 @@
 }
 
-static int parse_line(measured_strings_t *configuration, char *line)
+static int parse_line(measured_strings_t *configuration, uint8_t *line)
 {
 	int rc;
 	
 	/* From the beginning */
-	char *name = line;
+	uint8_t *name = line;
 	
 	/* Skip comments and blank lines */
@@ -135,5 +135,5 @@
 	
 	/* Remember the name start */
-	char *value = name;
+	uint8_t *value = name;
 	
 	/* Skip the name */
@@ -186,10 +186,10 @@
 	
 	/* Construct the full filename */
-	char line[BUFFER_SIZE];
-	if (snprintf(line, BUFFER_SIZE, "%s/%s", directory, filename) > BUFFER_SIZE)
+	char fname[BUFFER_SIZE];
+	if (snprintf(fname, BUFFER_SIZE, "%s/%s", directory, filename) > BUFFER_SIZE)
 		return EOVERFLOW;
 	
 	/* Open the file */
-	FILE *cfg = fopen(line, "r");
+	FILE *cfg = fopen(fname, "r");
 	if (!cfg)
 		return ENOENT;
@@ -201,4 +201,6 @@
 	unsigned int line_number = 0;
 	size_t index = 0;
+	uint8_t line[BUFFER_SIZE];
+	
 	while (!ferror(cfg) && !feof(cfg)) {
 		int read = fgetc(cfg);
@@ -207,5 +209,5 @@
 				line[BUFFER_SIZE - 1] = '\0';
 				fprintf(stderr, "%s: Configuration line %u too "
-				    "long: %s\n", NAME, line_number, line);
+				    "long: %s\n", NAME, line_number, (char *) line);
 				
 				/* No space left in the line buffer */
@@ -213,5 +215,5 @@
 			}
 			/* Append the character */
-			line[index] = (char) read;
+			line[index] = (uint8_t) read;
 			index++;
 		} else {
@@ -221,5 +223,5 @@
 			if (parse_line(configuration, line) != EOK) {
 				fprintf(stderr, "%s: Configuration error on "
-				    "line %u: %s\n", NAME, line_number, line);
+				    "line %u: %s\n", NAME, line_number, (char *) line);
 			}
 			
@@ -282,18 +284,18 @@
 		return rc;
 	
-	rc = add_module(NULL, &net_globals.modules, LO_NAME, LO_FILENAME,
-	    SERVICE_LO, 0, connect_to_service);
-	if (rc != EOK)
-		return rc;
-	rc = add_module(NULL, &net_globals.modules, DP8390_NAME,
-	    DP8390_FILENAME, SERVICE_DP8390, 0, connect_to_service);
-	if (rc != EOK)
-		return rc;
-	rc = add_module(NULL, &net_globals.modules, ETHERNET_NAME,
-	    ETHERNET_FILENAME, SERVICE_ETHERNET, 0, connect_to_service);
-	if (rc != EOK)
-		return rc;
-	rc = add_module(NULL, &net_globals.modules, NILDUMMY_NAME,
-	    NILDUMMY_FILENAME, SERVICE_NILDUMMY, 0, connect_to_service);
+	rc = add_module(NULL, &net_globals.modules, (uint8_t *) LO_NAME,
+	    (uint8_t *) LO_FILENAME, SERVICE_LO, 0, connect_to_service);
+	if (rc != EOK)
+		return rc;
+	rc = add_module(NULL, &net_globals.modules, (uint8_t *) DP8390_NAME,
+	    (uint8_t *) DP8390_FILENAME, SERVICE_DP8390, 0, connect_to_service);
+	if (rc != EOK)
+		return rc;
+	rc = add_module(NULL, &net_globals.modules, (uint8_t *) ETHERNET_NAME,
+	    (uint8_t *) ETHERNET_FILENAME, SERVICE_ETHERNET, 0, connect_to_service);
+	if (rc != EOK)
+		return rc;
+	rc = add_module(NULL, &net_globals.modules, (uint8_t *) NILDUMMY_NAME,
+	    (uint8_t *) NILDUMMY_FILENAME, SERVICE_NILDUMMY, 0, connect_to_service);
 	if (rc != EOK)
 		return rc;
@@ -364,5 +366,5 @@
  */
 static int net_get_conf(measured_strings_t *netif_conf,
-    measured_string_t *configuration, size_t count, char **data)
+    measured_string_t *configuration, size_t count, uint8_t **data)
 {
 	if (data)
@@ -390,5 +392,5 @@
 
 int net_get_conf_req(int net_phone, measured_string_t **configuration,
-    size_t count, char **data)
+    size_t count, uint8_t **data)
 {
 	if (!configuration || (count <= 0))
@@ -399,5 +401,5 @@
 
 int net_get_device_conf_req(int net_phone, device_id_t device_id,
-    measured_string_t **configuration, size_t count, char **data)
+    measured_string_t **configuration, size_t count, uint8_t **data)
 {
 	if ((!configuration) || (count == 0))
@@ -411,5 +413,5 @@
 }
 
-void net_free_settings(measured_string_t *settings, char *data)
+void net_free_settings(measured_string_t *settings, uint8_t *data)
 {
 }
@@ -437,5 +439,5 @@
 	/* Mandatory netif */
 	measured_string_t *setting =
-	    measured_strings_find(&netif->configuration, CONF_NETIF, 0);
+	    measured_strings_find(&netif->configuration, (uint8_t *) CONF_NETIF, 0);
 	
 	netif->driver = get_running_module(&net_globals.modules, setting->value);
@@ -447,5 +449,5 @@
 	
 	/* Optional network interface layer */
-	setting = measured_strings_find(&netif->configuration, CONF_NIL, 0);
+	setting = measured_strings_find(&netif->configuration, (uint8_t *) CONF_NIL, 0);
 	if (setting) {
 		netif->nil = get_running_module(&net_globals.modules, setting->value);
@@ -459,5 +461,5 @@
 	
 	/* Mandatory internet layer */
-	setting = measured_strings_find(&netif->configuration, CONF_IL, 0);
+	setting = measured_strings_find(&netif->configuration, (uint8_t *) CONF_IL, 0);
 	netif->il = get_running_module(&net_globals.modules, setting->value);
 	if (!netif->il) {
@@ -468,9 +470,9 @@
 	
 	/* Hardware configuration */
-	setting = measured_strings_find(&netif->configuration, CONF_IRQ, 0);
-	int irq = setting ? strtol(setting->value, NULL, 10) : 0;
-	
-	setting = measured_strings_find(&netif->configuration, CONF_IO, 0);
-	int io = setting ? strtol(setting->value, NULL, 16) : 0;
+	setting = measured_strings_find(&netif->configuration, (uint8_t *) CONF_IRQ, 0);
+	int irq = setting ? strtol((char *) setting->value, NULL, 10) : 0;
+	
+	setting = measured_strings_find(&netif->configuration, (uint8_t *) CONF_IO, 0);
+	int io = setting ? strtol((char *) setting->value, NULL, 16) : 0;
 	
 	rc = netif_probe_req_remote(netif->driver->phone, netif->id, irq, io);
@@ -481,10 +483,10 @@
 	services_t internet_service;
 	if (netif->nil) {
-		setting = measured_strings_find(&netif->configuration, CONF_MTU, 0);
+		setting = measured_strings_find(&netif->configuration, (uint8_t *) CONF_MTU, 0);
 		if (!setting)
 			setting = measured_strings_find(&net_globals.configuration,
-			    CONF_MTU, 0);
-		
-		int mtu = setting ? strtol(setting->value, NULL, 10) : 0;
+			    (uint8_t *) CONF_MTU, 0);
+		
+		int mtu = setting ? strtol((char *) setting->value, NULL, 10) : 0;
 		
 		rc = nil_device_req(netif->nil->phone, netif->id, mtu,
@@ -558,5 +560,5 @@
 		/* Mandatory name */
 		measured_string_t *setting =
-		    measured_strings_find(&netif->configuration, CONF_NAME, 0);
+		    measured_strings_find(&netif->configuration, (uint8_t *) CONF_NAME, 0);
 		if (!setting) {
 			fprintf(stderr, "%s: Network interface name is missing\n", NAME);
@@ -602,5 +604,5 @@
 		printf("%s: Network interface started (name: %s, id: %d, driver: %s, "
 		    "nil: %s, il: %s)\n", NAME, netif->name, netif->id,
-		    netif->driver->name,  netif->nil ? netif->nil->name : "[none]",
+		    netif->driver->name, netif->nil ? (char *) netif->nil->name : "[none]",
 		    netif->il->name);
 	}
@@ -628,5 +630,5 @@
 {
 	measured_string_t *strings;
-	char *data;
+	uint8_t *data;
 	int rc;
 	
Index: uspace/srv/net/net/net.h
===================================================================
--- uspace/srv/net/net/net.h	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/net/net/net.h	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -105,8 +105,8 @@
 	module_t *driver;
 	
-	device_id_t id;	/**< System-unique network interface identifier. */
-	module_t *il;	/**< Serving internet layer module index. */
-	char *name;	/**< System-unique network interface name. */
-	module_t *nil;	/**< Serving link layer module index. */
+	device_id_t id;  /**< System-unique network interface identifier. */
+	module_t *il;    /**< Serving internet layer module index. */
+	uint8_t *name;   /**< System-unique network interface name. */
+	module_t *nil;   /**< Serving link layer module index. */
 } netif_t;
 
@@ -133,5 +133,6 @@
 } net_globals_t;
 
-extern int add_configuration(measured_strings_t *, const char *, const char *);
+extern int add_configuration(measured_strings_t *, const uint8_t *,
+    const uint8_t *);
 extern int net_module_message(ipc_callid_t, ipc_call_t *, ipc_call_t *, int *);
 extern int net_initialize_build(async_client_conn_t);
Index: uspace/srv/net/net/net_standalone.c
===================================================================
--- uspace/srv/net/net/net_standalone.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/net/net/net_standalone.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -63,20 +63,20 @@
 	int rc;
 	
-	task_id_t task_id = spawn("/srv/ip");
+	task_id_t task_id = net_spawn((uint8_t *) "/srv/ip");
 	if (!task_id)
 		return EINVAL;
 	
-	rc = add_module(NULL, &net_globals.modules, IP_NAME,
-	    IP_FILENAME, SERVICE_IP, task_id, ip_connect_module);
+	rc = add_module(NULL, &net_globals.modules, (uint8_t *) IP_NAME,
+	    (uint8_t *) IP_FILENAME, SERVICE_IP, task_id, ip_connect_module);
 	if (rc != EOK)
 		return rc;
 	
-	if (!spawn("/srv/icmp"))
+	if (!net_spawn((uint8_t *) "/srv/icmp"))
 		return EINVAL;
 	
-	if (!spawn("/srv/udp"))
+	if (!net_spawn((uint8_t *) "/srv/udp"))
 		return EINVAL;
 	
-	if (!spawn("/srv/tcp"))
+	if (!net_spawn((uint8_t *) "/srv/tcp"))
 		return EINVAL;
 	
Index: uspace/srv/net/netif/lo/lo.c
===================================================================
--- uspace/srv/net/netif/lo/lo.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/net/netif/lo/lo.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -53,8 +53,8 @@
 
 /** Default hardware address. */
-#define DEFAULT_ADDR		"\0\0\0\0\0\0"
+#define DEFAULT_ADDR  0
 
 /** Default address length. */
-#define DEFAULT_ADDR_LEN	(sizeof(DEFAULT_ADDR) / sizeof(char))
+#define DEFAULT_ADDR_LEN  6
 
 /** Loopback module name. */
@@ -62,5 +62,5 @@
 
 /** Network interface global data. */
-netif_globals_t	netif_globals;
+netif_globals_t netif_globals;
 
 int netif_specific_message(ipc_callid_t callid, ipc_call_t *call,
@@ -74,8 +74,11 @@
 	if (!address)
 		return EBADMEM;
-
-	address->value = str_dup(DEFAULT_ADDR);
+	
+	uint8_t *addr = (uint8_t *) malloc(DEFAULT_ADDR_LEN);
+	memset(addr, DEFAULT_ADDR, DEFAULT_ADDR_LEN);
+	
+	address->value = addr;
 	address->length = DEFAULT_ADDR_LEN;
-
+	
 	return EOK;
 }
Index: uspace/srv/net/nil/eth/eth.c
===================================================================
--- uspace/srv/net/nil/eth/eth.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/net/nil/eth/eth.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -201,5 +201,5 @@
 
 	eth_globals.broadcast_addr =
-	    measured_string_create_bulk("\xFF\xFF\xFF\xFF\xFF\xFF", ETH_ADDR);
+	    measured_string_create_bulk((uint8_t *) "\xFF\xFF\xFF\xFF\xFF\xFF", ETH_ADDR);
 	if (!eth_globals.broadcast_addr) {
 		rc = ENOMEM;
@@ -284,9 +284,9 @@
 	measured_string_t names[2] = {
 		{
-			(char *) "ETH_MODE",
+			(uint8_t *) "ETH_MODE",
 			8
 		},
 		{
-			(char *) "ETH_DUMMY",
+			(uint8_t *) "ETH_DUMMY",
 			9
 		}
@@ -294,5 +294,5 @@
 	measured_string_t *configuration;
 	size_t count = sizeof(names) / sizeof(measured_string_t);
-	char *data;
+	uint8_t *data;
 	eth_proto_t *proto;
 	int rc;
@@ -358,8 +358,8 @@
 
 	if (configuration) {
-		if (!str_lcmp(configuration[0].value, "DIX",
+		if (!str_lcmp((char *) configuration[0].value, "DIX",
 		    configuration[0].length)) {
 			device->flags |= ETH_DIX;
-		} else if(!str_lcmp(configuration[0].value, "8023_2_LSAP",
+		} else if(!str_lcmp((char *) configuration[0].value, "8023_2_LSAP",
 		    configuration[0].length)) {
 			device->flags |= ETH_8023_2_LSAP;
Index: uspace/srv/net/tl/icmp/icmp.c
===================================================================
--- uspace/srv/net/tl/icmp/icmp.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/net/tl/icmp/icmp.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -405,9 +405,9 @@
 	measured_string_t names[] = {
 		{
-			(char *) "ICMP_ERROR_REPORTING",
+			(uint8_t *) "ICMP_ERROR_REPORTING",
 			20
 		},
 		{
-			(char *) "ICMP_ECHO_REPLYING",
+			(uint8_t *) "ICMP_ECHO_REPLYING",
 			18
 		}
@@ -415,5 +415,5 @@
 	measured_string_t *configuration;
 	size_t count = sizeof(names) / sizeof(measured_string_t);
-	char *data;
+	uint8_t *data;
 	int rc;
 
Index: uspace/srv/net/tl/tcp/tcp.c
===================================================================
--- uspace/srv/net/tl/tcp/tcp.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/net/tl/tcp/tcp.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -154,5 +154,5 @@
 
 	/** Port map key. */
-	char *key;
+	uint8_t *key;
 
 	/** Port map key length. */
@@ -358,10 +358,10 @@
 	/* Find the destination socket */
 	socket = socket_port_find(&tcp_globals.sockets,
-	    ntohs(header->destination_port), (const char *) src, addrlen);
+	    ntohs(header->destination_port), (uint8_t *) src, addrlen);
 	if (!socket) {
 		/* Find the listening destination socket */
 		socket = socket_port_find(&tcp_globals.sockets,
-		    ntohs(header->destination_port), SOCKET_MAP_KEY_LISTENING,
-		    0);
+		    ntohs(header->destination_port),
+		    (uint8_t *) SOCKET_MAP_KEY_LISTENING, 0);
 	}
 
@@ -998,5 +998,5 @@
 	/* Find the destination socket */
 	listening_socket = socket_port_find(&tcp_globals.sockets,
-	    listening_port, SOCKET_MAP_KEY_LISTENING, 0);
+	    listening_port, (uint8_t *) SOCKET_MAP_KEY_LISTENING, 0);
 	if (!listening_socket ||
 	    (listening_socket->socket_id != listening_socket_id)) {
@@ -1022,7 +1022,7 @@
 
 	rc = socket_port_add(&tcp_globals.sockets, listening_port, socket,
-	    (const char *) socket_data->addr, socket_data->addrlen);
+	    (uint8_t *) socket_data->addr, socket_data->addrlen);
 	assert(socket == socket_port_find(&tcp_globals.sockets, listening_port,
-	    (const char *) socket_data->addr, socket_data->addrlen));
+	    (uint8_t *) socket_data->addr, socket_data->addrlen));
 
 //	rc = socket_bind_free_port(&tcp_globals.sockets, socket,
@@ -2109,5 +2109,5 @@
 
 	/* Copy the key */
-	operation_timeout->key = ((char *) operation_timeout) +
+	operation_timeout->key = ((uint8_t *) operation_timeout) +
 	    sizeof(*operation_timeout);
 	operation_timeout->key_length = socket->key_length;
Index: uspace/srv/net/tl/udp/udp.c
===================================================================
--- uspace/srv/net/tl/udp/udp.c	(revision acc7ce4f9be635e9051884b563142089f38803c4)
+++ uspace/srv/net/tl/udp/udp.c	(revision 61bfc370dac47cccde963c4beaae3f6a0a364c54)
@@ -104,9 +104,9 @@
 	measured_string_t names[] = {
 		{
-			(char *) "UDP_CHECKSUM_COMPUTING",
+			(uint8_t *) "UDP_CHECKSUM_COMPUTING",
 			22
 		},
 		{
-			(char *) "UDP_AUTOBINDING",
+			(uint8_t *) "UDP_AUTOBINDING",
 			15
 		}
@@ -114,5 +114,5 @@
 	measured_string_t *configuration;
 	size_t count = sizeof(names) / sizeof(measured_string_t);
-	char *data;
+	uint8_t *data;
 	int rc;
 
@@ -283,5 +283,5 @@
 	/* Find the destination socket */
 	socket = socket_port_find(&udp_globals.sockets,
-	ntohs(header->destination_port), SOCKET_MAP_KEY_LISTENING, 0);
+	    ntohs(header->destination_port), (uint8_t *) SOCKET_MAP_KEY_LISTENING, 0);
 	if (!socket) {
 		if (tl_prepare_icmp_packet(udp_globals.net_phone,
